FreeBasic
Вы хотите отреагировать на этот пост ? Создайте аккаунт всего в несколько кликов или войдите на форум.

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

Участников: 3

Перейти вниз

The Last Mission Replica (апдейт 04.07.09) Empty 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 раз(а)
ExMortis
ExMortis

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

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

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

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

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

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

http://tux.nsk.ru/

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

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

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

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

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

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

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

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

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

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

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

http://tux.nsk.ru/

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

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

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

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

Gena

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

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

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

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

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

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

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

Вернуться к началу


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