Грабли номер два
Грабли номер два
Итак, первые грабли (с видеовыводом) пока не лечатся — автор эмулятора ответил, что для исправления ситуации необходимо менять модель..
Блог разработчика
Грабли номер два
Итак, первые грабли (с видеовыводом) пока не лечатся — автор эмулятора ответил, что для исправления ситуации необходимо менять модель..
Так как с выводом на блиттер возникли проблемы (подробно описанные в предыдущем посте), решил пока заняться звуками из Dave. Формат оригинальных файлов звука уже нашел, изучаю. В AZBK можно выводить звук и на AY и на 2AY и на Covox…
Графика в текущем проекте (Dave) выводится с помощью AZBK, а точнее с помощью одной из графических фич AZBK — блиттера. Суть «азбучного» блиттера состоит в том, что ему можно давать пакет команд, который он читает себе в буфер и потом выполняет уже самостоятельно, не отнимая процессорного времени.
Переделал вывод анимации очков на двухстраничный экранный режим. Начал делать обработку обстановки монстрами (поиск препятствий, ям, лестниц).
Все очень просто:
И никаких проблем.
Переделал движок анимации монстров. В анимации Зомби каждая фаза движения стоит на экране 8 кадров, напрашивалось решение выводить на экран только один из этих спрайтов, первый. А потом 7 кадров пусть он себе стоит, не надо выводить его заново. Что и было реализовано. Получен, конечно, большой выигрыш в скорости обработки монстров. Но можно еще ускорить, если сдвинуть начальные фазы монстров так, чтобы они обновляли свои ключевые спрайты не одновременно.
Не обошлось без подводных камней: пакет команд в блиттер уходит сразу после получения «кадрового» прерывания, а вот изменения начального адреса отображения слоя видеопамяти — в процессе обработки скроллинга движком. В итоге иногда на экране мелькают призраки Зомби, которые не успели стереться. Идеи борьбы с этими «хвостами» у меня есть, завтра попробую реализовать.
Монстров на одном уровне в Дейве прямо толпы — количество их достигает 60 штук. Конечно, не все они видны и в реальной игре Дейва быстро сожрут при большом столпотворении, но все равно есть что оптимизировать…
Добавил анимацию Зомби, создал движок для монстров, ошивающихся поблизости. Пока ходят просто туда-сюда, ни на что не реагируя (как зомбированные):
Сегодня плодотворно поработал:
Завтра приступаю к запуску Зомби!
Как-то мне попалось мини-интервью Джона Ромеро, его там спросили под каким углом стреляет Дейв. Ответ был — 45 градусов. Я тогда удивился, почему вообще возник такой вопрос у народа. Поизучал траектории полета пули в оригинале и тоже удивился: что-то там не похоже на 45 градусов никак:
Пришлось немного повысчитывать, но все получилось, теперь Дейв стреляет:
И вот появилось ощущение той самой игры! Теперь надо или подумать над звуками в игре, или заняться монстрами, разлетающимися кусками от них и т.д.
P.S. Совсем забыл — надо же перезарядку дробовика еще сделать 🙂
Свежие комментарии