Category: Разработка
Релиз обновлен
Новый релиз, содержит фиксы и фичи:
- BUG: по АР2+R сбрасывалось заданное управление
- BUG: ждать конца звука перед музыкой
- BUG: можно было хитро спрыгнуть без потери жизни
- BUG: иногда пролетал сквозь решетку
Фичи:
- сделано обнаружение отсутствия SMK и вывод надписи об этом
- добавлена возможность записи игры
О записи подробнее. Хоть я и прошел в свое время Принца без какой-либо записи, оказывается возможность такая была. И она описана в оригинальной доке:
Так я и реализовал ее:
- запись доступна только начиная с 4 уровня
- для записи нужно нажать клавиши АР2+W, при этом текущий лабиринт будет перезапущен
- для чтения нужно во время начальной заставки нажать АР2+L, игра начнется с начала записанного уровня
FIX!
Что происходит после релиза? Конечно же апдейты! Небольшой косметический фикс, залита обновленная версия.
Релиз!
Внезапно оказалось, что Принц готов. Для теста я прошел его от начала до конца, по пути пофиксил пару косметических багов. И решил, что пора уже его и выложить 🙂
Скачать образ дискеты: "Prince of Persia" для БК-0011М
Запускать можно в эмуляторе, который поддерживает СМК-512, и на железе, конечно.
Клавиши управления (все можно переназначить по АР2+K):
- Влево, вправо — бег влево и вправо
- АР2+Влево/Вправо — шаг влево и вправо
- Вверх — прыжок вверх, прыжок на бегу, зацепиться, блок при фехтовании
- Вниз — присесть, слезть, сложить меч
- АР2+Вниз — взять предмет
- Пробел — прыжок с места, удар при фехтовании
Управление от джойстика (все можно переназначить по АР2+J):
- Влево, вправо — бег влево и вправо
- Вверх — прыгнуть прямо вверх, залезть, поставить блок при фехтовании, зацепиться в полете
- Влево/вправо + вверх — прыжок с места, прыжок на бегу
- Вниз — слезть, присесть, сложить меч
- Кнопка 1 — удар при фехтовании
- Кнопка 1 + влево/вправо — маленький шаг
- Кнопка 1 + вниз — взять предмет
- Кнопка 2 — прыжок с места, зацепиться в полете, удар при фехтовании
- Кнопка 2 + влево/вправо — прыжок на бегу
Общие клавиши управления:
- КТ — пауза
- T — показать оставшееся время
- S — выкл/вкл звука
- АР2+A — начать уровень заново
- АР2+R — начать игру заново
- АР2+K — задать управление от клавиатуры
- АР2+J — задать управление от джойстика
- АР2+S — задать звуковое устройство (AY или встроенный динамик БК)
- АР2+Q — выход из игры
Для работы требуется СМК-512.
В данной версии музыка на заставках играется только на AY. Т.е. звук на пищалку в самой игре выводится, а вот на заставках — нет. Связано это с тем, что в заставках используется переключение палитр по таймеру и в результате пищалка просто не успевает пищать музыку.
Доделываю звук на спикер
Пришлось поизголяться со звуками на пищалку. Звукового редактора для таких звуков нет, так что создание недостающих звуков происходило в редакторе дампа, методом научного тыка 🙂 Ну и старые оцифровки не пропали даром, что самое главное.
Получилось вот что:
Осталось сделать мелодии для заставки и промежуточных роликов. Не знаю, получится ли что-то вменяемое, так как в оригинале всякие триоли, а у меня вывод квадратно-гнездовым способом. Если никто не найдет никаких багов в текущем варианте Принца — значит это будет релиз.
Железо рулит!
В процессе работы над звуками для «пищалки» я думал немного подрезать эти самые однобитные оцифровки, сделанные еще в 90х, чтобы они были покороче и не особо тормозили движок. А потом решил проверить как они звучат на «железной» БК… И оказалось, что та самая разница в скорости между эмулятором и реальной БК+СМК с успехом компенсирует «спикерную» нагрузку на проц. На БКшке оцифровки звучат только в путь! Оставлю как есть.
Пока неясно что делать с музыкой на заставках — этот способ воспроизведения музыки (одновременно с игрой) не особо позволяет играться с длительностями нот, а в музыке от Принца те еще навороты. Короткие мелодии (при взятии меча или кувшина) мне еще удалось более-менее выправить, а вот что-то длинное наверное превратится в трешовый ремикс 🙂 Попробую набрать какой-нибудь музон и проверить.
Возвращение пищалки
Сделал выбор устройства вывода звука по клавишам АР2+S:
Осталось добавить все эти самые звуки для спикера и музоны написать 🙂
Ну и все, собственно.
Пищалка
Решил все-таки сделать вывод звука на пищалку. По большей части потому что жалко готовые звуки, которые мы добывали выводом на принтер. Звуки, правда, были не все, пришлось доделать недостающие. А вот музыки для встроенного динамика вообще не было. Решил попробовать использовать редактор Савина «Клавесин». Но вот сам вывод музыки одновременно с игрой… Попытки воспроизводить музыку по прерыванию таймера провалились — в итоге звук был с явным фоном около 50Гц, что и понятно — таймер как раз 48Гц. В итоге я решил попробовать вывод музыки не квантами по таймеру, а все-таки нотами, с каждым кадром движка по одной ноте. Пришлось переписать музыку нотами минимальной длительности. Попробую, думаю, если будет фигня — ну и хрен с ним, пусть музыка остается на AY.
Попробовал и вдруг понял, что такое странное звучание музыки я уже слышал…. в видеороликах «Prince of Persia на Apple 2». Прикольно, конечно))
Вывод на спикер больше нагружает проц и с ним Принц бегает уже не так плавно. Лучше играть с AY 🙂
Вот что получилось у меня:
Вот как звучит на Apple:
Добиваем баги
Фиксим последние (надеюсь) баги:
- при спрыгивании с больших колонн нужно другое смещение, чем при спрыгивании со стены из висячего положения (баг оказался глубинным, я правил его два дня!)
- при приземлении с ударом об решетку не сбрасывался высотомер
- обнаружилось, что при выходе Принца из лабиринта вдруг исчезает труп стражника, если он валяется рядом
Свежие комментарии