Category: Блог

08
Окт
2021

Пищалка

Решил все-таки сделать вывод звука на пищалку. По большей части потому что жалко готовые звуки, которые мы добывали выводом на принтер. Звуки, правда, были не все, пришлось доделать недостающие. А вот музыки для встроенного динамика вообще не было. Решил попробовать использовать редактор Савина “Клавесин”. Но вот сам вывод музыки одновременно с игрой… Попытки воспроизводить музыку по прерыванию таймера провалились – в итоге звук был с явным фоном около 50Гц, что и понятно – таймер как раз 48Гц. В итоге я решил попробовать вывод музыки не квантами по таймеру, а все-таки нотами, с каждым кадром движка по одной ноте. Пришлось переписать музыку нотами минимальной длительности. Попробую, думаю, если будет фигня – ну и хрен с ним, пусть музыка остается на AY.

Попробовал и вдруг понял, что такое странное звучание музыки я уже слышал…. в видеороликах “Prince of Persia на Apple 2”. Прикольно, конечно))

Вывод на спикер больше нагружает проц и с ним Принц бегает уже не так плавно. Лучше играть с AY 🙂

Вот что получилось у меня:

Вот как звучит на Apple:

06
Окт
2021

Добиваем баги

Фиксим последние (надеюсь) баги:

  • при спрыгивании с больших колонн нужно другое смещение, чем при спрыгивании со стены из висячего положения (баг оказался глубинным, я правил его два дня!)
  • при приземлении с ударом об решетку не сбрасывался высотомер
  • обнаружилось, что при выходе Принца из лабиринта вдруг исчезает труп стражника, если он валяется рядом

 

04
Окт
2021

Автодетект

Сделал автоопределение среды, в которой запущен Принц – эмулятор или реальная БК. Для эмулятора и железа используются разные задержки для смены палитр на лету и переключения экранов. Пришлось повозиться, т.к. процедура “записать в 177702 – прочитать из 177702” почему-то не всегда вызывает прерывание по вектору 4 на моей БК. Особо разбираться не стал, т.к. записанное значение из этого регистра все-таки не читается, а в эмуляторе читается. От этого факта и пляшем. Попутно пофикшены баги:

  • во время демо не блокировались управляющие клавиши, т.е. можно было включить задание управления, например
  • жуткий глюк, который мог приводить к вылетанию игры при перезапуске игры/лабиринта во время фехтования (при старте мог быть текущим профиль стражника, а не принца, а у того спрайты совсем не там….)
  • после задания управления от джойстика Принц делал прыжок – потому что игрок не успевал отпустить последнюю задаваемую кнопку (как раз прыжок). Теперь ждем, пока отпустит, а только потом выходим из процедуры задания управления.
01
Окт
2021

Джойстик, версия два

По совету Manwe задействовал вторую кнопку джойстика. В итоге управление от джойстика теперь выглядит так:

  • Влево, вправо – бег влево и вправо
  • Вверх – прыгнуть прямо вверх, залезть, поставить блок при фехтовании, зацепиться в полете
  • Влево/вправо + вверх – прыжок с места, прыжок на бегу
  • Вниз – слезть, присесть, сложить меч
  • Кнопка 1 – удар при фехтовании
  • Кнопка 1 + влево/вправо – маленький шаг
  • Кнопка 1 + вниз – взять предмет
  • Кнопка 2 – прыжок с места, зацепиться в полете, удар при фехтовании
  • Кнопка 2 + влево/вправо – прыжок на бегу

В виде текста выглядит громоздко, но на самом деле все интуитивно понятно (я надеюсь). Кроме того, джойстиком теперь можно пропускать заставки и выходить из режима “Пауза”.

Все кнопки можно переназначить: режим настройки джойстика вызывается по комбинации АР2+J в любой момент игры (кроме заставок).

Клавиатуру, кстати, тоже можно переназначить (АР2+K).

 

29
Сен
2021

Только я подумал, что все…

