The Last Mission Replica (апдейт 04.07.09)

Предыдущая тема Следующая тема Перейти вниз

The Last Mission Replica (апдейт 04.07.09)

Сообщение  ExMortis в Чт Янв 01, 2009 8:19 pm

Обновление 04.07.09
- добавлена музыка (правда, не из оригинальной игры)
- масштабирование экрана до 640*400 теперь производится не за счёт WinAPI, заодно появился "халявный" эффект scanlines.
- протестировано на старом компе Celeron 766 с Win98 - странно, но через WinAPI StretchDIBits масштабирование работает быстрее... На медленных компах автоматически используется последнее, на быстрых - апскейлинг с эффектом scanlines.
==================
Приветствую форумчан!

Хочу поделиться со всеми одним проектом, который я сейчас активно допиливаю. Это реплика (копия, ремейк - называйте как угодно) старинной испанской игрушки 1987 года под кодовым именем The Last Mission. Игрушка выходила для старинных 8-битных компов, но в том числе и для писюка. PC-версия могла похвастаться аж 4-х цветной CGA графикой и мегазвуковыми эффектами PC-Speaker'а... В то время как 8-битные версии легко крыли палитровым многоцветьем и трёхканальным синтезаторным звуком и музыкой. Взглянуть на скриншоты разных воплощений и прочувствовать разницу можно по этой ссылочке:

http://www.mobygames.com/game/last-mission/screenshots

А теперь предыстория. Мне попалась писюковая версия (а если бы попалась другая, то толку бы не было, ибо в ассемблере z80 я не силён), а именно кривой рип с самозагрузочной фирменной дискеты. Кривизна выражалась в том, что на современном компе игра шла слишком быстро. После недолгих размышлений игрушка была препарирована в дизассемблере Ida Pro не помню какой версии. Открывшиеся пытливому взору внутренности явили собой полную кашу... Оказалось, что основные алгоритмы были написаны под процессор z80, а конверсия для x86 была сделана путём макрозамены мнемоник, от чего код приобрёл весьма шизофренический вид...

Итогом ковыряния было вожделенное торможение игры до приемлимой скорости (синхронизация по vsync) и некая осведомлённость во внутренних алгоритмах. Разобраться полностью терпения не хватило, зато структуры данных были как на блюдечке.

Тут же родилась идея сделать ремейк. Первая (очень неполная) версия была написана на Sphinx C--, ибо дзэн не позволял воспользоваться языком высокого уровня. В конечном итоге, идея умерла, в том числе и из-за сложностей с самим С--. Зато игра компилилась под Win и pmode Dos.

А вот теперь имеется версия (почти полная), написанная на FreeBASIC'е. Конечно, можно было бы и на Си сделать, но тогда я не писал бы сейчас на этом форуме. Smile

Бета для Win находится по ссылке (апдейт 03.07.09):
http://file-pasta.com/file/765551757/mission040709.zip

Теперь на заставке играет музычка (прикручен эмулятор opl2 aka adlib от MAME) в формате RAD, правда, не из оригинальной игры. Осталось прикрутить звуковые эффекты Smile

Игра полностью рабочая, имеется один забавный баг (найдите какой).
Исходники прилагаются, но стиль программирования весьма специфичен - нечто си-подобное пополам с ассемблером (наследие C--).


Последний раз редактировалось: ExMortis (Сб Июл 04, 2009 2:38 pm), всего редактировалось 8 раз(а)
avatar
ExMortis

Сообщения : 11
Дата регистрации : 2009-01-01
Возраст : 34
Откуда : Российская Империя, уездный город Белгород

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: The Last Mission Replica (апдейт 04.07.09)

Сообщение  tux в Чт Янв 01, 2009 9:07 pm

Обожаю класику...
Однако вопрос, почему для создания окна используется windows.bi, ведь существуют встроенные средства в FB, а от windows.bi игра не портируется, или это с чемто связано?
avatar
tux

Сообщения : 365
Дата регистрации : 2008-04-06
Возраст : 28
Откуда : Сибирь

Посмотреть профиль http://tux.nsk.ru/

Вернуться к началу Перейти вниз

Re: The Last Mission Replica (апдейт 04.07.09)

Сообщение  ExMortis в Чт Янв 01, 2009 9:16 pm

tux пишет:Обожаю класику...
Однако вопрос, почему для создания окна используется windows.bi, ведь существуют встроенные средства в FB, а от windows.bi игра не портируется, или это с чемто связано?

Ибо дзэн. Так меньше и короче. А портируемость не пострадает, т.к. вызовы Windows API легко меняются в таковые от SDL.
avatar
ExMortis

Сообщения : 11
Дата регистрации : 2009-01-01
Возраст : 34
Откуда : Российская Империя, уездный город Белгород

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: The Last Mission Replica (апдейт 04.07.09)

Сообщение  tux в Чт Янв 01, 2009 9:21 pm

не, хозяин - барин, но тк я в асме плохо соображаю, то ща играю из под вайна((
avatar
tux

Сообщения : 365
Дата регистрации : 2008-04-06
Возраст : 28
Откуда : Сибирь

Посмотреть профиль http://tux.nsk.ru/

Вернуться к началу Перейти вниз

Re: The Last Mission Replica (апдейт 04.07.09)

Сообщение  Gena в Чт Янв 01, 2009 10:42 pm

Добротно... Гуд Гейм! Не знал о такой игрушке, но идея интересная.

Gena

Сообщения : 182
Дата регистрации : 2008-11-05
Возраст : 23
Откуда : Москва

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: The Last Mission Replica (апдейт 04.07.09)

Сообщение  ExMortis в Пт Июл 03, 2009 12:13 pm

Обновление 03.07.09 - см. первый пост.
avatar
ExMortis

Сообщения : 11
Дата регистрации : 2009-01-01
Возраст : 34
Откуда : Российская Империя, уездный город Белгород

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: The Last Mission Replica (апдейт 04.07.09)

Сообщение  Спонсируемый контент


Спонсируемый контент


Вернуться к началу Перейти вниз

Предыдущая тема Следующая тема Вернуться к началу


 
Права доступа к этому форуму:
Вы не можете отвечать на сообщения