russian ROMhacking
[ Новые сообщения · Участники · Правила форума · Поиск ]
  • Страница 3 из 3
  • «
  • 1
  • 2
  • 3
Форум ромхакеров » Около темы » Геймдев » В разработке новый шутер на Sega Genesis (клон Contra)
В разработке новый шутер на Sega Genesis
TLTДата: Воскресенье, 01.04.2018, 23:48 | Сообщение # 31
Генералиссимус
Группа: Администраторы
Сообщений: 1886
Статус: Оффлайн
Проболел март месяц, почти ничего не делал по игре.

Ченджлог:
Подкорректировал значение переменной для более точного определения коллизий пули противника с игроком в сидячем положении.
Сделал несколько мелких оптимизаций математики, убрав ненужные просчёты.
Нарисовал и добавил спрайт Противника 2.
Добавил несколько незначительных сабов с подготовками экрана: скроллинг на исходное положение и стереть фоны.
Протестировал на железе переключение оружия, выявился серьёзный баг, при коротком процессор зависает. Оказалось, что слишком много команд по пересозданию спрайтов в один цикл приводит к такому результату.
Случайные баги спрайтов на приставке Genesis 3. На Sega Mega Drive 2 на всех переключателях работает нормально. На клоне также. Посему проблема либо на всех Genesis 3 ли на конкретно моей модели. Странно. Также после взрыва противника происходит затормаживание, вероятно связано это с положением неактивных спрайтов.
Добавил на ASM метод изменения размера спрайтов налету.
Переделал систему выбора оружия.
Протестировал на железе – теперь не зависает, всё в норме.
Переделал алгоритм смещения противника 2, привязав его координаты к скроллингу, для чего ввёл дополнительные переменные.
Чтобы спрайт противника 2 не дёргался сместил его ниже вычисления смещения скроллинга, чтобы не запаздывал.
Добавил реакцию противника на пули игрока и столкновения, чтобы уменьшались его жизни и взрывался в конец.
Переделал спрайты смерти, поменял расположение графики.
Изменил некоторые переменные, переставил некоторые функции, чтобы реализовать смерть игрока.
Реализовал анимацию смерти игрока.
Решил проблемы не видимостью текст на экране с выбором продолжить игру или выйти после Game Over.
На экране Game Over реализовал текстовое меню с выбором пунктов.
Сделал сцену для кикстарта уровня с рядом обнулённых переменных для рестарт уровня.
Добавил файл шрифта, отформатировал текст на экране Game Over, добавил строку с очками.
Переставил ряд переменных для правильного обнуления.
Сделал анимированный фон (ряб телевизора) на заставке Game Over.
Сделал смерть игрока от падений в ямы и пропасть установкой проверки на координаты спрайта игрока.
Добавил удаление выбранного оружия в случае смерти. За исключением первого, стандартного.
Добавил выцветшие изображения видов оружия, которые показываются в HUD в зависимости, какое оружие доступно для выбора, а какое нет. Если доступно, то яркая картинка, если оружие недоступно – тусклая.
Сделал несколько мелких перестановок и корректировок, исправил несколько мелких ошибок.
Нарисовал и добавил 2 кадра анимации смерти игрока.
Переделал фон помех для экрана Game Over, изменил палитру под большее количество оттенков.
Добавил SRAM сохранения и прочтения Лучшего счёт, также добавил Лучший счёт за день (с запуска консоли).
Добавил надписи Лучшего счёта и Лучшего счёта за день, а также сдвинул надпись Текущих очков на экране Game Over.
Добавил палитру для текста на кране Game Over, настроил.
Добавил ряд Сабов, в том числе для обслуживания функции сброса, SRAM сохранения и читки.
Добавил горячие кнопки сброса Лучшего счёта, хранящегося в SRAM.
Исправил несколько багов с переменными в событиях Противника 2.
Добавил поведение Противника 2 и пули 2.
Сделал и добавил 3 спрайта вспышек из пушек врагов.
Сделал вспышку выстрелам игроков 1 и 2.