Отдал Принца на тесты и уже получил несколько “приветов”. Что ж, буду фиксить 🙂

  • неудобно прыгать на бегу на джойстике с крестовиной (типа Dandy) – ок, заюзаем вторую кнопку
  • нужно иметь возможность скипнуть заставку джойстиком
  • служебные клавиши работают только на латинском регистре (посыпаю голову пеплом)
  • портится нажимающаяся плита, если справа падает пол
  • меч мигал не там, где надо – это я сам нашел и уже исправил
  • странный глюк  с игнорированием клавиш после смерти (повторить пока не удалось)

Ну, не все так плохо, знавали мы глюки и похлеще ))

 

28
Сен
2021

A Hard Day’s Night

Сегодня исправил несколько багов, обнаруженных Yellow Rabbit и мной:

  • иногда некорректно определялось место для повешения на шипах
  • новые игровые часы продолжали идти и во время паузы 🙂
  • звездочка при заколе иногда выводилась не там, где надо

А также занимался грандиозным делом – подбирал на железной БК задержки для смены палитр “на лету”. Занятие не для слабонервных. Но мне удалось их подобрать! Теперь надо сделать определение среды запуска “эмулятор/железо” и применять те или иные тайминги. Так как я весь вечер гонял Принца на железной БК, то могу сказать, что Принц на железе работает шустрее, чем в эмуляторе. Очень заметно 🙂 Прям радует.

 

27
Сен
2021

Совсем скоро!

Сегодня:

  • добавил маски для “отдыхающего” Принца
  • добавил “внезапный музон”
  • исправил баг “плита по голове не всегда отнимает жизнь”

Осталось сделать задержки для реала и разобраться с выводом звука на обычный динамик. Похоже, эпопея подошла к концу 🙂

26
Сен
2021

Славная охота

Итак, сегодня сделано:

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

Осталось совсем немного:

  • разобраться с масками дохлого Принца
  • добавить внезапный музон в 6-м
  • исправить музон победы в бою (что-то там щелкает)
  • восстановить вывод звука на спикер
  • сделать выбор устройства вывода звука
  • настроить задержки для палитр на железе

 

 

25
Сен
2021

Шумеры

Сделано:

  • по совету Yellow Rabbit сделал микширование шума поприличнее. Артефактов стало поменьше.
  • поправил некоторые лабиринты (в паре мест обрывался узор, а в демо-лабиринт закрался дворцовый кирпич)
  • пришлось править сценарии демо-битв, т.к. с новым RND стражники стали драться активнее
  • увеличил паузу в срабатывании пил, почему там было 6 кадров вместо положеных 8 – неясно. Теперь пила работает как в оригинале. Но в итоге в демо пришлось править сценарий прохода через пилу, т.к. вместо “как надо переходить через пилу” с новой пилой получилась демка “как Принц запиливается”

Что осталось сделать:

  • у зеркала осталась синяя плита (от старой обстановки дворцов)
  • иногда муз.процессор не выключается и продолжает шуршать или свистеть
  • у стражника остались удары-промахи без звука
  • в падении с большой высоты Принц может помереть два раза, если упадет на “ветхую” плиту
  • маски на дохлого Принца надо накладывать иначе
  • добавить внезапный музон в 6-м
  • сделать подсчет времени по таймеру, а не по кадрам (раз Принц теперь бегает как на PC)
  • попытаться оптимизировать вывод решеток – они (в большом количестве) все-таки тормозят Принца. Может там тоже найдется что ускорить.

Звуки на спикер еще не выброшены из Принца, они вполне прилично звучат. Пробовал даже включать одновременный вывод звука и на AY и на спикер – прикольно. Наверное стоит их доделать, теперь они не тормозят принца. Неясно что делать с музыкой на спикер, правда. Попробовал несколько музыкальных редакторов (“Маэстро”, еще какой-то) – как-то фальшиво звучит в эмуляторе. Не знаю, может дело в эмуляторе, а может в тех демо-музонах, которые с ним идут. “Клавесин” на железе вроде звучал прилично, но та версия, что мне удалось найти, в эмуляторе виснет при старте.