Версия для печати темы

Нажмите сюда для просмотра этой темы в оригинальном формате

GBX.ru _ GB: Программирование _ Contra Force Advance

Автор: aa-dav Вторник, 30 января 2018, 13:56

Выделяю из предыдущей темы про руководство http://gbx.ru/?showtopic=121775 в новую отдельную тему, потому что наверное настало время. К проекту присоединился еще один человек с желанием перекрасить/перерисовать тайлсет.

Т.к. в предыдущей теме было уже написано довольно много, то оставляю ссылку на неё: http://gbx.ru/?showtopic=121775&st=40# Там на самом деле довольно много полезной информации.

Во вторых выделяю самую важную информацию:
Contra Force Advance - это открытый и бесплатный проект-урок по программированию на Game Boy Advance подытоживающий мою серию уроков http://hype.retroscene.org/blog/872.html. Contra Force Advace ставит своей целью перенос игры Contra Force с NES с целью создания новых уровней и улучшения графики (а возможно и геймплея) на Game Boy Advance.
Файл с последним сохраненным состоянием как уроков так и CFA (лежит в папке cf-adv) включая все исходные материалы и скомпилированные образы для GBA находится всегда тут: https://yadi.sk/d/djA-upj1-oc1hA

В файле !!!readme!!! находится краткая информация для тех кто хочет изменить ресурсы проекта и перекомпилировать его получив модифицированный образ.
Если возникают вопросы как сделать то или иное - всегда отвечу, можно задавать сюда.

За предоставление замечательного трека благодарю DarkMan007: http://darkman007.untergrund.net/covers.php

На форуме gamedev.ru недавно к проекту присоединился пользователь с ником Warentino, некоторые мои ответы на его вопросы тоже могут быть полезны, поэтому привожу ссылку: https://gamedev.ru/flame/forum/?id=227447&page=5#m71

Добавлено спустя 3 минуты:
Итак, на форуме gamedev.ru к проекту присоединился пользователь с ником Warentino с желанием перекрасить/перерисовать тайлсет (пока) персонажей. Первые его пробы пера выглядят на данный момент вот так:



для сравнения так выглядит CFA с оригинальным тайлсетом:


Автор: Blanshe Вторник, 30 января 2018, 17:41

Выглядит офигенно smile.gif
С учётом моей безумной любви к GBA, буду ждать обновлений и новостей по теме!

Автор: kitt Вторник, 30 января 2018, 17:45

ребята, вы молодцы. если завершите полноценный порт в играбельном виде, обязуюсь занести на пивко)

Автор: Iris Вторник, 30 января 2018, 19:46

Круто! Так держать! good.gif

Автор: aa-dav Среда, 31 января 2018, 07:38

Спасибо за отзывы.

Чтобы удобнее было работать с модификацией тайлсетов сделал возможность переключать тайлсеты спрайтов в игре на лету - сейчас альтернативный тайлсет спрайтов должен иметь в ресурсах имя mss-01X.bmp, а в игре они переключаются кнопкой SELECT:



(архив с проектом тоже обновлён)

Автор: aa-dav Воскресенье, 04 февраля 2018, 09:39

Доделываю гранатчиков, небольшая грантаная вакханалия:


Автор: Sergeant-86rus Воскресенье, 04 февраля 2018, 19:42

Игра действительно крутая. Плагиат не поддерживаю, а в данном случае вообще кощунство. ИМХО

Автор: Dark Ronin Понедельник, 05 февраля 2018, 00:06

Черт. Так захотелось Контры!

Автор: Iris Понедельник, 05 февраля 2018, 00:25

QUOTE (Dark Ronin @ Понедельник, 05 февраля 2018, 02:06)

Черт. Так захотелось Контры!
*

А ты любишь Контру? smile.gif я ни в детстве не справлялась с ней, ни сейчас не справлюсь (слабачка)! Но саму игру обожаю laugh.gif

Автор: aa-dav Понедельник, 05 февраля 2018, 11:00

QUOTE (Sergeant-86rus @ Вчера, 19:42)

а в данном случае вообще кощунство
*