Прикрепления: 6939309.png(20.4 Kb) · 9841434.png(21.5 Kb) · 6910523.png(24.8 Kb) · 1617865.png(21.7 Kb) · 1613510.png(21.6 Kb) · 1558647.png(21.2 Kb)



Вот так.
 
TLTДата: Среда, 16.05.2018, 18:23 | Сообщение # 32
Генералиссимус
Группа: Администраторы
Сообщений: 1886
Статус: Оффлайн
Продолжаю делать игру:

Добавил переменную и сделал алгоритм удаления слоя спрайтовых пальм за экраном
Изменил тайлы скалы для отрисовки на первом уровне.
Изменил уничтожение пуль из-за параметров вылета пули а экран.
Добавил алгоритм появления новых врагов на уровне со скроллингом.
Расставил на протяжении уровня всех врагов типа 2.
Добавил на таймер и состояние переменных появление летающего врага типа 1.
Доработал алгоритм респавна летающих врагов, чтобы они не появлялись перед боссом.
Сделал автоматическое уничтожение летающего противника, если он есть на экране, перед боссом, чтобы освободить пространство.
Нарисовал и добавил спрайты босса 1.
Подправил коллизии противника 2.
Протестировал кое-что в VBlank. Неудачно.
Вывел на сабы некоторые элементы первого уровня, отделив оные от движка, чтобы в будущем использовать единый движок для всех уровней, отдельно подгружая те или иные элементы, касающиеся каждого уровня, когда он запущен.
Изменил несколько переменных.
Добавил проверку на переменную уровня при срабатывании коллизий для того, чтобы один движок работал на разных картах столкновений.
Заменил звуковой движок на первую версию, чтобы осуществить интеграцию плавного скроллинга.
Объединил эффект сотрясания во время взрыва в систему скроллинга, убрав оные из анимации взрыва.
Изменил систему скроллинга
Добавил кадр анимации гибели.
Сделал траекторию полета оружия игрока в анимации гибели в зависимости от флипа.
Сделал надпись StOP по нажатию Start в режим паузы.
Сделал мелкие корректировки, удалил спрайтовые пальмы.
Оптимизировал и переделал вывод надписи Pause и снятие оной.
Немного изменил алгоритм спрыгивания, малого прыжка с зажатой Вниз.
Добавил интеграцию всех имеющихся спрайтов, чтобы доступ к ним был качественный, и не вызывал глюки.
Сделал основу для уровня 2.
Сделал обращение к маске столкновения уровня 2. Нужно будет её после отрисовать…
Нарисовал двип, дорогу, джунги для уровня 2. Часть графики добавил и отрисовал.
Полностью нарисовал и вставил графику фона уровня 2, включил в сроллинг и сделал прочие мелочи, тип расстановки приоритета.
Подогнал под уровень 2 координаты игрока и маску столкновений.
Изменил систему активации управления, переместил на таймер.
Сделал вводный прыжок игрока.
Добавил смерть игрока от приземления на дорогу.
Оптимизировал карту столкновений уровня, удалил лишние данные для экономии места в ROM.

Прикрепления: 8890790.png(16.4 Kb) · 5720425.png(17.6 Kb) · 9780664.png(21.5 Kb)



Вот так.
 
NESphanДата: Четверг, 24.05.2018, 01:09 | Сообщение # 33
Лейтенант
Группа: Проверенные
Сообщений: 41
Статус: Оффлайн
Дамс, одному такой проект не поднять. Будешь ещё год делать?
 
TLTДата: Четверг, 31.05.2018, 16:22 | Сообщение # 34
Генералиссимус
Группа: Администраторы
Сообщений: 1886
Статус: Оффлайн
Цитата NESphan ()
одному такой проект не поднять. Будешь ещё год делать?

Да, сложно.

Кстати. сейчас ищу музыканта, который может написать музыку в трекере.



Вот так.
 
TLTДата: Суббота, 09.06.2018, 13:48 | Сообщение # 35
Генералиссимус
Группа: Администраторы
Сообщений: 1886
Статус: Оффлайн
Движемся потихоньку:

