а вы в курсе что OperaSoft для написания игр использовала скриптовый движок ?
возможно всю логику работы удастся перенести практически в неизменном (правка координат) виде
а вы в курсе что OperaSoft для написания игр использовала скриптовый движок ?
возможно всю логику работы удастся перенести практически в неизменном (правка координат) виде
заглянул в потроха игры на спеки .....
похоже что никак. у фирмы был автосборщик под разные платформы.
....................
на спеке карта экрана создаётся в буфере 32х17=544
потом оттуда берутся номера тайлов для вывода
Последний раз редактировалось goodboy; 22.09.2018 в 22:00.
Есть ремейк этой игры с исходниками, списывался когда то с автором, это больше реплика, но алгоритм разбора и формирования экранов идентичный насколько помню
http://lastmission.sourceforge.net/
Ассистент 86/128 , МС-1502 , МК-88, Поиск-1 , Квазар-86 , Amstrad PPC512 , Байт
я уже самостоятельно разобрался с форматом хранения карты для экрана.
компрессии нет. картинка составляется из блоков произвольного размера.
описание экрана Z+(x,y,#abcd)*Z
Z;кол-во блоков
x,y; координаты блока на экране
#abcd ; номер блока
вот например блок №#0001
для создания такой картинки
получается вот такое описание
4
00,15,#0001
08,15,#0001
16,15,#0001
24,15,#0001
Последний раз редактировалось goodboy; 23.09.2018 в 13:23.
ну это лишний раз подверждает наличие одинакового набора инструментов
(при создании игр разными авторами)
интересней что в игре два буфера (для хранения номеров тайлов для экрана)
но похоже один не задействован (возможно он применяется в играх со скроллом)
(в LastMission он забит #FF)
при заполнении нового буфера данные сравниваются и пропускаются при совпадении со старым
IX=NEW SCREEN
IY=OLD SCREEN
LD A,(IY+0)
LD L,(IX+0)
CP L
JR Z,NEXTsprite
Тайлы в PNG, три варианта (0,4 и 11 палитры) 256 тайлов 8х8.
screen_40_17.dmp - комната 40х17.
https://yadi.sk/d/159v7ewcupYW1Q
- - - Добавлено - - -
/* картинка составляется из блоков произвольного размера. */
Картинка не-то что из блоков, прописаны координаты и номера тайлов куда их ставить в буфере, чтобы место сэкономить.
то что ты назвал тайлом я назвал блоком. вот и вся разница.
а как назвать кусочки 8х8 (из которых состоит тайл) ?
не спорю.. в принципе так во многих игрушках делали, поэтому так легко и раскопал..
кстати логику можно будет подсмотреть в исходниках порта который выше привели, хотя он под win да и на С написан по поводу памяти и быстродействия там наверно не шибко беспокоились. Чтобы на БК это перевести нужно будет крепко репу почесать..
кстати там вся графика в виде массивов оформлена, ничего выдирать не нужно было.., хотя важен процесс
Последний раз редактировалось S_V_B; 23.09.2018 в 14:59.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)