БК-11М в 21м веке

05
Май
2022

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

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

05
Май
2022

Оптимизация

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

03
Май
2022

Скелеты

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

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

28
Апр
2022

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

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

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

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

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

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

 

27
Апр
2022

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

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

26
Апр
2022

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

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

24
Апр
2022

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

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

23
Апр
2022

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

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