Исправил баг, что не правильно активировалась переменная контроля.
Добавил обнуление переменных таймера в кикстарты уровней, чтобы не случалось проблем с расписанием.
Изменил проверку нажатия кнопок для чит-кода на сброс очков и рестарт с экрана Гейм Овер.
Сделал несколько мелких исправлений.
Сделал остановку и возобновление скроллинга по VBLANK.
Сделал анимацию колёс джипа на уровне 2 по таймеру.
Сделал остановку и возобновление воспроизведения музыки по нажатию Start для режима паузы.
Исправил проблему с продолжающейся анимацией из уровня на экране Game Over, добавил переключение переменных и изменил считывание.
Удалил неиспользуемые куски графики джипа, которые дублировали колесо, добавил один тайл для недостающего куска для переднего колеса.
Сделал несколько мелких исправлений.
Сместил карту столкновения и отрисовку джипа на уровне 2.
Сделал систему смещения камеры и смещения джипа на уровне 2, чтобы можно было организовать сражение более динамично.
В 2 раза ускорил анимацию дисков Джипа уровня 2.
Решил проблему с обнулением линий скроллинга на уровне 2, сделав специальный саб на код обнуления.
Сделал мелкие доработки и исправления.
Реализовал общий саб на загрузку активного оружия в HUD.
Нарисовал и добавил спрайты бонуса.
Реализовал объект бонус с рандомным выпадением оружия и жизней.
Изменил управление спрыгивания, чтобы при зажатой стрельбе спрыгивание не работало.
Нарисовал и добавил графику босса для уровня 2.
Доработал объект бонуса: подправил коллизии, координаты появления частиц взрыва.
Добавил бонус на уровень 2 – на кузов джипа.
Исправил проблему остановки спрайтов относительно движения скроллинга во время смерти игрока.
Исправил баг с невозвратом экрана в исходное положение после сотрясения во время взрыва. Проблема возникала из-за того, что счётчик был в основном цикле, а код скроллинга в VBBlank. Вернул в основной цикл.
Изменил отрисовку пальмы на переднем плане, чтобы освободить место для графики спрайта противника 1, на которую она наехала. Убрал заплатку.
Подправил коллизии бонуса.
Нарисовал, добавил спрайты противника 4, добавил его на уровень 2, задал поведение. Осталось сделать выстрел и пулю.
Добавил графику босса на уровень 2, подправил.
Добавил имеющимся пулям противника 8 вариантов полёта каждой во все 8 сторон.
Добавил пулю 4 для противника 4, подправил координаты появления.
Отсортировал обработку объектов противников, сделал мелкие корректировки.
Добавил пулю 3.
Нарисовал и добавил спрайт противника 3, который должен быть 5, но я сделал перетасовку – поменял их местами.
Сделал основу для босса 1.
Добавил скрипт появления босса 1 и смещения оного с просчётом коллизий.
Сделал анимацию огня из турбины босса 1.
Доработал коллизии босса 1.
Сделал мелкие исправления реакций босса 1.
Сделал основу для стрельбы босса 1.
Исправил баг, что не исчезала пуля противника 4, привёл все имеющиеся пули к общему правилу уничтожения при выходе на 4 границы экрана.
Нарисовал и добавил 4 вида пуль для босса 1, включил переключение на оные при появлении активности босса, т.к. используются общие пули с рядовыми противниками.
Откорректировал координаты появления пули 4 и её вспышки из дула.
Увеличил размер коллизий для пули 4.
Добавил эффекты взрыва по смерти босса 1.
Нарисовал и добавил графику двух фаз разрушения босса 1. Надо будет прописать во взрывы.
Прописал процедуру разрушения босса.
Доработал коллизии бонуса.
Реализовал эффекты взрывов, смены палитр, удаление с экрана босса после смерти.
Сделал невидимым спрайт маркировочный босса.
Сделал несколько мелких корректировок и оптимизацию: сделал на единый саб повторные куски кода.
Исправил просчёт в карте столкновений уровня 2, чтобы персонаж в некоторых случаях не мог стоять на чистом воздухе без опоры.
Сделал основу для противника 3.
Полностью сделал противника 3, прописал появление, поведение, уничтожение.
Теперь осталось прописать расписание появления врагов на уровне, чтобы перейти к его завершению.
Добавил немного рандомности координатам взрывов.
Настроил расписание врагов на уровень 1.
Исправил неправильное появление некоторых врагов.
Исправил поведение противника 3.
Исправил неправильное пополнение жизней при взятие соответствующего бонуса.
Сделал уничтожение имеющихся врагов перед выходом босса.
Сделал фазы движения джипа по ходу уровня.
Сделал выход босса.
Добавил начальный диалог героя в начале уровня в виде облачка комикса.
Сделал единый хаб предстартового экрана для всех уровней.
Изменил ряд переменных в GameOver и прочих локациях.
Доработал концовку босса и уровня 2.
Имеющимся 4 пулям добавил варианты полёта в 2 раза быстрее.
Заменил врагам, стреляющим пули направо и налево, пули на быстрее.

