Category: Goonies

16
Окт
2023

Очередная порция багов

  • неверно вычислялся BX при широком спрайте
  • при вертикальном прыжке с ударом о потолок происходил переход в базовую стойку, а нужно сразу падать вниз. Это было незаметно, пока к низкому потолку не добавлялась рядом стена – тогда срабатывало еще и обнаружение стены, что вело к неверному отскоку снова вверх
14
Окт
2023

Любимое (нет) занятие – фиксим баги

  • исправлен прыжок Балбеса в упор к стене
  • исправлены “дикие скачки”, если потолок над Балбесом низкий и он ударяется головой
  • Шериф иногда неверно пересекал окно при уходе влево

Когда я исправлю все баги – игра будет готова. Останется только сделать финальный мульт и внедрить пасхалки.

Пасхалку в Принце никто пока не нашел. Но в первом DOOM последний секрет был взят только в этом году 🙂

 

 

12
Окт
2023

Отловлен древний баг!

Так как я вышел на тропу борьбы с багами, первым делом решил заняться самым надоевшим багом – Шериф периодически проваливался под землю в самых странных местах. Причем, выглядело это хитро – приходишь в какой-нибудь кусок лабиринта, а Шериф там провалился в “окоп” и бродит из угла в угол, запертый в “канаве”. Как он туда попадал? Я пытался поймать его конкретно на этом месте “провала”, он приходил и бродил без всяких проблем по этому самому месту, не проваливась. Т.е. дело было не в ошибочном обнаружении какой-то ямы вместо обстановки, он реально нырял в яму только если его никто не видел. У меня уже были мысли, что он смещается туда при какой-то нештатной ситуации, типа “попал под падающую глыбу и отскочил сразу в стену”. Но как это выяснить?

В этот раз я решил вывести его на чистую воду – отследить его маршрут. В процедуре вывода Шерифа я прописал “выводить Шерифа на экран всегда, независимо от того, в видимой части лабиринта он в этот момент или нет”. И момент провала я увидел:

Т.е. Шериф действительно проваливался, а не телепортировался от каких-то нештатных ситуаций. Осталось выяснить, почему он не находил там землю. Оказалось (как обычно) все просто. На заднем плане в этом месте “шкаф”, а шкаф в сжатом лабиринте представлен всего двумя кодами – признаком шкафа и кодом его содержимого. Полноценным шкафом это становится тогда, когда шкаф выводится на экран. А когда он выводится? Когда в окно со шкафом (вот фразочка!) заходит Балбес. Вот и получается, что Балбес своим присутствием делает шкаф полноценным, со стенами и ЗЕМЛЕЙ, а бедные Шерифы и Скелеты вынуждены бродить по лабиринтам, где вместо шкафа нули… Вот они и проваливаются в тартарары то там, то сям…

Как я пофиксил этот глюк? Стал ли я полноценно распаковывать невидимые шкафы, чтобы Шерифы не ныряли в ямы? Нет, теперь упаковщик лабиринтов вместо нулей в нижней линии шкафа пишет код земли, да и все. Шерифы теперь видят землю вместо недораспакованного шкафа, а на сам шкаф им плевать 🙂

 

 

11
Окт
2023

Индикатор режима звука

Все-таки я решил сделать индикатор режима звука в виде иконки в “подвале”. Там есть неиспользуемое место, рядом с полем ключа. А если он кому-то кажется “неродным” – ну так в оригинале вообще звук не отключается, и если не отключать его, то индикатор и появляться не будет. Тогда все будет аутентично 🙂

11
Окт
2023

Вкл/выкл звука и музыки

Сам механизм выключения и включения музыки и звуков готов:

  • АР2+S – выключить/включить и звуки и музыку (играть в тишине)
  • АР2+M – выключить/включить только музыку (играть без музыки, но со звуковыми эффектами)

Осталось придумать, как информировать игрока об этих переключениях – выводить надписи типа “MUSIC OFF”, которые потом надо стирать, или же какой-то индикатор выводить типа перечеркнутой ноты…

09
Окт
2023

Настройка управления: джойстик

Добавил настройку управления от джойстика:

В оригинале на джойстике, судя по всему, используется только одна кнопка – для удара.  Надо подумать, не удобнее ли задействовать отдельно кнопку под прыжок, дополнительно к крестовине.

05
Окт
2023

Двигаемся дальше

Работы привалило, но по-немногу двигаемся:

  • немного перераспределил данные, перенес некоторые спрайты, это дало кусок памяти в нужной странице
  • начал делать задание управление от клавиатуры/джойстика (в оригинале этого нет, кстати)

 

28
Сен
2023

Новая версия bkemu – скоростная!

Новая фича bkemu “максимальная скорость процессора” сократила время сборки с 15 минут до 30 секунд! Огромное спасибо автору! Теперь и в поездках можно кодить для БК, компилируя с максимальной скоростью!