Category: Разработка

14
Окт
2021

Доделываю звук на спикер

Пришлось поизголяться со звуками на пищалку. Звукового редактора для таких звуков нет, так что создание недостающих звуков происходило в редакторе дампа, методом научного тыка 🙂  Ну и старые оцифровки не пропали даром, что самое главное.

Получилось вот что:

Осталось сделать мелодии для заставки и промежуточных роликов. Не знаю, получится ли что-то вменяемое, так как в оригинале всякие триоли, а у меня вывод квадратно-гнездовым способом. Если никто не найдет никаких багов в текущем варианте Принца — значит это будет релиз.

 

09
Окт
2021

Железо рулит!

В процессе работы над звуками для «пищалки» я думал немного подрезать эти самые однобитные оцифровки, сделанные еще в 90х, чтобы они были покороче и не особо тормозили движок. А потом решил проверить как они звучат на «железной» БК… И оказалось, что та самая разница в скорости между эмулятором и реальной БК+СМК с успехом компенсирует «спикерную» нагрузку на проц. На БКшке оцифровки звучат только в путь! Оставлю как есть.

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

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).

 

30
Сен
2021

«Отберите у Теда желтый блокнот!»

Вычеркиваем:

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

Хитрый глюк с игнорированием клавиш обнаружил Алекс Шестипалов, за что ему граненое мерси 🙂 Возникало это только в ситуации, когда Принц с пола вешался на стену, но залезать передумывал и спрыгивал обратно на пол. Причем именно на стену, а не на арку. И если после этого умудриться ни разу не упасть, не спрыгнуть с высоты хотя бы одного кирпича, а затем погибнуть в бою со стражником — вот только тогда не появлялась надпись «Press button to continue» и ожидание клавиши было бесконечным.  Просто при спрыгивании с кирпича (без залезания наверх) высотомер не сбрасывался (ошибочно, конечно). А вот ожидание обнуления высотомера я добавил только недавно, для того, чтобы дождаться полного падения Принца в пропасть, прежде чем перезапускать лабиринт по нажатию клавиши. И тут звезды сошлись… Принц считался летящим и ожидание было вечным.

Заставка теперь пропускается клавишей джойстика. Завтра буду делать новое управление от джойстика, с добавочной кнопкой для прыжков и стрельбы.

 

29
Сен
2021

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

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

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

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