Прикрепления: 2783121.png(22.0 Kb) · 3586014.png(25.2 Kb) · 9864700.png(23.6 Kb) · 2625326.png(24.1 Kb) · 8774739.png(24.5 Kb)



Вот так.
 
TLTДата: Четверг, 05.07.2018, 12:30 | Сообщение # 36
Генералиссимус
Группа: Администраторы
Сообщений: 1886
Статус: Оффлайн
Для музыканта:

Музыка нужна как для боевиков. Как пример можешь послушать оную из Contra Hard Corps на той же Sega Genesis. Т.е. динамичная мелодия для уровня и чрезмерно агрессивная для сражения с боссом.

Что касается тем, то уровни будут про: джунгли, езда на авто, мост, секретная лаборатория, логово монстра, лифт, пожар в лаборатории, едет поезд-метро, скролл-шутерный полёт над землёй, в космосе, база главного врага. Враги роботы, монстры-мутанты и пр.

Желательно, чтобы мелодии содержали некий эмбиент или ритм локации. Например, если едет поезд, чтобы рисунок мелодии был как "Электричка" В.Цоя - будто стучат колёса.

Я бы хотел, чтобы ты работал поэтапно, и сдавал мне каждую мелодию по мере готовности. Чтобы я не ждал, когда ты напишешь кучу... Например, за 1-2 недели сделал мелодию - дал послушать демо, я принял, делаешь следующую.

Продолжительность для музыки на уровне 2-3 минуты. В VGM Makere есть 6 FM дорожек и 4 PSG (шумогенератор). Это ограничения платформы (но мелодию можно пилить хоть лишь на шумогенераторе - зависит от умений и таланта, но думаю 5FM+4PSG каналов более чем достаточно) Ты должен будешь использовать всё, кроме шестой FM дорожки! (её я занял воспроизведением звуковых эффектов: стрельба, взрывы).



Вот так.
 
TLTДата: Среда, 18.07.2018, 22:06 | Сообщение # 37
Генералиссимус
Группа: Администраторы
Сообщений: 1886
Статус: Оффлайн
Всё ещё пилю. Ченджлог:

