И второй бой вдогонку!
Сбацал и второй бой для демо.
Блог разработчика
Отучил стражника от инициативы в демо-режиме, иначе невозможно получить толковые демонстрации приемов боя. В итоге удалось сделать первый варинт боя поинтересней, чем вчерашний.
В который раз накалываюсь с СМК — пишешь себе, пишешь, все работает. Потом вдруг после нового запуска эмулятора с нуля оказывается, что все страшно глючит. И в чем же дело? А в том, что что-то изменил с загрузкой-выгрузкой СМК и ошибся. На самом деле ничего программе не удалось в СМК залить, но данные там остались с прошлого удачного раза. И потому все работает. Пока не сбросишь СМК…
Итак, демо-режим успешно заработал:
Без приколов, правда, не обошлось. Принц-то действует как ему прописано, а вот стражник проявляет инициативу. Суть ю демки является показать возможности Принца, в том числе в бою. Так вот Принц должен защищаться, но стражник вспомнил, что у него в AI есть генератор случайных чисел и защититься Принцу он не дает )) Точнее, это у Принца не всегда получается — я несколько раз смотрел по кругу, бой все время разный, Принца даже скидывают в пропасть иногда.
Надо подумать, как это пофиксить…
На первый взгляд совершенно бредовый ролик… Но фишка тут в том, что Принцем на самом деле управляет не человек, а движок демо-режима 🙂 Он подсовывает движку игры «нажатые» кнопки (в данном случае случайные), а движок игры выполняет все, как будто это играет человек. Таким образом я собираюсь с малыми затратами реализовать то самое демо, которое играется в начале оригинального Принца на PC. Там Принц демонстрирует свои умения игроку — бегает, прыгает, фехтует на все лады. Пьет ли кувшины? Нет, тогда он еще вроде не пил…
Пристыковал модуль заставок к основной программе. Раньше это был отдельный блок, воспроизводящий мультики. Теперь он умеет загружать основную игру и отдавать ей управление. Всю эту кучу заставок и мультиков оказалось не так-то просто прервать: нельзя просто взять и очистить экран по нажатию клавиши, ведь картинка-то «мультипалитровая» и ее нельзя просто так стереть. Если все остановить и начать стирать экран — палитры расползутся и станет видно «истинное лицо» этих картинок 🙂 Пришлось поизголяться. После того, как основная игра начала запускаться, вдруг оказалось, что стражники разучились фехтовать, а звуки падающих плит отдают шизофренией. Думал, что-то портится в памяти SMK при проигрывании мультиков, ковырялся долго… Но оказалось, что дело в том, что мультики перенастраивают внутренний таймер для своих нужд, а в самой игре он тоже используется для рандома при фехтовании и для разнообразия звука качающихся плит. А инициализация таймера была как раз в первоначальном простом загрузчике, который теперь стал мультимедиа-монстром. Пофиксил, конечно. Завтра попробую прикрутить демо-режим.
Сделал таблицу рекордов и ее вывод в начальных титрах:
Теперь надо сделать ввод строки в нее при новом рекорде, сохранение таблицы на диск. При вводе нового имени таблица будет выглядеть поинтересней, все-таки новый рекорд установлен 🙂
Но главное то, что я сегодня вспомнил как именно я собирался реализовать демо-режим! Это куда проще, чем проигрывание всех этих мультиков. А значит, демо тоже будет, скорее всего 🙂
Для таблицы рекордов нужно было сделать шрифт, причем пропорциональный. Нарисовал я его. Решил заодно и в самой игре выводить им надписи. Собственно, это итак надо было сделать.
Так выводились надписи до сих пор:
Так будет выглядеть с новым шрифтом:
Получил посылку с новым комплектом AZ. Залил прошивку, подключил к БК и к монитору через VGA-выход и сразу получил шикарную картинку на мониторе:
Видно каждый пиксель, ничего не трясется и не бегут никакие помехи как со всякими GBS.
Через VGA-HDMI без проблем подключил к телеку по HDMI:
А самое главное, БК-шка теперь умеет к сети подключаться! Тут была небольшая заморочка с блоком питания моей БКшки, но все успешно было поправлено. Вставляем патчкорд в сетевую карту и вуаля:
Содержимое карты памяти БК теперь доступно по WebDAV:
Шикардосиум!
Ждем реализации остальных фич AZ:
Планируемый фунционал: 1. сам контроллер AZ с кучей дисков,сетевой картой, сервером WEBDAV эмуляция дисков: - RT11 32МБ - дискет - образов SMK512 2. оперативная память 32МБ с загрузкой с SD-карты и эмуляция всяких ПЗУ - те я думаю, можно будет реализовать концепцию с полным отключением всех ПЗУ в БК. 3. КНГМД со стандартным 40pin разъемом для подключения дисководов 4. RS232 полноценный с возможностью переключения на TTL 3.3V + программное управление скоростью порта 5. AY-3-8910 x2 6. Covox / стерео / 16bit 7. OPL2 8. Перехват спикера 9. микшер звука (те спикер, ковоксы, AY, OPL2 итд) 10. таймер с прерыванием для обработки звука и/или DMA контроллер для звука весь звук выводится на 16bit-цап и наружу 11. Часы с календарем, питание от 2032 12. Синхронизация часов через Internet 13. Энергонезависимая память для сохранения настроек звука, конфигурации 14. VGA видеовыход, с поддержкой legacy режимов а также расширенной палитрой 15bit (5bit на канал) поддержка образов дисков: 1. диски для RT11 - это уже есть 2. образа дискет - планируется 3. образа hdi - те "образ винта" - планируется
Пишу музыку для заставок и титров. Делаю это таким образом: беру за основу midi из оригинала, открываю в Open ModPlug Tracker , смотрю в нем ноты:
и пишу в Vortex Tracker свою «версию»:
Инструменты, само собой, приходится создавать самому, т.к. в midi есть только ноты. Пример результата:
Если завтра музыку допишу — соберу начальную заставку целиком. Там осталось только паузы подобрать нужные, чтобы синхронизировать с музыкой появление надписей и колдунство на сильную долю.
В оригинале есть еще демо-режим, где принц сам бегает по небольшому лабиринту, показывая всякие приемы. Даже не знаю, делать его или нет. Толку от него немного, а времени сожрет много.
Свежие комментарии