А почему аж кощунство то?
Про плагиат вообще написано в !!!license!!!.txt, проект не преследует коммерческих целей, поэтому шанс активации описанного протокола я оцениваю довольно низким.
А вот шанс, что Konami возродит серию - еще ниже.

Автор: Hellmaker Понедельник, 05 февраля 2018, 12:46

Ребят вы молодцы! Нереально круто смотрится, аж прям носталжи по детству накатила sad2.gif

Автор: aa-dav Четверг, 22 марта 2018, 04:26

Поработал над проектом.
Переписал существенно систему сборки - теперь все ресурсы, включая исходники, разложены по подпапкам, временные файлы при сборке валятся в out/, так что сборка стала приятнее и опрятнее.
Ввёл концепцию переходных экранов и смерти - теперь игра просит вначале PRESS START... и можно умереть. Анимация смерти пока упрощенная, но уже есть.
Более интересно - ввёл актора "Spawner", который в стиле старой доброй Contra Force порождает на своём месте актора с введенными в TileEd свойствами.
То есть в TileEd мы делаем актора с типом "spawner" (всё маленькими), вбиваем ему все свойства как обычному актору, кроме того, что тип атора вбиваем в свойство spawnType - например как сейчас это "grenader".
Такой спавнер будет порождать актора с введенными в TileEd свойствами на своём месте всякий раз когда попадает на экран.
В оригинальной Contra Force такое поведение "респавна" конечно было вызвано банальной нехватой ОЗУ на консоли - информация о персонажах постоянно считывалась из ПЗУ катриджа, так что они всегда выпрыгивали из-за границ экрана как новенькие.
Здесь же все акторы хранятся в глобальном динамичном списке и чтобы добиться аналогичного аутентичного поведения потребовалось вот вводить актора "породитель (spawner)".
Так что в CFA возможны как спавнящиеся акторы в духе оригинала, так и глобальные акторы умирающие на карте один и раз навсегда.
Архивы как всегда обновлены, так что можно наглядно посмотреть в ресурсах как это делается.

Демонстрация (все акторы глобальны кроме самого правого, который порождается спавнером):


Автор: aa-dav Четверг, 03 мая 2018, 10:26

Внедрил коллизии, касания и платформы. Обваливающиеся, ездящие и комбинации.



В редакторе TileEd платформы должны иметь тип "platform", в свойстве liveCount можно указать число тиков (1/60 секунды) через которое платформа обвалится если на неё встанет игрок. Если не указано или равно нулю, то платформа не обваливается.
Если задано ненулевое свойство stepCount, то платформа будет ездить такое число тиков вперед, а потом назад в бесконечном цикле со скоростями по вертикали и горизонтали указанными в свойствах vx и vy соответственно. Скорости указываются в 1/256 частях пикселя за тик. То есть если в vy=0, vx=16 а в stepCount=1024, то платформа будет ехать со скоростью 60*16/256=3,75 пикселей в секунду 16*1024/256=64 пикселя вправо, а потом столько же влево и так в цикле. Положительные значения скоростей начинают перемещение вправо или вниз, а отрицательные - влево или вверх, смотря какая ось.

Автор: mazik Четверг, 03 мая 2018, 10:41

С перерисовкой тайлов идея провалилась?

Автор: aa-dav Четверг, 03 мая 2018, 10:53

QUOTE (mazik @ Четверг, 03 мая 2018, 10:41)

С перерисовкой тайлов идея провалилась?
*


Нет. Альтернативный тайлсет от Warentino с gamedev.ru лежит в файлах mts01X.bmp и mss01X.bmp в проекте. В самой игре тайлсеты переключаются по SELECT.
Вот видео с тем что имеем сейчас (лучше развернуть на весь экран или перейти в ютуб для большей площади картинки):



Однако он остался в итоге недоволен как перерисовал тайлы заднего фона и намеревался перерисовать, поэтому я не выкладывал видео про это. С тех пор он правда пропал, а я не тороплю, т.к. сам вот только вчера выкроил время для хобби. Но раз вопрос прозвучал - вот видео с текущим состоянием дел альтернативных тайлсетов. В принципе, повторюсь, если кто-то захочет сделать еще один, то проблем нет.

