Форум Эму-Россия
http://forum.emu-russia.net/

Незаконченный ремейк Gradius III
http://forum.emu-russia.net/viewtopic.php?f=20&t=1540
Страница 1 из 1

Автор:  romanich [ 14 сен 2009, 15:26 ]
Заголовок сообщения:  Незаконченный ремейк Gradius III

Не нашёл куда написать, написал здесь.

http://www.emu-land.net/forum/index.php/topic,32273

Автор:  Eevon [ 14 сен 2009, 20:00 ]
Заголовок сообщения:  Re: Незаконченный ремейк Gradius III

Если хочешь что написать, так и пиши, а не ссылку на другой форум давай. ;)

Автор:  romanich [ 15 сен 2009, 09:31 ]
Заголовок сообщения:  Re: Незаконченный ремейк Gradius III

Попытка сделать ремейк на игру Gradius III

Очень нравится игра на приставках под названием Gradius!
Особенно Gradius III на SNES!!!
MAME-версию так и не смог пройти, так как при сохранении/восстановлении
карта тайлов отображается некорректно

Ещё до того момента, когда успешно портировал эмуляторы, решил написать ремейк этой игры!

Вооружился SNEmul под DOS (а есть ли версия под Win32 ?) и стал рипать графику в основном.
Некоторые оцифровки рипнул двумя компьютрами (один воспроизводит, другой пишет).
Одним компьютером рипнуть звук не получилось - драйвер был кривой (или эмуль не позволял ?) - с эхом было...

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

В то время Digital Thresher'а не существовало, была только Advanced MicroMachine с экраном 128x128 и ОЗУ 2 МБ
Собственно под неё всё и затачивалось...

Написал порт библиотеки API-функций МикроМашины для PC (DOS32), для того чтобы разработку вести на PC.
Затем кидать без проблем на реальный девайс...

Кто-то (уверен что 90%) скажет: "ДОС - умер!!! Никто этой некрофилией заниматься не будет!"
Но мне честно говоря безразлично, а выбор в сторону 32-битного ДОС'а (DOS+DPMI) был продиктован следующими соображениями:

1) Работа напрямую с железом (или эмуляция этой самой "прямоты")
2) Не люблю идеологию программирования под Windows'ы
3) Есть некоторое количество опыта в программировании под DOS

Поэтому решено было писать DOS-приложение.
Проект вёлся в среде Open Watcom C 1.7. Собирать надо с помощью него.

Вначале сделал библиотеку API-функций, которая в какой-то степени абстрагировала меня от железа,
тоесть стирала различия между железом PC и МикроМашины! Это очень важно для переноса.

Библиотека позволяет программировать: видео, звук, ввод клавиш(эмуляция джойстика) и другие прочие системные функции.
Там и блиттинг с отзеркаливанием, полупрозрачностью и растровыми операциями.
Резидентные проигрыватели MIDI-файлов, WAV, и Adlib (проигрывание модифицированного RAW-формата).
И многое другое...

Далее приступил к игре...
Составил плоскость спрайтов (в неё постоянно добавлялись новые спрайты по мере написания игры)
Выбрал подходящую музыку, звуки (тоже несколько раз претерпевали изменения когда проект разрастался)

Ну и собственно в редакторе карт MapWin (Mappy) составил карты 4-х уровней, которые более отличимы от других:

1) Песок
2) Вода
3) Огонь
4) Органика

Все уровни кроме первого - анимируются (боковые стены).

Далее добавил главного героя - космический корабль (закамуфлированный под боевой самолёт ?)
Сделал ему 10 видов оружия!!! Некоторые могут наращивать мощь!
И три типа бомбы.

Запрограммированы также: движение и анимация боковых стен, отображение и прокрутка задника
Также: фоновая музыка, звуки (выстрелы, взрывы и др.)
А также: коллизия корабля с бонусами (значки: жизнь, экспандер жизни, временное бессмертие, 10 типов оружия, 3 типа бомб,...)
и со стенами.
Также: игровой процесс: вступление, окончание (мультеги , показ карты - текущая планета, скругление уровня, если проиграл, и т.п.

Ну и немного заставки - о себе, про игру и т.п.

----------------------------------------------------------------------------
В общем - добавить туда врагов и коллизию с ними - и игра будет закончена!!!
----------------------------------------------------------------------------

Но меня обломало! Так как после портирования эмуляторов смысл в ремейке отпал!
Да и написание игры - жрёт кучу времени, ну и надоел в конце концов...

Поэтому выкладываю исходники проекта и всего что с ним свызано (что осталось)...
Может кому-нибудь будет интересно. Или кто-нибудь подхватит...

Файлы:

Gradius3.rar - скомпилированный исполняемый файл.
AuMAPI.rar - исходники библиотеки API
Gradius3SRC.rar - исходники проекта
Converter.rar - конвертилки (24-битный bmp в 16-битный RAW, 16-битный RAW в массив констант (Си) )
Resource.rar - некоторые ресурсы (карты уровней для MapWin, музыка, зарипанные звуки и графика с SNES'овского Gradius'а)

HowTo:

1) Плоскость спрайтов (bmp-файл) после редактирования и сохранения гонится в 16-битный RAW, затем RAW гонится в Си-массив констант
Затем данные вставляются в файл Sprite.c, старые убираем.

2) Если библиотека AuMAPI надо изменить (сменить разрешение или ещё что-нибудь), то её надо перекомпилять. Полученный файл AuMAPI.lib
кинуть в проект Gradius (заменить или прибить старую либу).

3) Далее компилять проект Gradius3

4) MIDI файлы должны быть в формате SMF0. И желательно без мусора. Программы MIDIDisAssembler и MIDIConverter в помощь


Управление:

Стрелки - направление
Enter - старт/пауза
Ctrl - стрельба патронами
Alt - бомбы (ограничено)
Esc - выход

Дальше хаки в целях отладки:

X - изменить силу оружия
Y - сменить оружие
Z - прыгнуть на следующий уровень (а в конце показать концовку)

На счёт X и Y - точно не помню - возможно перепутал местами...

Требования к железу:

VESA 1.2 совместимая видяха
Sound Blaster Pro совместимая звучка
PS/2 клавиатура

или эмулирование в DOS-box'е или VDM-Sound

Переменная окружения BLASTER должна соответствовать следующим настройкам:

I/O 0x220
IRQ 5
DMA 1
Type : SB Pro или выше

MPU I/O 0x330

Adlib I/O 0x388

В общем - всё стандартно ДОСоФаги помнят

Напоследок добавлю, что "недо-игра" также работала на Advanced MicroMachine

-= Enjoy =-

p.s. аттачи остались на эмуленде, так как пишу с работы - интернет урезан. если сильно надо, прикрепите здесь :)

Страница 1 из 1 Часовой пояс: UTC + 3 часа [ Летнее время ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/