Счетчик очков
Сделал вывод действующего счетчика очков:
Блог разработчика
Для выяснения общего количества доступной памяти пришлось отступить от принципа «заставки после того, как игра будет готова» и сделать их. Начальный логотип скорей всего поменяю, что-то он слишком большой вышел. Сделал вывод надписей, теперь надо их задействовать — отображать номера лабиринтов и всяческие очки.
В целом стало похоже на игру 🙂
Сделал выключение звуков при переходе из окна в окно и при телепортации. Чтобы это не влияло на музыку — пришлось поизголяться. В конце выяснилось, что причиной большинства глюков было «гляжу в документацию, а вижу из пальцев конфигурацию». Почему-то глаз замылился и очищал я не те регистры AY. В итоге монеты зазвенели:
Переделал вывод звуков, теперь они не выводятся, пока играет первая трехканальная часть музыки в начале игры, как и в оригинале. Но теперь мне это не очень нравится, хотя раньше я этого не замечал. Надо запустить игру на железной Ямахе, действительно ли там так сделано или это происки эмуляторов?
Добавлены звуки пара из труб. Надо подчищать звуки при переходе из окна в окно, а то остаются всякие призвуки водопадов:
Сделал вывод шумов и обнаружил сразу кучу приколов, которых раньше не замечал. Оказалось, что водопады в оригинале шумят только тогда, когда музыка играет в одном канале — в «тревожных» местах. В обычной обстановке они бесшумны. Так делают оба эмулятора, на которых я гоняю оригинал. И это понятно, т.к. тупо не хватает каналов для вывода звуков событий типа «прыжок», шума водопада и двухканальной музыки. Раньше я этого не замечал, а теперь бесшумные водопады мне кажутся неестественными. Вот тут как раз пригодился бы 6-ти канальный вариант AY, там можно было бы эффекты выводить аж в 4 дополнительных канала, да еще и по стереопанораме раскидать их… У меня пока водопады шумят везде.
Сделал звуковой движок для одновременного проигрывания фоновой музыки и звуков игровых событий. Плеер звуков взят из Принца, слегка модифицирован для того, чтобы не прерывалась музыка. Система приоритетов звуков тоже та, что была сделана для Принца. Плеер музыки — от Kuvo, тоже слегка модифицирован. Пока что попробовал на звуках, не содержащих шума. С ними, думаю, придется повозиться. Хотел сделать вывод звуков на второй AY, но в эмуляторе Gid’a работа двух AY пока не реализована.
Понемногу реализую идеи оптимизации, которые крутилися в голове во время отпуска. Переделал вывод спрайта шерифа, которого приходится красить на лету в разные цвета. Все это дало эффект и не может не радовать.
Развернул пару циклов, сделал процедуры сохранения/восстановления фона пословными. Ускорение налицо:
Занимаюсь оптимизацией кода и повышением скорости работы движка. Появились идеи, как ускорить некоторые вещи. Некоторые из них, кстати, можно было применить и в Принце. Делаю замеры времени исполнения отдельных подпрограмм и основного цикла по встроенному в процессор таймеру. Понемногу ускоряется 🙂
Долго искал причину глюков в передвижении монет по лабиринту. Проявлялись они хитро — вроде все работает, монеты создаются, а потом раз и за монетой потянулся запорченный фон. Или монеты просто через какое-то время переставали создаваться. Капли капают, а монет нет. Или монеты исчезали при первом же ударе об стену, вместо второго. У меня уже начал дергаться глаз! Оказалось, причина была не одна, а целая куча — начиная от порчи регистра в подпрограмме копирования фона монеты, заканчивая идеологией «динамического буфера фона под монеты». Но на данный момент все успешно починено:
Свежие комментарии