Category: Goonies

13
Май
2022

Ноты и кости

Скелет научился спрыгивать вниз. Летящие объекты теперь разбираются в окружающем мире — ноты летят сквозь все, как и положено, а пули и кости — только до стен. Теперь надо научить их попадать в Балбеса, а тот должен уметь сшибать кости на лету.

Прикол — ютуб заявил, что опознал в ролике трек «The Goonies ‘R’ Good Enough», значит музыка вполне похожа ))

07
Май
2022

Музыка!

Продолжаю переносить код в расширенную память и побеждать возникающие при этом глюки. Но это довольно скучное занятие. И чтобы не так было скучно, я решил попробовать добавить музыку в игру. Музыку от игры я нашел  в инете в формате KSS. Братец Yellow Rabbit успешно преобразовал его в формат PSG, за что ему огромное мерси! Полученный PSG я сжал конвертером Kuvo, в итоге первая музыкальная тема в сжатом psg заняла чуть больше 4000 (8). Еще один вариант музыки мне прислал KoD, за что ему тоже спасибо. Была надежда, что этот вариант будет в формате какого-нибудь муз.редактора, но это оказался тоже бинарник, скорей всего тоже kss.

И вот, как теперь выглядит Goonies для БК-0011М:

Почему я пытался найти музыку в формате редактора? Потому что с музыкой от Gooines была целая эпопея. Как оказалось, машины MSX бывают в варианте PAL и NTSC, с разной частотой вывода кадров видео. Вроде бы и фиг с ним, но у них к частоте кадров привязана скорость проигрывания музыки. В итоге на PAL-версиях музыка в играх играет медленнее, чем на NTSC. И если в нотном тексте темп музыки можно увеличить легко, то в PSG-формате это уже совсем не так легко. Поиски какого-то «Goonies для PAL-версии MSX» ничего не дали, зато я нашел кучу обсуждений «с какой же скоростью должны играть музоны на европейских версиях MSX и для какой скорости их писали авторы». Если кто-то подскажет как немного ускорить PSG без потери качества воспроизведения (без потери нот и без сбивок ритма», буду признателен.

05
Май
2022

Продолжаем оптимизацию

Продолжаю перенос кода в расширенную память. Уже освободил 5662 (8) на нулевой странице и еще много чего можно перенести. При этом, конечно, сразу оно не работает, приходится править. Почему было не размещать там код? Потому что когда пишешь и «вот сейчас оно заработает и это скелет побежит!» обычно хочется сделать это побыстрей и увидеть результат, а это проще, конечно, когда никаких страниц не надо переключать и задумываться, как оно там сейчас расположено. А потом вот приходится все это перетаскивать, потому как нулевая страница не резиновая….

05
Май
2022

Оптимизация

Переношу подпрограммы в расширенную память, авось удастся впихнуть музыку в нулевую страницу. Это позволит избежать лишних телодвижений при любом переключении страниц. Ведь таймер вызвать прерывание в любой момент и если музыка хранится в расширенной памяти, то возникает необходимость возвращать конфигурацию страниц после обработки прерывания. А в БК нельзя узнать, какие страницы ОЗУ подключены в данный момент, если только не делать все переключения через собственный «менеджер памяти». Это мы все уже проходили в Принце. При переносе процедур стрельбы вышел небольшой глюк:

03
Май
2022

Скелеты

Скелет переквалифицировался в управ… шерифы. Изначально он был запущен на алгоритме простого черепа, чтобы просто отработать анимацию, а теперь получил свой собственный ИИ. Теперь он умеет ходить по лабиринту сам, перемещаясь между окнами. Он даже пытается прыгать через ямы, так что пока что пришлось ему эту фичу отключить. Кидается костями как пулеметчик, это надо тоже отрегулировать. К тому же страдает паранойей — слишком часто оглядывается.

Возникли некоторые идеи по поводу оптимизации данных в памяти, пока что займусь этим делом.

28
Апр
2022

Привидение и скелеты

Довел до ума улучшенный движок с «макросами». Все бегает как и раньше, но теперь в таблицах «упакованы» повторы одинаковых спрайтов в движениях.

Изучал поведение скелетов. Вот что удалось выяснить:

  • скелет может прыгать вниз, но есть те, которые не прыгают никогда
  • кидаются костями независимо от того, есть на этой горизонтали Балбес или нет
  • может запрыгивает на 1 уровень вверх
  • катается на мешке
  • в пятом уровне скелет умеет прыгать «вверх-вперед», что потенциально дает ему возможность перепрыгивать ямы, но этого пока увидеть не удалось
  • самоликвидируется после 3-4 ударов об стену

Попутно наткнулся на Привидение и сделал его прототип:

Траектория движения Привидения самая сложная из всех персонажей — оно ходит по кругу, при этом следуя за Балбесом этакими «завитками». И вдруг выяснилось, что его можно убить 5 ударами, а раньше я считал его неубиваемым. Это и понятно, возможности «сохраниться» на реальной Ямахе не было, лучшей тактикой было сбежать, уж слишком мощный урон от этого Духа.

 

27
Апр
2022

Оптимизация движка

Решил все-таки сделать возможность задавать в таблицах движений «макросы» повторов. Переписал таблицы с использованием таких «макросов», получилась экономия 1400 (8) байт. Теперь надо слегка помучаться с глюками, так как сходу эти команды не совсем правильно заработали.

26
Апр
2022

Вопящий Шериф

Сделал летающие ноты и добавил Вопящего Шерифа. Ходит и вопит, больше от него ничего не требуется. Ноты, правда, на лету почему-то «искрят», будем разбираться. Кстати, оказалось что в оригинале ноты вправо и влево летят одни и те же, не разворачивается спрайт.

24
Апр
2022

Кидание костями

Реализовал кидание костями. Попутно выяснилось, что скелет не совсем правильно ходил — слишком быстро. Это стало понятно, когда он кинул кость и, побежав, догнал ее в полете. Мне и раньше казалось, что он как-то неправильно ногами перебирает, теперь это исправлено. Займемся нотами!

23
Апр
2022

Летающие объекты

Сделал новый движок летающих предметов, сразу всех — пуль, нот, костей. Пришлось повозиться с унификацией. Пули уже летают в новом движке, теперь буду добавлять туда кости и ноты. Так что скоро скелеты начнут кидаться костями, а Вопящий Шериф — вопить.