Исправил неправильные габариты столкновения пуль A и M, когда больший размер пуль имел меньшую коллизию.
Уменьшил количество жизней боссу уровня 1.
Протестировал на Sega Genesis 3. Вроде, всё нормально.
Исправил баг десятой пули игрока в некоторых случаях.
Сделал основу для уровня 3, который должен будет идти в игре вторым.
Сделал разномастные корректировки для запуска уровня 3.
Добавил 2 дополнительных спрайта пуль: 9 и 0.
Добавил 1 спрайт для рикошета пуль противников.
Прописал анимацию и прочие алгоритмы для организации рикошета пуль противников.
Вынес на отдельный саб коды обработки объектов пули врага.
Вынес на отдельный саб коды обработки объектов бонусов и комикс облачков с текстом.
Добавил систему расширения карты уровня 3. Добавил 3_1 маску.
Реализовал карты столкновения на 9 кусков для уровня 3.
Реализовал своевременное переключение карт столкновения из 9 кусков для уровня 3.
Сбалансировал и просчитал правильность уровня почвы.
Исправил баг в отрисовке одного элемента на уровнях.
Нарисовал все графические элементы фона для уровня 3.
Вставил и отрисовал все графические элементы уровня 3.
Сделал параллакс скроллинг фона уровня 3.
Оптимизировал остановку камеры в конце уровней 3 и 1, чтобы на эмуляторах не дёргался экран.
Подкорректировал конечную координату уровня 3, чтобы в правом конце нельзя было встать на невидимый блок.
Доработал наборы противников на всех имеющихся уровнях, чтобы они совпадали.
Привёл к единому сабу загрузку спрайтов на уровни.
Подправил стартовых врагов на уровнях 3 и 1.
Привёл к единому сабу загрузку переменных на уровни. Осталось доработать так, чтобы отличающиеся включались правильно относительно текущего уровня.
Подправил растановку спрайтов бонуса и врага 2 на уровне 2.
Подправил пулю босса уровня 2, чтобы она использовала другой спрайт и размер – слетело из-за переноса на общие спрайт.
Вынес обработку босса первого уровня в отдельный саб из общего сектора с обработками врагов, чтобы следующие боссы могли использовать эти же ресурсы.
Реализовал счётчик кадров в секунду - fps.
Протестировал разные системы стабилизации фреймрейта. Реализовал наиболее стабильно держащий фреймрейт на 59-60 кадров в секунду.
Протестировал на железе.
Сделал мелкие корректировки графики: лазерная пуля босса 1, второй слой джунглей на уровне 3.
Сделал мелкие корректировки координат.
Сделал отдельный саб для врагов уровня 2.
Нарисовал, проанимировал и добавил спрайт бегущего противника.
Добавил спрайт капота джипа и прописал его поведение в начале уровня 2.
Изменил приоритет отрисовки слоя пальм па переднем плане, чтобы взрыв был позади..
Добавил приоритет паре спрайтов эффекта дождя, чтобы был поверх всех фонов.
Обрезал пальмы, выходящие за экран снизу уровня 2.
Сделал анимацию удаления экранного шума на локации Game Over.
Добавил переменную ContinueGame прописал уменьшение со смертью персонажа, сделал учёт наличия континиусов для продолжения игры. Если 0, то меню не позволяет продолжить игру. Система Continue готова.
Подкорректировал координаты появления дождя, чтобы на PA-системах с высотой 240 он зазря не показывался ниже границ 224. Оптимизация, гуще дождь на экране и визуально лучше смотрится.
Нарисовал, разрезал на куски и добавил графику босса уровня 2, анимировал некоторые спрайты.
Сделал капот джипа поверх пуль за счёт использования спрайта дождя 5, который на этом уровне не используется.
Разместил в памяти и отрисовал тайлами основную часть босса уровня 3.
Отладил алгоритм дополнительного смещения бегущего противника при смещении камеры на него на уровне 3.
Устранил проблему мерцания спрайта бегущего противника. Выявил причину, почему в некоторых местах мигает появление противника 2 на земле.
Доработал поведение и появление противника 3 на уровне 2.
Клонировал противника 3 и все обслуживающие сабы ещё 3 раза, получив противников 5, 6 и 7 для уровня 2.
Протестировал противников поодиночке и волной сразу. Протестировал и подтвердил правильность работы ускорения бега в конце уровня при застопоренном сроллинге. Всё норм, только фреймейт подсаживается в среднем на 5 кадров.
Сделал основную часть расписания уровня 3.
Добавил в конце уровня волну противников: 4 бегущих противника одновременно на протяжении 16 секунд.
Добавил выход босса после волны противников.
Добавил появление комикс окошка с текстом пред волной противников и после, перед выходом босса.
Протестировал на эмуляторах.
Изменил систему отображения комикс-окошка персонажа, изменил оную для трёх имеющихся уровней.
Добавил спрайты 3х диалогов персонажа на уровне 3.
Добавил уничтожение летающего врага перед выходом босса уровня 3.
Добавил корректное появление спрайтов босса уровня 3, чтобы они были синхронны с тайловой частью босса.
Добавил анимацию огня сопл босса уровня 3.
Переставил инициализацию спрайтов босса уровня 3, чтобы они были позади спрайтов пуль игрока.
Добавил обслуживающие босса уровня 3 сабы на алгоритмы поведения.
Реализовал для босса уровня перемещение вперёд-назад.
Реализовал систему анимации (поворота в сторону игрока) пушки по алгоритму исходя из координат пушки и игрока.
Реализовал стрельбу очередью из 3х пуль в трёх положениях пушки.
Исправил грамматическую ошибку в написании одной переменной во всём исходнике.
Добавил проверку на переменную для появление второго бонуса, чтобы он на одном событии не создавался бесконечно, подвешивая процессы.
Сделал мелкие корректировки.
Добавил спрайт обслуживающий хитбокс для босса уровня 3.
Нарисовал и добавил 3 сета по 7 кусков для повреждений босса уровня 3.
Взрывы сделал спереди частей (сопла двигателей) босса уровня 3, чтобы не перекрывались.
Сделал корректировки для оптимизации выполнения ИИ боссов уровней 2 и 3.
Для босса уровня 3 заменил триггеры действий.
Добавил реакцию на попадания боссу 3, чтобы тот разрушался и взрывался по частям.
Изменил координаты начальной позиции персонажа и добавил анимацию спрыгивания с капота джипа в начале уровня.
Сделал саб на алгоритм стрельбы босса уровня 3, добавил в зависимости от установки сложности игры стрельбу одной или тремя пулями. Если сложнее нормы, то тремя стреляет.
Сделал мигание игрока при попадании, заменил все реакции на столкновения игрока с пулями и врагами.
Перенести скроллинговые команды двух имеющихся боссов первого уровня в соответствующий саб, заносящийся в вертикальный бланк.
Сделал завершение взрывов босса уровня 3 и уборку оного с экрана, прописав расписание анимации, палитр и пр.
Сделал завершение уровня 3 после уничтожения босса уровня.
Сделал вылет летающего противника из разбивающейся кабины босса уровня 3.
Добавил принудительный показ спрайтов взрыва 1 для противника, если взрыв уже четвёртый на экране. Т.к. всего 3 набора взрывов, которые могут показываться одновременно на экране. Четвёртый взрыв прекращает первый и воспроизводит его на месте четвёртого уничтоженного объекта.
На уровне 1, который идёт третьим, показываются артефакты при мигании игрока, посему перенёс координаты пустых тайлов для спрайта игрока на 40 больше.
Сместил тайлсет пушки для босса уровня 3 на 1 тайл больше, чтобы не оставлять неиспользуемое пространство в памяти.
Исправил артефакт мигания игрока с артефактами, переставив пустой спрайт.
Подправил боссу уровня 3 координаты появление врага из кабины.
Сместил бонус на уровне 1 в правильное положение, чтобы не висел в воздухе.
Сделал тряску экрана отдельно включаемой. Добавил на взрывы босса уровня 3.
Исправил баг на уровне 1 – неправильно отрисовывалася фон с пальмами.
Убрал начисление очков с бесконечных противников уровня 3 внесением корректировки в в общий алгоритм.

Прикрепления: 6940560.png(21.6 Kb) · 6489316.png(22.7 Kb) · 0536518.png(27.8 Kb) · 9666146.png(25.6 Kb) · 2150637.png(24.0 Kb) · 4661937.png(21.7 Kb) · 4604381.png(2.1 Kb)



Вот так.
 
Форум ромхакеров » Около темы » Геймдев » В разработке новый шутер на Sega Genesis (клон Contra)
  • Страница 3 из 3
  • «
  • 1
  • 2
  • 3
Поиск: