-
Портирование Lode Runner БК->УКНЦ->НЕМИГА
-
Некоторые детали реализации.
Строка БК -- 256. цветных пикселей, 100 = 64. байта, два бита на цветной пиксел, и эти биты стоят рядом.
На УКНЦ включаем режим 40x24 символа -- строка получается 320. цветных пикселей длиной 80. байт в каждом из трёх планов. ЦП непосредственно доступны два плана, причём плашку 8x1 пикселей можно обновлять за одну операцию. Если использовать два плана, то пиксели получаются тоже четырёхцветные, но расположение пикселей другое -- байт на один план, байт на другой.
Игра использует спрайты 8x10 цветных пикселей -- это 10. слов подряд. При переносе оставил тот же подход, но битики в словах пришлось переместить чтобы цвета были по планам.
Также игра использует спрайты 16x10 цветных пикселей -- для горизонтального движения чёртиков и человечка. Подход тут такой же.
Игровые уровни хранятся компактно: на ячейку 3 бита (триплет), 5 триплетов на слово, 30. ячеек в строке, 20. строк, получается 600. элементов на один уровень, упаковано в 240. байт на каждый лабиринт. 25. уровней занимают 6000. байт.
-
Ух ты! А можно лестницы сделать того же цвета как и надпись SCORE ? :rolleyes:
-
Может я чего-то упустил, но есть эмулятор(симулятор) БК для УКНЦ и в нем все эти игры вполне работают
-
На сколько я понимаю графические возможности УКНЦ лучше БК и игры могут обрести весьма более привлекательный вид.
-
nzeemin, Никита это очень нужный проект! У меня только 1 пожелание - сделать его по настоящему УК-НЦшным сохранив очарование оригинала БК0010(01).
Если цвет лестниц будет белый - будет конечно смотреться хорошо, но тогда и наложение цветов от человечков наверное будет? А так получается они независимо
друг от друга (разнопланово) рисуются )
Наверное очень преждевременные вопросы:
- получиться ли оригинальную озвучку сохранить? Там такие правильные звуки на БК )
- редактор будет ли работать - дело в том. что в оригинале на БК - он содержит в
себе модуль позволяющий писать\читать уровни с магнитофона, какой то примерно
план на это? В идеале конечно должно с дискетами работать )
- чуткость управления главное не потерять - которое утеряно в варианте о котором
Vamos пишет. )
-
Игры на УКНЦ наверное уже лет 20 никто не делал :) пусть и не с нуля но всё равно крутой проект!
-
Оценил демку!
Шикарно. Временной интервал когда охранник-монстр-догоняла цапает ГГ и перерисовкой уровня 1 в 1 с БК версией )
парочка картинок запуска MAIN.SAV в UKNCBTL
---------- Post added at 20:48 ---------- Previous post was at 20:41 ----------
Цитата:
Сообщение от
DJs3000
Игры на УКНЦ наверное уже лет 20 никто не делал
offtop
не совсем так!
Tiger ака
LDN совсем недавно допилил свою игру,
Цитата:
Сообщение от http://zx-pk.ru/showpost.php?p=645608&postcount=221
SOKOBAN & SOKOED by LDN (+ исходники)
релиз от 20 декабря 2013 года ! (NEW)
[свернуть]
-
А вам не кажется, ребята, что на БК эта игра должна быть в Ч/Б режиме, судя по полосатости нижней надписи?
-
Для меня это первый хоть сколько-нибудь серьёзный проект на УКНЦ. Было интересно попробовать что-нибудь написать. Да, есть эмулятор БК на УКНЦ но это же совсем другое.
Цвета, звук -- это потом уже всё. Сначала надо доделать до состояния чтобы минимально играть можно было. По идее, для этого мне нужно с управлением разобраться -- на уровне как правильно получать данные из порта, а сама логика по идее уже должна работать.
Способ портирования был такой.
В своём эмуляторе БК я сделал трассировку выполняемых команд -- дизасм на одну строчку выдаётся в файл. Плюс включение/выключение трассировки из отладочной консоли. Делаю прогон участка который меня интересует с записью трассы, потом сворачиваю трассу (sort & uniq) -- получаю фрагменты логики. Добавляю к этому комментарии, получаю постепенно общий файл. На это ушло недели полторы-две по вечерам.
Когда полученный объём стал достаточно большим (40+ КБ текста, больше 1500 строк) и я разобрался хотя бы в общих чертах что к чему, как хранится и выводится -- стал думать как это перевести на УКНЦ.
Начал писать примеры на УКНЦ и несколько приуныл -- потому что цикл "скомпилил -- слинковал -- запустил" получается довольно медленный.
Кросс-ассемблер MACRO11 есть, хоть он и несколько глючный. А вот линкера нет.
Но к счастью не так давно Patron выложил консольную RT-11: http://zx-pk.ru/showthread.php?t=24755 Это я считаю настоящий прорыв, резко ускоряет работу. С ним самое медленное место теперь -- это запуск в эмуляторе.
После этого дело пошло, сделал отрисовку рамки игрового поля, отрисовку спрайтов, разобрался как биты в спрайтах нужно перемешать, затем блоками стал переносить код из общего файла с дизасмом в новые исходники. Взял дамп памяти с БК, выделил блок где лежат уровни, утилитой DUMP сделал текстовик под уровни.
Сначала перенёс блок кода который выводит уровень, на этом отладил вывод спрайтов. Потом игровую логику стал переносить. Т.е. в целом перенос практически один-к-одному, за исключением мест где вывод на экран идёт. Поэтому есть места в логике которые я не понимаю как работают (тот же AI чёртиков), но это и не важно -- главное что работают.
Я уже выкладывал серию скриншотов которые делал при работе:
https://img-fotki.yandex.ru/get/1611..._1d803465_orig