Второй уровень заработал как надо!
Сегодня разбирался со старыми мелкими глюками и добавлял новые фичи (глюки). В итоге уровень заработал как надо.
Блог разработчика
Сегодня разбирался со старыми мелкими глюками и добавлял новые фичи (глюки). В итоге уровень заработал как надо.
Прописывание связей между дверями-телепортами для второго уровня оказалось сложнее, чем ожидалось. Во-первых, во втором лабиринте их куда больше, чем в первом (в первом всего один телепорт). При этом области, в которые Дейв телепортируется, часто изолированы между собой. То есть если телепорт сработал неверно, то назад уже не выберешься ни по каким лестницам. Это порядком затруднило отладку, ведь вначале у меня телепорты вообще через пень-колоду заработали.
Во втором лабиринте я столкнулся с тем, что шкафы и телепорты могут быть одинаковыми снаружи. В первом уровне такого нет…
Разбирался с глюком “белого мяса” на втором уровне.
Второй лабиринт начинает понемногу запускаться. Обнаружились ошибки конвертации – почему-то я внес в словарь нулевой элемент в начале данных, хотя это неверно. Перепаковал лабиринт, нашел начало реальных данных обстановки. Но при обработке второго слоя возникла странность – в лабиринте обнаружилась целая толпа “Электриков” (монстров с кодом 6). Завтра буду разбираться, откуда там взялась эта бригада.
Так-с, отпуск закончился, приступаю к Дейву. Перед отпуском как раз придумал, как применить git для БКшных разработок, так что теперь вспоминать “на чем я там остановился??” куда проще:
$ git log commit 7781e47d17cb3c94e46afa33fa756934c34c2fb3 (HEAD -> master, origin/master, origin/HEAD) Author: grf <grfmaniak@bk.ru> Date: Thu Aug 8 21:39:42 2024 +1000 Add multiload procedure GLoad. Tiles data rename to DTILES00-14. commit ef8d661478b817568938be3666cf5fe29a1539a3 Author: grf <grfmaniak@bk.ru> Date: Thu Aug 8 18:48:42 2024 +1000 Prepare to 2nd level. grf@grf-main MINGW64 /d/develop/bk/git/dave (master)
Начал оформлять данные второго лабиринта. У каждого тайла в Дейве есть байт свойств, где каждый бит указывает на то, можно ли этот тайл пройти слева направо, сверху вниз, может ли в него попасть пуля и т.д. Грубо говоря, стена это или потолок/пол. Так как дизайн лабиринтов очень разный, то и тайлы используются разные. И каждому надо прописать его свойства.
Открываю, значится, картинку с тайлами Дейва, готовясь долго и нудно рассматривать их и решать, что из всего этого является стеной/полом/потолком/шкафом…. а Тэд из прошлого подкинул подарок – свойства-то уже прописаны! Я и забыл, что когда-то убил кучу времени на вычисление всего этого. Но, только для первых трех лабиринтов. Дальше придется снова пилить эти гири… Но и за это спасибо, Тэд из прошлого!
Сделал анимацию финального Босса. Таким образом, все монстры готовы. Перехожу к добавлению новых уровней (первый уже порядком поднадоел) и созданию процедуры перехода между уровнями.
Итак, готовы оба варианта Призраков – обычный и засадный. Обычный сначала летает с мерцанием, потом при встрече с Дейвом материализуется, перестает мерцать и становится уязвимым. Засадный просто ждет, когда мимо пройдет Дейв и возникает из стены. Переходим к Черепу.
Так как я добавил кучу спрайтов еще в прошлый раз, когда делал Электрика, то для “изготовления” Призрака мне понадобилось лишь создать под него таблицы движений. К тому же, Призраку плевать на обстановку в лабиринте – он летает сквозь стены. Таким образом, Призрак вышел в свет значительно раньше других монстров. Однако, на самом деле в Дейве два вида призраков – один вид изначально летает себе, а второй вид ждет в засаде, когда Дейв пройдет мимо. И только после этого “рождается”. Полеты, в принципе, готовы, так что осталось сделать этого засадного Призрака и процедуру “материализации” – до первого столкновения с Дейвом Призрак не реагирует на попадания пуль, и начинает это делать только после этого самого столкновения и “перерождения”. Этим и займусь.
После Призрака останется сделать Череп и финального Босса. Потом сделать переход из лабиринта в лабиринт и мелкие доделки типа задания управления.
P.S. Слона-то я и не приметил! Оказывается, нематериализованный Призрак летает не просто так, он мигает! Каждая вторая фаза не выводится, он исчезает с экрана в этот момент. И только после материализации он начинает выводится на каждую фазу. Интересно, почему я раньше этого не замечал? 🙂
Свежие комментарии