Category: Блог

27
Авг
2021

Новые спрайты дворцовых лабиринтов готовы

Новые спрайты были нужны чтобы решить проблему с белым цветом. Принц бегает в белой одежде и при смене палитры, она должна была остаться белой. В тоже время, обстановка дворцов значительно отличается от уровней подвалов и подземелий, она значительно ярче и роскошней. Это логично, собственно. Но при этом цвета не должны быть вырвиглазными. Добавочная проблема еще и в том, что Принц должен быть достаточно контрастен на этом ярком фоне. Ноги-руки и одежда не должны сливаться с полом или боковыми стенами. Потому мне эти дворцы давно покоя не давали. И вот, вроде бы, мне удалось нарисовать обстановку, которая меня лично устроила и при этом примерно похожа на VGA-вариант оригинального Принца на PC.

Попутно я немного доработал спрайты решетки. Помимо добавленных теней и бликов, теперь решеток два вида — для дворца и для подвала. Решетка была такой:

Теперь они такие:

 

24
Авг
2021

И все-таки палитры!

Решил все же отказаться от полноэкранного мигания. Во-первых, для подготовки такого мигания приходится весь скрытый экран заливать белым или красным, а он вообще-то используется. Т.е. надо содержимое скрытого экрана сохранить, потом залить его белым/красным, потом помигать экранами, а потом еще и восстановить содержимое скрытого экрана. Получается ощутимая задержка перед срабатыванием эффекта. Во-вторых, во время такого мигания не может работать движок игры, т.к. скрытый экран занят. Не движутся факелы во время мигания, не двигаются решетки. Это, может, никто и не заметит, но неприятно. С палитрами таких проблем нет — они включаются по таймеру. Все движется, никаких затыков для подготовки. Пусть будут палитры. Выглядит  это так:

И еще сегодня я сделал-таки вывод звука «пустого удара мечом» и стражнику. В оригинале и для принца и для стражника используется один и тот же звук, но мне показалось это однообразным. Завтра попробую стражнику выдать немного другой звучок.

 

23
Авг
2021

Баги и мигания

Сегодня исправил несколько ошибок:

  • при отключении звука стражники переставали слышать шаги Принца и вовремя разворачиваться к нему. Логично, звука шагов же нет))
  • при повторном просмотре заставки целиком портился один спрайт
  • вместо меча начинал бликовать один из элементов обстановки дворца — у них с мечом один код.

А так же продолжаю мучать мигание. Полноэкранное блымкание прикольное, но имеет задержку, обусловленную подготовкой скрытого экрана. Это не подходит для быстрого мигания при падении или получения удара в бою…

22
Авг
2021

Мигание экраном

YellowRabbit подсказал, как сделать мигание экраном более скоростным, чем я делал это до этого. Я все извращался с инверсией, а он предложил залить один экран полностью белым и переключать видимые экраны. Таким образом, мигание будет наиболее скоростным. Как мне это раньше в голову не пришло? Я все заморачивался тем, что в оригинале мигает только черный фон, сами спрайты обстановки остаются неизменными. На БК такой фокус провернуть непросто. Ну вот брат подсказал подходящий вариант. Заодно попробовал и вариант с красным миганием, для случаев, когда выпивается яд. Bandicam отказался правильно захватить кадры мигания, он их пропустил. Пришлось захватывать самим эмулятором, а это там не очень удобно, да и звук пишется отдельно, скрещивай потом этих ужей с ежами… В итоге мигание все равно выглядит не так, как в игре. Потому видео удалил )

 

 

21
Авг
2021

Настройка джойстика

Сделал настройку управления от джойстика (вызывается клавишами АР2+ J). Сначала определяется «нулевое» значения порта, в котором могут быть установлены какие-то биты, это значение сохраняется в качестве маски, по которой потом будут очищаться значения порта. Это должно помочь использовать джойстик даже с частично неисправным портом. Ну и, конечно, позволяет задать управление как удобно игроку.

20
Авг
2021

Допиливаем

Сегодня занимался мелкими доделками:

  • сделал включение/отключение музыки и звуков по клавише S
  • поправил вывод информационных надписей, которые немного поломались после перехода на пропорциональный шрифт
  • пофиксил режим «Пауза»
  • сделал наконец-то сброс массива уже летящих плит при смене лабиринта, а то иногда лабиринт уже сменился, а еще грохочут плиты, которые начали падать еще в предыдущем лабиринте

Теперь надо заняться заданием управления от джойстика. Еще неясен вопрос насчет таймера в игре. Сейчас время считается на самом деле по количеству выведенных фаз принца в «секунду», а не по аппаратному таймеру. Собственно, это задумывалось как «честный» вариант, когда Принц успеет пробежать всю игру не смотря на возникающие иногда тормоза, ведь количество фаз останется прежним. Наверное поэтому на слабых PC игра длится на самом деле больше часа — значит там тоже нет привязки к аппаратному таймеру. Может быть из этих же соображений?