Доработка редактора лабиринтов
Пришлось все-таки ввести в редактор новые функции — ввод и отображение служебных кодов обстановки, типа «источник капель со скоростью такой-то», «флаг номер такой-то».
Блог разработчика
Пришлось все-таки ввести в редактор новые функции — ввод и отображение служебных кодов обстановки, типа «источник капель со скоростью такой-то», «флаг номер такой-то».
Придумал новую структуру уровня, для использования с упакованными лабиринтами. Начал реализовывать — делать таблицы шерифов, бонусов, связей телепортов и организовывать их по новому принципу. Собрал новый уровень, в нем содержатся все данные и 5 сжатых сцен. Ну, думаю, пора попробовать загрузить такой новодельный уровень, распаковать его в игре и запустить туда Балбеса. Так-с, где там наш распаковщик, надо его прицепить к основному коду…. Где же он? А нигде! Распаковщик, оказывается, не написан! Значит я хотел прикинуть, насколько сожмутся лабиринты, чтобы знать как дальше организовывать работу с переходами из уровня в уровень и т.д. Написал упаковщик, сжал лабиринты, прикинул, порадовался. И тут я приостановил работу над Goonies и начал делать Setup для AZ.
Ок, нет распаковщика — сейчас мы его напишем, там же все просто. Написал. Попробуем распаковать — ага, распаковалось. И что там распаковалось? Не совсем что-то совпадает с оригиналом. Детали не совпадают небольшие, нюансы. Точнее вообще какая-то ересь вместо распакованного лабиринта получилась. И почему же так? А потому что там и в упакованном ересь какая-то, не так должно выглядеть. В словаре одно, а в архиве другое. Значит и упаковщика тоже нет…
В итоге я нашел в чем был глюк в упаковщике и он стал упаковывать значительно быстрее. А распаковщик вообще за один проход все распаковывает почти мгновенно. Ну вот, теперь можно снова попытаться загрузить лабиринт нового формата в игру…
Пришло время собрать лабиринты в более осмысленные данные, чем один простой уровень, на котором я отлаживал основные механики игры. Уровни у меня уже сделаны и упакованы, но пока что все работало в одном распакованном уровне. Теперь надо начинать работать со сжатыми сценами. А так как лабиринты во время игры изменяются (ключи берутся, бонусы собираются), то новые данные надо снова упаковывать при переходе из сцены в сцену. Так что начинаю внедрять новый формат. Посмотрим, успеет ли при переходе через «череп» за вменяемое время упаковаться старая сцена и распаковаться новая, или надо делать это более хитро.
Сделал движения медленного шерифа. Добавил звук вопля:
Теперь можно заняться переходами из уровня в уровень.
Сделал шерифа средней скорости, сделал скоростного. Осталось сделать медленного, который ходит не торопясь.
Сделал взятие скоростных кедов. При этом происходит замена таблиц движения Балбеса на ускоренные.
Итак, перебрал я 4 варианта ускоренной ходьбы. В оригинале Балбес начинает смещаться между спрайтами то на одну, то на две точки, при этом в цикле быстрой ходьбы у него 12 фаз, а не 16, как при медленной ходьбе. Проходит он в итоге 18 точек за 12 фаз. Мне нужно было добиться такого же результата, но используя только имеющиеся спрайты, которые я не могу выводить поточечно, а только с шагом в 4 точки. Пришлось изрядно их потасовать, чтобы движение было более-менее плавным и при этом Балбес проходил именно 18 точек за 12 фаз, а не тормозил и не носился как угорелый. От этого зависит его способность убежать от определенных врагов, а это немаловажно 🙂
Вроде бы получилось:
После взятия «скоростных кед», Балбес значительно ускоряется при ходьбе. Придумал два варианта движения с увеличенной скоростью, сегодня сделал первый, завтра попробую второй. Посмотрим, какой будет смотреться получше. Вот первый в сравнении с обычной скоростью ходьбы:
Довел до ума реализацию автоповтора для клавиатуры и джойстика. Теперь Балбес не начинает прыгать сразу после залезания по лиане, не смотря на то, что клавиша «Вверх» все еще нажата, а ждет ее отжатия. Тоже самое с ударом — теперь не молотит без передышки, а ждет отжатия кнопки «Удар». Для других ситуаций автоповтор работает. Эти условия выполняются и для клавиатуры и для джойстика.
Память нерезиновая, пришло время выкинуть ДОС и читать с диска файлы только с помощью самого КНГ(Ж)МД. Возьму загрузчик, который у нас работал в Принце, до СМК-версии. Т.е. пока ДОС жива — ищем в каталоге свои файлы, запоминаем начальные блоки для каждого и потом грузим уже без помощи операционки. При этом теряется совместимость с множеством дисковых систем БК — у них у всех разные структуры каталогов. Будет поддерживаться только ANDOS.
Свежие комментарии