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