Разработка и ромхакинг > Разработка игр
[SMD] Battle City (форк от battlecity-md от KRIKzz)
Werton:
Приветствую, с праздником всех! :drinks:
Начну из далека, недавно приобрел недоклон sega genesis, на котором среди прочих встроенных игр оказалась Battle City - MD v1.03 за авторством не безызвестного товарища Krikzz’a. Раньше я с этой версией «танчиков под сегу» не сталкивался, возможно бывалые форумчане помнят эту реализацию (кому интересно, соответствующая тема есть на форуме). Как оказалось, написал он на Си с использованием ранней версии SGDK (тогда он назывался Genesisdev) еще в далеком 2009-м году (как время то летит!) и уже давно, во всю, торгуется пиратами в составе сборников.
Задумка была сделать как можно более точную копию оригинальной версии Battle City c NES, без использования неоригинальных фишек из хаков типа Tank 1990 (хотя многие просили их добавить). В принципе, за исключением отдельных моментов (упомянуты в той теме) все было сделано как и задумывалось, исходники были выложены в открытый доступ на радость публике (опять же кому интересно можете их качнуть на сайте Krikzz’a, если только найдете :D )
Соответственно топиковая версия основана на этих исходниках (с разрешения Krikzz’a). Цель сего опуса, добавить этих пресловутых фич из хаков Tank 1990, а также, новых и интересных, но опциональных, чтобы осталась возможность сыграть и в оригинальную Battle City, а так же доработать оставшиеся недоделки (в первую очередь перевести звуки на синтезатор) и пофиксить найденные баги.
На текущий момент сделано совсем не много:
--- Код: ---===== версия 1.07b =====
-исправлено невозможность стрельбы у второго игрока
-исправлено пропадание бонуса корабля у игрока при смене уровня
-исправлено отсутсвие звука скольжения по льду у второго игрока
-исправлено очки не суммировались в конце уровня
-исправлено отвал опции сбора бонусов врагом
===== версия 1.07 =====
-4х канальный звук вместо одноканального
-улучшено качество сэмплов (из-за этого увеличился размер рома)
-добавлены звуки подсчета очков, взятия жизни, скольжения на льду
-добавлены бонусы Пистолет и Корабль из Tank 1990(спасибо SPOT'у) и опции по их отключению
-исправлено враги после взрыва орла останавливал[attach=1]ись
-исправлены мелкие баги управления в меню опций
-устранен баг возможности наезда на маленький кирпич(опять спасибо SPOT'у)
-добавлен чит A+START при заходе в OPTIONS (дает возможность выставить 9 жизней, старый чит на 7 жизней убран)
-добавлен чит A+START при заходе в OPTIONS, затем в игре поставить паузу, затем A+START - применить гранату, B+START - взять пистолет, C+START - пропустить уровень.
===== версия 1.05а =====
-исправлен неверный подсчет очков после уровня
===== версия 1.05 =====
-устранен баг с пропаданием курсора при выходе из опций
-добавлены уровни из TANK 1990 и опции по их выбору
-добавлена опция выбора количества жизней
-добавлена опция выбора режима игры Battle City, Tank 1990 или Custom (еще не все фичи Tank 1990 реализованы)
-удален пункт опций отключения "выбор уровня" за ненадобностью
===== версия 1.04 =====
-добавлен эффект раскрытия экрана при старте уровня как в оригинале
-добавлена анимация начисление очков после уровня как в оригинале (пока без звука)
-добавлена опция "турбо В"
-добавлена опция отключения "выбор уровня"
-добавлена опция "игрок- огонь по своим" (4 варианта: откл, блок, поглощение пуль, уничтожение)
-добавлена опция "враги- огонь по своим" (3 варианта: откл, поглощение пуль, уничтожение)
-добавлена опция "враг собиратель" (звезда прокачивает до броневика с 8 хитпоинтами, жизнь добавляет еще 4 танка, остальное инвертно)
-добавлен чит на START+A, дающий 7 жизней вместо трех на старте
-исправлен звук при взятии гранаты
-исправлено очки при взрыве врага и поднятия бонуса отображались за спрайтом танка
-исправлено баг сверхбыстрой стрельбы
-изменена вероятность выпадения бонусов на оригинальную (1/4 для звезды и гранаты, 1/8 для остальных)
-возможность скипать логотипы
--- Конец кода ---
Просьба скачавших потестить на наличие багов и несоответствий оригиналу. Пишите свои предложения по новым фичам, которые вы считаете стоит добавить, я конечно ничего не гарантирую, но обещаю все обдумать (close_tema) :nyam: . Так же было бы не плохо, если бы, кто ни будь написал наиболее полный список фич из хаков Tank 1990.
battlecity-md_1.07b.zip (157.87 КБ - загружено 2817 раз.)
s1nka:
Werton, Привет. Хорошее дело делаешь, для китайцев нужное обновление. :)
Пару вопросов:
1) На последней версии SGDK собирается?
2) Исходники будут с доработками? На github'е?
3) Какие планы на будущее, какие доработки будут?
4) Звук будет?
Werton:
--- Цитата: s1nka от 23 Февраль 2018, 16:19:16 ---1) На последней версии SGDK собирается?
2) Исходники будут с доработками? На github'е?
3) Какие планы на будущее, какие доработки будут?
4) Звук будет?
--- Конец цитаты ---
- К сожалению, нет, собирается исключительно на модифицированной krikzz'oм genesisdev04 (хотя я подозреваю, что это еще более старая версия), да еще и только из под виртуальной машины с windows XP x86, потому что, как выяснилось, комплектный ассемблер asmz80 не работает на 64-х битных 10ке и 7ке. Была мысль переписать код под актуальную версию SGDK, но я только начал изучать SGDK в целом, и когда я глянул насколько он изменился с версии 0.4 и сколько придется всего переписать, то такое желание пропало. Старая версия не имеет документации, а чтобы переписать код на новую это надо разбираться в обоих версия. К тому же, это больше всего лишь модификация, а не полноценная разработка.
- Да, исходники выложу, но наверное как закончу с модификацией и на github тоже.
- Да особых то грандиозных планов нет. В итоге хочу иметь три режима Battle City, Tank 1990, и свой кастомный с новыми плюшками, пока сам не знаю какими, поэтому просил предлагать интересные мысли, но ничего глобального, что-то, по типу мутаторов в Unreal Tournament. В общем посмотрим, как пойдет.
- Ну звук то он и сейчас есть, но как и писал, если получится то заменю сэмплы на синтезатор.
s1nka:
--- Цитата: Werton от 23 Февраль 2018, 16:48:08 ---- Ну звук то он и сейчас есть, но как и писал, если получится то заменю сэмплы на синтезатор.
--- Конец цитаты ---
Блин. Затупил. В эмуляторе звук отключен был. Просто вспомнилось, что из старых версий игры была вроде без звука и подумал, что звук так и не приделали.
bgr:
Уровни планируется конструктором создавать?
SPOT:
Хорошо что данная игра ещё кому-то интересна.
Я тоже делал хак Battle City Hack [SMD]
--- Цитата ---Что было добавлено в "хаке":
Противники тоже могут брать бонусы.
Бонус пистолет. Он улучшает танк до максимума.
Бонус кораблик. Даёт возможность ездить по воде. Так же служит щитом на один выстрел.
Противники появляются в защитном поле, чтобы их нельзя было убить при появлении.
Поправлен баг с наездом на полуразрушенный кирпич.
--- Конец цитаты ---
Werton:
--- Цитата: bgr от 23 Февраль 2018, 20:51:49 ---Уровни планируется конструктором создавать?
--- Конец цитаты ---
Создать 1 уровень можно, как и в оригинале. Если же имелось в виду самописная утилита для замены уровней путем патчинга рома, то нет, ничего такого не планирую.
Добавлено позже:
--- Цитата: Werton от 24 Февраль 2018, 04:15:57 ---Хорошо что данная игра ещё кому-то интересна.
Я тоже делал хак Battle City Hack [SMD]
--- Конец цитаты ---
Ну вот, знал бы, к тебе бы обратился за исходниками :-\
--- Цитата: SPOT от 23 Февраль 2018, 23:29:42 ---Поправлен баг с наездом на полуразрушенный кирпич.
--- Конец цитаты ---
А что за баг?
SPOT:
--- Цитата: Werton от 24 Февраль 2018, 04:15:57 ---А что за баг?
--- Конец цитаты ---
Танк может наехать (заехать) на отдельно стоящий тайл 8х8
bgr:
--- Цитата: Werton от 24 Февраль 2018, 04:15:57 ---Создать 1 уровень можно, как и в оригинале. Если же имелось в виду самописная утилита для замены уровней путем патчинга рома, то нет, ничего такого не планирую.
--- Конец цитаты ---
Хм, тогда это лишь с натяжкой будет TANK 1990 - там ведь была изменена изначальная конструкция уровней.
Werton:
--- Цитата: bgr от 24 Февраль 2018, 11:30:10 ---Хм, тогда это лишь с натяжкой будет TANK 1990 - там ведь была изменена изначальная конструкция уровней.
--- Конец цитаты ---
В Танк 1990 абсолютно такой же редактор как и в оригинале. А чтобы засунуть в игру уровни из этого хака, редактор мне не нужен.
bgr:
--- Цитата: Werton от 24 Февраль 2018, 12:20:34 ---В Танк 1990 абсолютно такой же редактор как и в оригинале. А чтобы засунуть в игру уровни из этого хака, редактор мне не нужен.
--- Конец цитаты ---
Будешь в редакторе игры создавать, а потом менять в исходниках?
Werton:
--- Цитата: bgr от 24 Февраль 2018, 15:50:54 ---Будешь в редакторе игры создавать, а потом менять в исходниках?
--- Конец цитаты ---
Не, зачем мне их создавать, все уже украдено до нас все уже создано за нас китайцами, просто вытащу из rom'a и вставлю в исходник. Но вставка уровней это дело десятое, не горит, к тому же у китайцев с лэвэл дизайном так себе.
MASTERMAX:
Werton, вот уровни с Tank 90 N(если не ошибаюсь) может пригодятся. Когда-то тоже ковырял исходник этот, хотел сделать похожими на танк 90, но забил, так как там пару багов нашел и не смог пофиксить, так как си не знаю особо.
Werton:
MASTERMAX, спасибо пригодится :)
s1nka:
Еще было бы прикольно создать режим, который бы генерировал уровни. Каждый раз будет рандомный уровень. Исходники объявятся - могу поковыряться в эту сторону.
Werton:
s1nka, исходники конечно могу выложить, но все-таки меня не устраивает, что используется устаревший SGDK, т.к. и взялся за эту модификацию по большому счету чтобы попрактиковаться с ним. Поэтому есть стойкое желание все-таки перевести игру на актуальную версию. Поэтому, наверное сейчас нет смысла выкладывать исходник. SPOT как я понял на 1.22 переписал, для своей модификации, попросил его поделиться, если не удалил их, всяко с 1.22 проще переписать на 1.34 будет.
У старой версии sgdk есть еще один недостаток, звук можно воспроизводить только сэмпловый( vgm не проиграть) и в 1 канал (наверное замечали, когда подстреливаешь танк с бонусом, то слышен только звук бонуса, но не слышно звука взрыва танка). Это еще 1 причина перейти на свежую версию.
Пока не знаю как грамотно конвертнуть музыку с формата nes в md (nsf в vgm). Попробовал сначало в миди а потом в vgm, в принципе терпимо, но наверное есть способ лучше, кто-нибудь знает?
Werton:
Обновка :) , ссылка и изменения в первом посте.
Werton:
Обновление 1.07 в шапке :)
Код игры был переведен на последнюю версию SGDK 1.34 (львиная доля заслуги в этом SPOT'a, за что ему большое спасибо). Идею заменить сэмпловый звук на синтезаторый я оставил, т.к. конвертированная музыка и звуки по звучанию получались совсем уж другими, поэтому просто использовал сэмплы чуть выше качеством и 4х канальный звук.
Да, всех, так или иначе помогавших, отобразил в начальных титрах ;)
Что нового:
--- Код: ---===== версия 1.07 =====
-4х канальный звук вместо одноканального
-улучшено качество сэмплов (из-за этого увеличился размер рома)
-добавлены звуки подсчета очков, взятия жизни, скольжения на льду
-добавлены бонусы Пистолет и Корабль из Tank 1990(спасибо SPOT'у) и опции по их отключению
-исправлено враги после взрыва орла останавливались
-исправлены мелкие баги управления в меню опций
-устранен баг возможности наезда на маленький кирпич(опять спасибо SPOT'у)
-добавлен чит A+START при заходе в OPTIONS (дает возможность выставить 9 жизней, старый чит на 7 жизней убран)
-добавлен чит A+START при заходе в OPTIONS, затем в игре поставить паузу, затем A+START - применить гранату, B+START - взять пистолет, C+START - пропустить уровень.
--- Конец кода ---
Добавлено позже:
Есть желание запилить более соответствующую мегадрайву графику и звук (фамикомовские удалять не буду, все опционально), с нуля я ее конечно рисовать не хочу :lol: , как вариант видится мне использовать графику от логического продолжения Tank Force с аркады, но к сожалению не могу найти рипы этой графики. Может кто сможет помочь, или предложит другой вариант графики?
Томахомэ:
--- Цитата: Werton от 20 Март 2018, 10:13:43 ---как вариант видится мне использовать графику от логического продолжения Tank Force с аркады, но к сожалению не могу найти рипы этой графики.
--- Конец цитаты ---
В принципе, можно завести соответствующую тему на форуме Spriters Resource - судя по тому, насколько до фига у них графики из игр родом с самых экзотических и охренительных аркадных платформ, разобраться с TF для них не составит большого труда.
Werton:
Пара фиксов, первый конечно трындец, надеюсь китайцы не успели растащить на картриджи :lol:
--- Код: ---===== версия 1.07а =====
-исправлено невозможность стрельбы у второго игрока
-исправлено пропадание бонуса корабля у игрока при смене уровня
-исправлено отсутсвие звука скольжения по льду у второго игрока
-исправлено очки не суммировались в конце уровня
--- Конец кода ---
Навигация
Перейти к полной версии