Автор: aa-dav Понедельник, 28 мая 2018, 08:36

Итак, Warentino с gamedev.ru доделал альтернативный тайлсет и как по мне так он весьма хорош:
(на ютубе лучше смотреть развернув окно)



Как обычно файлы проекта на яндекс-диске обновлены, так что можно полюбоваться вживую. Тайлсеты сейчас переключаются кнопкой SELECT.

Автор: aa-dav Понедельник, 17 сентября 2018, 12:45

Официально заявляю о прекращении работы над проектом.
Он так и остаётся полным open-source как материал для моего курса по введению по программированию на консоли Game Boy Advance - лицензия как бы BSD, так что любой может брать и сохраняя авторство и файлы лицензии курочить как душе угодно.
Можно обращаться ко мне за пояснениями даже - буду рад помочь кому-то. Если со временем контакты тут потеряются, то можно писать по этому поводу на моюl aa_dav соб-ка mail.ru
Сам, однако, перестаю проект развивать, потому что оглянулся на проделанное и понял, что имеет смысл копнуть в сторону коммерциализации. Но это будет уже другая история.

Автор: mazik Понедельник, 12 ноября 2018, 09:40

QUOTE (aa-dav @ Понедельник, 17 сентября 2018, 12:45)

Официально заявляю о прекращении работы над проектом.
Он так и остаётся полным open-source как материал для моего курса по введению по программированию на консоли Game Boy Advance - лицензия как бы BSD, так что любой может брать и сохраняя авторство и файлы лицензии курочить как душе угодно.
Можно обращаться ко мне за пояснениями даже - буду рад помочь кому-то. Если со временем контакты тут потеряются, то можно писать по этому поводу на моюl aa_dav соб-ка mail.ru
Сам, однако, перестаю проект развивать, потому что оглянулся на проделанное и понял, что имеет смысл копнуть в сторону коммерциализации. Но это будет уже другая история.
*

Ну блииин sad.gif

Автор: Blanshe Вторник, 13 ноября 2018, 05:42

Хотелось бы, чтобы кто-нибудь "перехватил" проект, все-таки, первоначальные версии существуют и код оставили.
Понаблюдаю за темкой немного.

Автор: aa-dav Суббота, 24 ноября 2018, 06:23

Пока ковыряюсь с переносом движка на Windows просто мимоходом запилил конвертор карт из картинок с сайта http://www.vgmaps.com/Atlas/NES/ в TileEd Map Editor (который использую).
Просто ради эксперимента, имхо, получилось забавно (сюрприз на 0:40):



Если кто-то разочарован тем, что не будет прямого порта на GBA, то может всё-таки обрадую - я собираюсь запилить самостоятельную игру "по мотивам" на стиме. Если получится, то небесплатно, конечно, но все мы знаем что есть "иные релизы" с коими я ничего не могу сделать. Так что возможно нет поводов для огорчений.

Автор: lps Суббота, 05 января 2019, 17:05

QUOTE (aa-dav @ Суббота, 24 ноября 2018, 06:23)

Если кто-то разочарован тем, что не будет прямого порта на GBA, то может всё-таки обрадую - я собираюсь запилить самостоятельную игру "по мотивам" на стиме. Если получится, то небесплатно, конечно, но все мы знаем что есть "иные релизы" с коими я ничего не могу сделать. Так что возможно нет поводов для огорчений.
*

GBA всё же жаль.

Автор: aa-dav Понедельник, 07 января 2019, 10:13

QUOTE (lps @ Суббота, 05 января 2019, 17:05)

GBA всё же жаль.
*


На базе моего исходного кода для сабжа уже давно делается другой проект для GBA: https://imgur.com/a/KbbVcI4
Судя по этим скриншотам разработка продвигается. У разработчика ник на разных ресурсах Cojam, иногда просит совета по программному коду, так что пожелаем удачи.
Вот тут еще есть: https://www.romhacking.net/forum/index.php?topic=27398.msg366799#new

Автор: aa-dav Четверг, 28 февраля 2019, 07:04

В рамках небольшого эксперимента решил закачать утилитой в движок третий уровень оригинальной игры и добавить в него параллакс: