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

07
Ноя
2023

Очередные фиксы

  • появление Мыши могло остановить один из черепов (затиралось лишнее слово в списке)
  • рождающийся скелет наносил урон (я это уже правил, но строка оказалась закомментирована, видимо, нарвусь на причину  в будущем)
  • изменен метод RND повышенного шанса выбивания монет каплями (при взятом молотке)
05
Ноя
2023

Последняя капля

Как оказалось, остался один спрайт старого формата — это спрайт брызг от капель. Переделал его и его вывод. Оптимизировал еще пару моментов — выбор страницы для спрайтов при выводе теперь происходит быстрее.

04
Ноя
2023

Оптимизация

Оптимизировал процедуру вывода спрайта, а точнее разбора того, как нужно выводить запрашиваемый спрайт — где найти его маску, нужно ли поворачивать (есть спрайты, которые никогда не поворачиваются) и т.д. Особо не ускорилось, но ветвлений стало поменьше. И выкинул процедуру вывода спрайтов формата «данные-маска», т.к. таких спрайтов в игре теперь не осталось.

 

04
Ноя
2023

Доделываю мышь

Реализовал сброс триггеров Мыши после ее уничтожения. Теперь Мышь появляется снова в том же окне, если снова пройти по триггеру. Добавил спрайты «лопания» врагов цвета самих врагов, а то раньше был один зеленый на всех. Спрайт «лопания» был последним, имеющим структуру байт+маска, так что процедуру поворота таких спрайтов удалось выкинуть.

03
Ноя
2023

Еще более продвинутая Мышь

Доделал (почти) Мышь — исправил глюк с маской, поправил движения. Мышь стала летать более плавно, перестала улетать за верхнюю границу экрана. Осталось сделать ей отдельный спрайт «лопания», ее цвета. А также сделать восстановление триггеров Мыши после ее уничтожения.

Вот как теперь летает Мышь:

02
Ноя
2023

Новая Мышь

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

01
Ноя
2023

Фиксим

  • исправлен баг с определением факта попадания пули/кости в Балбеса
  • исправлен баг с зависанием при попадании пули в Балбеса
  • исправлено «подпрыгивание» Шерифа при ходьбе (не вычислялись заново координаты после вертикальной коррекции)
  • немного поправлен поиск Шерифом лианы вниз, теперь он находит ее немного позже, не прыгая сбоку на лиану

P.S. прослушивание лежавших без дела сто лет CD-дисков на CD-ROM в моей БКшке явно повышает производительность 🙂

 

31
Окт
2023

Охота на баги продолжается

Есть время разбрасывать баги и время эти баги фиксить. Сегодняшние результаты:

  • в одной из сцен две глыбы двигались слишком быстро и Балбесу было трудно под ними проскочить
  • при рестарте игры не очищался список взятого шмота, можно было взять две одинаковых каски. В оригинале, кстати, не все предметы сбрасываются между рестартами игры, некоторые могут оставаться (баг или фича?)
  • брызги капель выводились с глюком, если в этот момент Балбес нес урон
  • ну и самая смешная ошибка — обнаружилось, что при входе в третий уровень по коду игра «замораживается». Думалось мне, что там что-то не то со списком нечисти. Оказалось, что все довольно смешно: для входа в третий уровень нужно набрать код «GOON DOCKS», а на клавишу «С» у меня осталось повешена отладочная функция «Включить артефакт Часы». Ну вот они и включались 🙂

 

29
Окт
2023

Заставка переделана

Как оказалось, в оригинале нажать комбинацию CTRL+K (для ввода кода перехода на нужный уровень) можно не только на первом «синем» экране, а вообще в любой момент начальной заставки и начальной демонстрации. Переделал обработку нажатия клавиши на заставках, чтобы реализовать данный сценарий.

29
Окт
2023

Пилим по-немногу

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