Разработка и ромхакинг > Разработка игр
Project Contra - Sega Genesis / Mega Drive
TiberiyLTim:
Project Contra - временное название новой игры в разработке для Sega Genesis / Mega Drive. На самом ранней стадии разработки.
Первый тест:
Sophie Lhant:
ого, экранка
Mad:
--- Цитата: TiberiyLTim от 09 Январь 2018, 01:09:05 ---Project Contra - временное название новой игры в разработке для Sega Genesis / Mega Drive. На самом ранней стадии разработки.
Первый тест:
--- Конец цитаты ---
Какое отношение игра будет иметь к Контре? После увиденного ассоциации были скорее с каким нибудь Midnight Resistance.
emulander:
А на чем пишется SGDK/gendev или что нибудь из бэйсиков?
TiberiyLTim:
--- Цитата ---Какое отношение игра будет иметь к Контре? После увиденного ассоциации были скорее с каким нибудь Midnight Resistance.
--- Конец цитаты ---
Никакого вообще, просто один жанр (Run and gun) и пара фишек будет, типа выбора оружия и пр. Как уже заметили, игра больше на Метал Слаг смахивает. А получится вообще что-то другое... Короче, на что хватит умений.
--- Цитата ---А на чем пишется
--- Конец цитаты ---
На BEX, но юзаю много ASM вставок.
lupus:
Вот вам проект контра:
http://gbx.ru/?showtopic=127937&pid=2588320&st=0&#entry2588320
Другой уровень...
TiberiyLTim:
lupus, я не претендую на то, что мой проект недостижимого уровня. Лучше моей игры сотни игр в данном жанре. Понятное дело, что он многим уступает. Я тоже могу накидать ссылки на классные игры жанра, это не повод мне не идти в этом направлении, от простого к сложному. Тот проект интересный, кстати.
Мой пост сегодняшний с просьбой помочь мне понять, как делается эффект параллакса как на скрине, когда идёт линейное смещение для 3D-эффекта. Как приводится в соответствие слой, чтобы текстура не становилась месивом? Кто знает, объясните метод и/или накидайте ссылки на объяснение этой фишки.
Это я предположил, что переносится прошедший блок в начало, перед видимым экраном.
Просто нет опыта в этом.
Sharpnull:
TiberiyLTim, исходный код смотрите https://gamejolt.com/games/downforce/162163
--------
Он для старого SGDK написан. Например, VDP_setHorizontalScroll() отличается.
--------
Убрал лишний код, оставил только этот эффект. Думаю должно быть понятно. Графику не нашёл, поэтому просто сохранил в png-файл фон из эмулятора, а VDP_drawImageEx() устанавливает картинку с выгрузкой тайлов в VRAM, то есть что в png, то и будет на слое B. Документация к функциям в doc архива.
--------
Ещё немного объяснений:
В s16 raster3DBuffer[224][10] смещения каждой строки (224) для 10 кадров. Самая первая строка смещается быстрее всех, а чем ниже, тем медленнее. Но это по коду видно, как подбирать значения я не знаю.
TiberiyLTim:
В том то и дело, что не могу найти объяснения именно методу. Он не может работать на 320x224, только под 256x224? Дело в том, что область отрисовки 512 пикселей по ширине, а она на 2 не делится, так чтобы поглучилось 2 экрана по 320 шириной.
Sharpnull:
TiberiyLTim, почему не может, у меня и в оригинале экран 320x224, размер слоёв 64x32 тайлов (512x256). При этом фон 400x224, там ещё лишнее остаётся. В массиве абсолютные смещения от -44 до макс. -74, значит нужно 320+30 = 350 пикселей в ширину у картинки фона. Эти смещения повторяются каждые 10 кадров. Смотрите внимательней код.
Можно повторить такое если в фотошопе нарисовать картинку и смещать по строках, записывая значения. Смысл - зациклить анимацию, как в гифках.
Вообще, в данной игре сделано неидеально: на анимации видны неровности; памяти рома на смещения расходуется много - 4880 байт, когда можно 490 байта.
--------
30 пикселей - почти такое расстояние между косыми линиями в самом верху и низу, после чего анимация повторяется.
Чтобы не мучиться в фотошопе, можно просто посчитать расстояния между косыми линиями на каждой строке (в данном случае от ~30 до 20) и сделать линейную интерполяцию на нужное количество кадров анимации. Можно даже сделать генератор такого 3D-эффекта (фон и значения).
Sharpnull:
Написал простенький генератор на C#. Можно менять только макс. ширину и мин. ширину. Сохраняет картинку и смещения в текущую папку.
Анимация плохая так как сделана через таймер; много жёстко заданных координат; наклонные линии рисуются с больше чем одной точкой по горизонтали, что не очень хорошо для анимации (нужно писать свою функцию рисования линии).
TiberiyLTim:
Всё, до меня допёрло. Спасибо за утилиту, позже попробую, пока чет не запускается без 4.7.1 нет фреймворка...
Sharpnull:
TiberiyLTim, я не нашёл инфы по совместимости, думал раз рантайм (4) один и тот же, то может и на старых 4.x запустится. Было бы слишком круто. Сейчас последняя версия 4.7.2.
Забыл написать, там сохранение в background.png и background.txt без запроса на перезапись, так можно файла лишиться, если он есть в той же папки. Смещения без сдвига на -44 и они положительные.
TiberiyLTim:
Ищу музыканта, который сможет написать трекерную музыку в Vgm Maker. Возможна оплата 5-10$ за трек. Обращайтесь если можете поучаствовать.
TiberiyLTim:
Уже готова пара уровней и боссов:
Globotronik:
О, довольно неплохо. Если будет в свободном доступе - мб даже поиграю, если нет - все равно удачи
У кого деньги есть и не жалко, тот купит
TiberiyLTim:
Не успел доделать к 30-летию консоли. Ещё много работы:
Globotronik:
Ну вполне-вполне годно выглядит
Вряд ли, конечно, можно назвать хитом и шедевром, но если будет публичным достоянием - лайк
Уже даже появляются мысли, что купить бы мог при полном спокойствии за завтрашний день и небольшой цене
А не я, так точно кто-нибудь купит. И плохие игры покупают, а хорошие и подавно купят
-v-:
Больше похоже на Дюка Нюкема с Game Boy Color.
lupus:
Выглядит уже интересно, но графика... нужно искать нормального пиксель арт художника.
Навигация
Перейти к полной версии