Ключевые события: 00:08 Первый уровень. Выдвигаемся! 00:13 Наша первая жертва! 00:19 Пистолет - эпическая прокачка до бронебоя. Держитесь враги! 00:39 Получена каска - теперь всем хана 00:56 Выдвигаемся на второй уровень 01:03 Подготовка позиции обороны. В кольце врагов! 01:35 За КОРАБЛЁМ! 01:40 Прорыв нашей обороны. Ломимся на защиту штаба 01:56 3й Уровень 02:05 Месим как слепых котят 02:42 4й Уровень 02:47 Работа - не бей лежачего. Прицельный огонь 03:44 5й Уровень. Мясо! 04:34 6й Уровень. 04:44 Тактическая ловушка. Первый танк потерян. Теперь силы не равны. 04:52 Прорыв обороны. Враг наступает со всех сторон. 05:02 Атака отбита. 05:15 Обездвиживание вражеской техники. 05:20 Проход к штабу врага. Как волк в курятнике! 05:42 7й Уровень. 06:00 Все под контролем 06:20 Спешка - наказывает 06:45 Нас остановили!!! Но ненадолго 07:04 8й Уровень. Подготовка позиций. 07:20 Проход в тыл врагу 07:30 Острые моменты 07:57 9й Уровень. Подготовка позиций. 08:05 Скользкий крендель 08:30 Расфигачиваем все сонное царство 08:55 10й Уровень. 09:00 Потрошение кур 09:39 11й Уровень. 09:43 Опасный живчик - роковая ошибка!!! Снес защиту штаба! 10:05 Атака со всех сторон! 10:10 ПАНИКА! 10:15 Отчаянная попытка устоять 10:20 АААА!!! Штаб взорван врагом!! Нам каюк GAME OVER
В этой версии танков, где враги берут призы, важно не давать противникам взять звезду иначе они разобьют все поле за считанные секунды. Игра запускалась на эмуляторе FCEUX. Скачать можно тут. Про историю танков тут
Кто проходил танки из 90х, расскажите о своих воспоминаниях?
Всем привет. В этом посте я расскажу о своем первом опыте разработки игры для моей любимой консоли из детства под гордым названием денди (хотя раньше мы их приставками называли, но сейчас уже терминология устоялась). Далее вас ждет много интересного, так что заготавливайте вкусняшки.
Логотип консоли Dendy
История создания игры
Идея создать свою собственную игру для денди появлялась у меня довольно давно, но плотно занялся я этим вопросом только в конце 2022го года.
Основным стимулом для разработки игры послужило мое желание создавать свои модули расширения для консоли, так как для денди их практически не выпускалось, а у меня по этому поводу есть много идей и планов (модуль подключения обычно клавиатуры, модуль выхода в интернет и т.д.).
Изначально была поставлена задача написать хотя бы "Hello, World", который я мог бы запустить на эмуляторе. Но, начав читать переводной курс по разработке игр для денди на языке Си на хабре, мне удалось написать простейшую программу всего лишь за полчаса. И этого мне показалось слишком мало.
Более-менее освоив курс статей с хабра за 2-3 недели, в конце января 2023го было принято решение разработать пошаговую стратегию про стимпанковых мехов для закрепления навыков. Думал, что ограничусь созданием минимального геймплея, но разработка зашла немного дальше.
Такой сеттинг и жанр я выбрал, так как люблю пошаговые стратегии, стимпанк и игры про мехов (фронт мишн ван лав). Тем более у меня были наработки на эту тему в плане механик и немного лора (я делал наброски подобной игры для современных компов, но забросил).
В итоге с начала февраля 2023го началась активная разработка игры и продолжалась она до середины апреля (далее у меня появились более важные дела и игру пришлось отложить до лучших времен).
Игру я хотел анонсировать еще летом, так как базовые механики уже работоспособны и она проходима (хотя конкретно концовки у игры нет, можно просто пройти все уровни и прокачивать меха). Есть даже примерочный открытый мир, но он будет полностью перерисован и доработан.
Скриншот боевого геймплея актуальной версии игры
Особенности разработки игры для Денди
Разработка игр для NES/Famicom консолей является крайне специфическим занятием, так как требует понимания работы приставки на аппаратном уровне, что для многих является отталкивающим фактором. Но, так как у меня есть опыт разработки софта для микроконтроллеров, эта особенность для меня была не слишком критична.
Далее стоял вопрос о инструментах для разработки игры. Традиционно игры для денди пишут на ассемблере, так как ресурсы консоли очень ограничены и важен каждый такт процессора и каждый байт памяти. Я мог бы писать и на ассемблере, но это затянуло бы проектор и увеличило шансы к его забрасыванию на свалку истории.
В итоге я выбрал компилятор CC65, который позволяет писать код для денди денди на языке си. Этот компилятор поддерживается до сих пор и регулярно выходят обновления.
В качестве среды для разработки я выбрал Visual Studio Code. Для удобной сборки и запуска проекта был написан батник и добавлены горячие клавиши (но это тоже тема для отдельного поста). Так я собираю проект и запускаю его в эмуляторе нажатием одной клавиши на клавиатуре.
Глубоко закапываться в технические особенности консоли и разработки под нее я не хочу, так как ресурс все-таки развлекательный. Хочу отметить только несколько основных особенностей.
Вся графика состоит из тайлов 8х8 пикселей. При этом каждый тайл может использовать только 3 цвета и один прозрачный цвет (прозрачный цвет отображает цвет фона, а цвет фона определяется определенными битами регистров палитр).
Это значит, что требуется сводить все используемые спрайты к трем цветам, но если если спрайт состоит из нескольких тайлов, каждый тайл может использовать разные палитры (примерно так же это работает и для фона, но там немного сложнее).
Поэтому, если вы хотите вывести случайную картинку в формат NES, то ее нужно свести в формат 4 цветов и до нужно разрешения (256×240 пикселей). Вот пример преобразования картинки в формат, который уже можно вывести в вашу игру:
Реальное фото я преобразовал в денди формат (фото использовано с разрешения автора)
Подготовку изображения в почти автоматическом режиме легко сделать в фотошопе или гимпе (я использую гимп).
Но самая сложная часть разработки - это рисования пиксель арта в условиях очень низкого разрешения и ограниченности в количество цветов.
Для первых версий игры я использовал готовые спрайты из Front Mission без дополнительной подготовки. Они выглядели так себе, так как игра выходила на 16-битных консолях. Вот так это выглядело:
Спрайты меха в разных положениях
Когда я показывал людям эти спрайты и не уточнял, что это такое, большинство говорило, что похоже больше на месиво пикселей (я с этим согласен, меха там разглядеть сложно).
Но для тестов мне таких спрайтов хватало. И после рисования сетки поля я решил ее немного украсить травой, что в итоге породило вот такое кислотное чудо:
Скриншот режима битвы одной из ранних версий игры
На скриншоте выше видно, что трава действительно вышла даже немного симпатичная и в меню я тогда использовал некрасивые рамки.
Помимо режима битвы в игру был добавлен режим открытого мира. Карту мира я набросал довольно быстро и больше ее особо не переделывал. Выглядит она на данных момент вот так:
Временная карта мира
На карте мира каждая локация обозначена постройкой и войти в нее можно с помощью нажатия кнопки "A" на геймпаде. Локация в верхнем-левом углу - это локация-хаб с магазином, а остальные запускают сценарий битвы при входе (в каждой локации разный набор врагов, они отличаются комплектацией мехов и их количеством).
После того, как основные механики были реализованы, был начат процесс перерисовки мехов.
Как я уже говорил, одновременно можно использовать 3 цвета и один прозрачный цвет, который использует цвет фона. 3 цвета на при разрешении 16х24 пикселя на одно меха - это очень мало.
Поэтому я использовал решение, которое дало мне дополнительный цвет. Для этого я отказался от травы на экране и залил весь экран черным фоном. Это дало мне черный четвертый цвет для рисования мехов. Т.е. если я делаю прозрачный пиксель в спрайте, он выглядит как черный. Это позволило нарисовать более-менее адекватных мехов, которые выглядят как мехи. Вот так это выглядит в редакторе:
Спрайты мехов с использования прозрачных пикселей с черным фоном
Уже намного интереснее, но для анимации ходьбы нужно нарисовать для каждого положения по два спрайта (этим я пока не занимался, так как такой мелкий пиксельарт приходится рисовать буквально по пикселю, это очень муторно).
Многие технические ограничения консоли можно обойти за счет использования мапперов, но я пока обхожусь без него, так как хочу сделать создание реального картриджа максимально дешевым и простым. Стараюсь уложиться в стандартные 32 килобайта (место я потратил еще не все, музыка и прочее туда должно поместиться, тем более многое можно оптимизировать).
Резюмируя особенности разработки, можно сказать, что разработка игр для ретро-консолей особо ничем не отличается от разработки программ для микроконтроллеров. По этой причине постоянно приходится смотреть даташиты, описывающие разные узлы консоли.
Механики и ЛОР игры
Игра представляет собой классическую пошаговую стратегию, основанную на механике использования очков действия (AP). Каждое действие тратит очки действия, примерно как в лучшей в мире игре Fallout 2 (только у меня клетки квадратные). Система с фазами (как в X-COM) мне нравится меньше.
Панель, которая отображает состояние деталей меха и количество очков действия.
В режиме битвы игрок управляет своим мехом и пытается уничтожить вражеские мехи. Мех считается уничтоженным, если он лишается тела или обеих рук (без рук мех бесполезен). При этом, если мех лишается головы, он сильно теряет в точности, а если у него взрываются ноги, то он не может передвигаться. Битва заканчивается уничтожением всех вражеских мехов или гибелью игрока. Если игрок побеждает, он получает деньги за каждую сохраненную деталь вражеского меха.
Все оружие в игре делится на 4 типа:
Рукопашное оружие (может атаковать на одну клетку и есть возможность выбора точки атаки)
Пушки (наносят урон по случайной части меха с расстояния)
Снайперское оружие (наносят урон с расстояния и имеют возможность выбрать деталь вражеского меха для атаки)
Дробовики/картечницы (наносят урон по нескольким случайным частям меха)
Возможно будут еще какие-то типы оружия.
Вот пример меню выбора части меха для атаки:
Меню выбора части меха для нанесения по ней урона
Еще есть режим осмотра мехов (отображает имя, состояние частей меха и вооружение):
Режим осмотра меха, очки действия не тратит (Но может должно тратить?)
В режиме перемещения вы перемещаете меха курсором (каждый шаг тратит одно очко AP). Кнопка 'A' подтверждает перемещение, а кнопка 'B' возвращает меха на начальную точку (отменяет перемещение).
Механика использования экипировки пока не реализована.
Следующей важной частью игры является прокачка меха.
Вот так выглядит список доступных мест в локации-хабе:
Выбор места для посещения в хабе
А вот для примера магазин оружия:
Магазин оружия
Кнопка А покупает оружие в правую руку, В в левую, а Select возвращает вас на карту мира.
Вот мы и рассмотрели все основные особенности игры. Остальное вы можете попробовать сами используя эмулятор (ссылку на скачивание эмулятора и рома игры я дам в конце, если пикабу ссылки не уберет).
Планы по развитию игры
Планов по развитию игры у меня довольно много. Давайте приведу основные планы в виде списка:
Создание нормальной карты мира и проработка локаций на ней
Динамические анимации движения мехов в режиме битвы
Создание возможности ходить персонажем по хаб-локации и общаться там с людьми (но это сильно упирается в 32 килобайта памяти)
Написание лора с сюжетом и добавление его в игру
Создание диалоговой системы
Добавление звуков и музыки в игру (музыка на денди особенно специфическая штука)
Добавление новых спрайтов для мехов
Добавление различных построек и препятствий в режиме битвы (для оживления поля битвы)
Улучшение ИИ и добавление новых механик в битву
Расширение количества доступных частей и оружия для мехов
Режим игры для двоих игроков (PvP и PvE)
Для первого поста и анонса игры, я думаю, информации более-чем достаточно. Очень жду ваших предложений и замечаний по игре. Весь этот текст был написан в первую очередь ради получения обратной связи от потенциальных игроков, так как я не могу знать, что нравится другим людям, а исходить только из собственных соображений - это путь в никуда.
Поэтому жду вас в комментариях, готов ответить на все ваши вопросы. Спасибо за внимание.
Список основных ресурсов, которые я использовал при разработке:
А вы помните такую игру «Айс Климбер» на Денди, про приключения двух Эскимосов Попо и Нана, которым приходилось воевать за свои овощи, с диким зверьём!?😁😅
Игра Крутые коты это история о о коте Вилли, который должен разыскать свою потерянную даму сердца. Но несмотря на множество врагов, наш герой не падает духом. Вооружившись своим незаменимым оружием - боксерской перчаткой с мощной пружиной, он отважно отправляется на улицу, где таит множество опасностей, поджидающих его на каждом шагу. Но ради любимой он готов на все!
Игра Chuka Taisen, на игровую приставку Денди. Игра также известна под названием Cloud Master (Облачный мастер) но в России больше известная под третьим названием China Fairy (Китайская Фея).
Игра в жанре «скролл-шутер», выпущенная компанией Taito, на игровую платформу NES (Dendy) и Sega, в 1989 году. Младшая версия для 8-битных консолей не сильно уступает по графике 16-битной версии. Полное видео-прохождение игры есть на Дзене; https://dzen.ru/video/watch/65130e31b4b1fc71d32a5dcd
До встречи с ней, я считал, что игры - это, в лучшем случае, "беги слева направо и убивай все, что встречается по пути". Подобные игры бросали вызов, в основном, реакции и памяти, а сюжет в них был, хорошо, если просто для галочки. Иногда его там не было и вовсе.
И это, ни в коем разе, не упрек. Среди этих игр - огромное количество отличных проектов: P.O.W., Contra, Bucky O'Hare, Wacky Race, Super Mario bros 3, Adventure island со второй по четвертую части, да Mitsume ga Tooru в конце-то концов…каждый, чье детство пришлось на 90-е и начало нулевых без труда сможет дополнить список своими детскими воспоминаниями. Но вот такую игру, как Metal gear, игру, настолько отличающуюся и геймплеем, и проработкой сюжета, и сложностью уровней, я в тот момент встретил впервые.
И о ней у меня сохранились приятные воспоминания. Я провел далеко не одну неделю, просиживая перед телевизором часами, в попытках пройти ее…но так и не смог. Вся беда - в картах доступа и дверях, которые ими открываются. Собственно, это главная особенность изучения локаций: находишь ключ-карту - и бегом по всем ранее встреченным дверям, искать к какой из них она подойдет. Так как с английским на тот момент было ну совсем плохо, то Снейк под моим руководством, оправдывая свое звание новичка, успешно заблудился в первой трети игры. Хотя вполне возможно, что за мои страдания стоило поблагодарить пиратов, криво взломавших игру, и сделавших невозможным прохождение. Правды, я скорее всего, уже не узнаю.
Так вот, когда я увлекся коллекционированием, и начал составлять список игр на покупку, то почти сразу же вспомнил о тех эмоциях, что мне подарила мне игра. Поэтому приобрел ее одну из первых.
Вот, кстати, и она. Обратите внимание, что издатель - Ultra Games. На самом деле - это та же Konami, но вид сбоку. Таким образом японцы обходили политику контроля качества игр Nintendo, заключающуюся в ограничении количества выпускаемых игр в год на консоли.
Удивляет желание Nintendo, выпускать игры в картонных коробках. Скорее всего дело в экономии, но ведь та же Sega очень долго, практически до конца жизни пятого поколения консолей держалась, выпуская свои игры в пластиковых боксах. Конечно, сейчас, вы можете меня ехидно спросить - Ну и где теперь твоя Sega? - и будете абсолютно правы, но все ж, на мой взгляд, решение крайне спорное. А для коллекционеров в наше время так и вовсе - отвратительное. Очень уж мало остаётся экземпляров в хорошем качестве и их цены не всегда совместимы со стабильным режимом питания.
Главное, что тут есть карта. Как же мне не не хватало в детстве.
Возвращаемся к нашей истории. Оказывается, что не все разделяют мой восторг по по поводу этой игры. Есть и такие люди, которые так ее не любят, что аж кушать не могут. Один из них - сам создатель франшизы Metal gear - Хидео Кодзима.
Терпел он долго. Но в 2011 году в интервью журналу Nintendo Power таки высказал все, что он думал.
Вот несколько высказываний из этого интервью.
"К созданию версии для NES я не имел вообще никакого отношения"
"Эта версия игры – убогая поделка, наспех слепленная маленькой токийской командой за копейки"
"Я купил эту игру по скидке,попытался в нее поиграть, но она ужасно сделана"
"Моей репутации этот релиз только навредил"
Комментарии, как говорится, излишни.
Что же так разозлило японского гения? Давайте разбираться.
Для этого придется отпрыгнуть немного в прошлое…
Итак, за окном снова 1987 год. Молодому и перспективному разработчику Хидео Кодзиме предложили взять руководство над созданием шутера для MSX 2, очень популярной платформы, правда, лишь на территории Японии.
Так как на тот момент за его душой были лишь игра, разработку которой прикрыли, и ещё один проект, с которого его просто сняли, то нынешняя разработка являлась, возможно, последним шансом доказать свою состоятельность в игровой индустрии.
Идея с шутером забуксовала уже на старте - многочисленным идеям будущего гения мешали технические ограничения компьютера. И тогда он предложил другой путь: пусть главный герой будет не суперсолдатом, косящим всех супостатов очередями, а слабым, уязвимым, делающим ставку на скрытность. На тот момент такой подход к геймплею не был в почете, поэтому руководство компании долго сопротивлялось, но все же пошло навстречу.
Но даже с поддержкой боссов создание игры шло с большим трудом - Хидео Кодзима хоть и был поставлен руководить проектом, но он был очень молодым и остальные члены команды относились и к нему, и к его идеям с предубеждением.
Помимо нового для того времени геймплея, где предлагалось, не бежать напролом, держа палец на спусковом крючке, а уделять большое внимание поиску и изучению территории, оставаясь при этом, по возможности, незамеченным, Кодзима придумал и полноценную сложную историю с сюжетными ходами в духе: "Вот это поворот!"
В общем, судя по различным интервью, кажется, что в команде на Хидео в тот момент смотрели как местного дурачка и подчинялись только из-за того, что его назначили старшим, а иерархия в японском обществе - это своеобразный стержень, на который нанизано все остальное.
Однако, упорство все ж взяло свое, и несмотря на все сложности, ему все же удалось создать…ну не хит, но очень крепкую игру. А если учесть, что в 1987 году выходили такие игры как Contra, Double Dragon, Castlevania, Final Fantasy, Megaman… то уже факт, что игра не затерялась среди них - дорогого стоит.
Создание Metal gear стоило Хидео Кодзиме чудовищных затрат сил и нервов, но по итогу полностью окупило себя. В Konami в него поверили и дали зелёный свет на дальнейшие самостоятельные проекты.
Вот и казалось бы и все. Хэппи-энд.
Но не тут то было. Руководители Konami посмотрели-посмотрели на игру и решили, что негоже оставаться ей эксклюзивом в Японии, и стоит попробовать выпустить ее в Северной Америке и Европе. На набирающую там популярность NES.
Портирование доверили начинающему разработчику Масахиро Уэно и дали на все про все три месяца. Ну, по крайней мере, он сам так говорит в интервью Hardcoregaming101. Надёжный же план. Надёжный как те самые часы. Если все всё правильно поняли. Вот что могло пойти не так? Это сарказм, если кто не понял.
И тут мы вплотную подбираемся к истокам претензий Кодзимы.
При переносе игра подверглась огромному количеству изменений. Причин для этого было множество: от технических различий платформ, все ж MSX - это компьютер, до банальной прихоти программистов и руководства.
Помимо мелких визуальных изменений, в глаза бросаются несколько значительных, да что там "значительных"... полностью меняющих всю изначально заложенную идею :
Во-первых, изменили начальные локации игры. На MSX Снейк проникал на базу по воде, а в NES - Снейк в компании товарищей по опасному бизнесу на парашютах спускается в джунгли. Куда друзья деваются потом, история умалчивает. Сами джунгли и начало базы - тоже появились только при портировании. И, судя по рецензиям, ими мало кто был доволен. В новых локациях приходилось постоянно бегать по длинным туннелям, заканчивающихся тупиками, а джунгли при выборе неверного направления были и вовсе бесконечными.
Второе, и, наверное, это самое обидное. Кодзима в серии MGS очень любит ломать четвертую стену. Вспомнить хотя б моменты с Психомантисом из первого Metal gear solid. Так вот, начало это берет именно в первой части. Когда Снейк подбирается к раскрытию тайны, то Биг Босс после нескольких попыток сбить нашего героя с толку, командует уже непосредственно нам выключить MSX.
А в версии на NES - всего лишь требует от оперативника прекратить миссию.
В-третьих, из игры, которая называется Metal gear, взяли и убрали этот самый Метал Гир. Вроде бы по сюжету он где-то есть, и мы его упорноищем, но в итоге находим лишь гигантский компьютер, и от безвыходности уничтожаем его.
Ну и главное - Полностью изменили сюжет.
Быстро напомню, что там в оригинале. Было в Южной Африке такое государство как Аутер Хэвен, основанное таинственным, но тем не менее, известным наемником. И вот в этой стране начало твориться нечто странное. Чтобы разобраться в чем дело, правительство США отправляет лучшего члена секретного спецподразделения провести разведку. Но единственное, что дождались - это сообщение: "...Metal gear". После чего агент пропадает без вести. Следующий на очереди - новичок подразделения Снейк. За него мы и играем. Снейк, на удивление, справляется с задачей и уничтожает Метал Гир, попутно раскрывая личность командира наемников.
Но почему то в Konami подумали, что подобный сюжет не увлечет западных игроков.
Так что давайте глянем в руководство североамериканской версии, где по традиции разработчики поместили подробное описание сюжета.
Так… что у нас там?
Полковник Вермон КаТаффираньше был простым пастухом. Его детство прошло вместе с 27 сестрами на берегу реки Сам-Сам во Внешней Монголии. Террористом стал еще в юности. (Наверное, если ты единственный мальчик на 27 сестер в семье, то стать террористом - не самый плохой вариант. Также забавно, что у террористов есть военные звания.)
Долгие годы он мучил всех кто попадался под руку, а после захватил Аутер Хэвен - страну в Южной Африке. Ну и, разумеется, стал там единоличным правителем и тираном. За пару месяцев избавился от всяких демократических институтов, отменил выборы и превратил мирных крестьян в террористов. (Видимо, очень эффективные курсы подготовки)
Не остановившись на этом, КаТаффи построил "Непревзойденное Супероружие", тот самый Метал Гир. Теперь его надо найти и уничтожить. (То есть Метал Гир все ж существует)
В общем, они полностью выбросили историю, сочиненную Кодзимой, заменили Биг Босса - Вермоном КаТаффи, для Америки 80-х годов - вполне логичная отсылка на понятно кого. Более того, если верить руководству, командира спецподразделения к которому относится наш герой зовут командир Саут, то есть главный сюжетный твист оказался также выброшен на свалку.
По итогам всего это остаются сплошные вопросы…
Испортил ли Масахиро Уэно игру?
Наплевал ли он и, в целом Konami, на все усилия, что приложил Хидео Кодзима для того, чтобы эта игра увидела свет?
А может действительно уловил то, что хотят видеть западные игроки и удачно адаптировал игру под их менталитет? Ведь не стоит забывать, что это сейчас многое из Японии модно и популярно, а в 1988 даже на аниме смотрели как на странную заморскую дичь.
Ведь, по большому счету, это мы сейчас может увидеть насколько изменили игру при портировании. А для большинства американцев того времени это было полностью самостоятельная игра со своим каким-никаким, но сюжетом.
Наверное, сейчас мы может понять как приняли игру на западе лишь оценив ее коммерческий успех. И то, как ее приняла публика.
А тут все радужно - более миллиона проданных копий. И огромное желание игроков увидеть сиквел, который не заставил себя ждать.
Так что вопросы остаются без четких и окончальных ответов. А значит, каждый из нас вправе сам решить чью сторону ему выбрать.