Наполняю лабиринты
Забиваю второй уровень:
Блог разработчика
Сделал процедуру перехода между уровнями. Немного ее надо еще допилить — музыка в мультике не синхронизирована и еще надо нечисть стереть при уходе в дверь. Пришлось поправить спрайты анимации ухода в дверь, чтобы они подходили и для черепа-телепорта и для двери в следующий уровень. Помимо этого сделал мигание собранных «голов», вывод кода быстрого доступа к уровню, обмен данными между памятью и диском (загрузка заставки и обратная загрузка данных). Движемся вперед 🙂
Прицепил модуль заставок (мультиков) к основной игре. Пока что он играет первую заставку. Заодно перерисовал буквы GOONIES, чтобы было больше похоже на оригинал, а также поигрался с переключением палитр на лету, чтобы текст копирайтов был белым.
Добавил музыку в анимацию, в тайминг почти попал. Вот и готова промежуточная заставка между уровнями. Теперь можно делать сам переход из уровня в уровень.
Начал работу над дверями. Входные двери должны появляться при входе в лабиринт, потом исчезать. Оказалось, открытые двери не были нарисованы, пришлось рисовать. Теперь двери успешно появляются, но пока не исчезают. Адрес вывода Балбеса при входе тоже будет, как и должен, привязываться ко входным дверям. Поправил несколько глюков, населил первую сцену второго лабиринта (не)живностью.
Сегодня доделал загрузчик — теперь игра сама читает с диска любой лабиринт без участия OS. Для пробы прогулялся по второму уровню (пока еще почти без нежити). Теперь надо сделать сам процесс перехода, со всеми этими дверями открытыми/закрытыми/исчезающими.
Сделал батник для упаковки/перевода в obj/линковки/сборки в единый файл всех лабиринтов. В итоге получается файлик LEVELS.DAT размером 25 килобайт, который расчитан на поблочное чтение в процессе работы игры. Теперь буду писать загрузчик для этого набора данных.
Вот как работает автоматическая сборка:
Сделал движения медленного шерифа. Добавил звук вопля:
Теперь можно заняться переходами из уровня в уровень.
Сделал шерифа средней скорости, сделал скоростного. Осталось сделать медленного, который ходит не торопясь.
Итак, перебрал я 4 варианта ускоренной ходьбы. В оригинале Балбес начинает смещаться между спрайтами то на одну, то на две точки, при этом в цикле быстрой ходьбы у него 12 фаз, а не 16, как при медленной ходьбе. Проходит он в итоге 18 точек за 12 фаз. Мне нужно было добиться такого же результата, но используя только имеющиеся спрайты, которые я не могу выводить поточечно, а только с шагом в 4 точки. Пришлось изрядно их потасовать, чтобы движение было более-менее плавным и при этом Балбес проходил именно 18 точек за 12 фаз, а не тормозил и не носился как угорелый. От этого зависит его способность убежать от определенных врагов, а это немаловажно 🙂
Вроде бы получилось:
Свежие комментарии