Очередная охота на баги
Блог разработчика
Сделал переход из уровня 5 в 6, теперь изучаю его снова. Здесь очень хитрые прыжки требуются в оригинале. Есть несколько мест, в которые невозможно запрыгнуть, такие бесячие обманки. Поэтому это лучший уровень для регулировки высоты и дальности прыжков.
В процессе отладки 5-го уровня столкнулся с непонятным вылетом эмулятора и завершением его работы, когда заходил в локацию с кучей монстров. Самое неприятное, конечно, что отладить это было нельзя — ведь эмулятор полностью прекращал работу вместе со встроенным отладчиком.
Прохожу заново все лабиринты и доделываю недоделки. Сегодня мучал 5-й лабиринт. Во-первых, выход из него нестандартный — надо выпрыгнуть в окно и долететь до самого низа, тогда произойдет переход на следующий уровень. Сделано. Во-вторых, в этом лабиринте бегает Верфольф, который любит попрыгать, а еще здесь он впервые встречается с лестницами. В итоге Вервольф вместо того, чтобы бегать за Дейвом, весело прыгал по лестницам все выше и выше, а затем выпрыгивал в то самое окно вместо Дейва. Видимо, он сам хотел перейти на следующий уровень. Пришлось его отучать.
Почти все баги, из-за которых население сбегало за пределы рабочих локаций найдены и пофикшены. Почти — потому что Липучка все-таки умудрилась по полу просочиться сквозь стену. А Макаки теперь ведут себя вполне прилично
Постепенно допиливаю уровень 7. В нем вылезло множество глюков в распознавании обстановки Монстрами. Некоторые вещи были заметны сразу — Липучки и Макаки бродили за пределами локаций, в космосе. Некоторые стали видны немного позже — Липучки норовили проползти сквозь стены и на потолок цеплялись ниже уровня кирпичей.
Анимация фона и среднего слоя теперь работает на новом движке, который обсчитывает всегда только часть объектов, а не все, которые есть в лабиринте. Это дало значительный прирост скорости отрисовки кадра (особенно, когда таких объектов на экране нет). Дейв снова стал бодро бегать по лабиринту. Идея Братца Кролика сработала на все 100, гранмерси ему за это!
Борьба за ускорение обработки анимации объектов заднего плана не закончилась на исправлении ошибки. Внедряем новые методы обработки данных!
Обнаружив, что без вызова процедуры анимации предметов движок успешно справляется со всеми Монстрами и их ИИ, я, конечно, начал разбираться с этой самой процедурой. И выяснил, к своему удивлению, что …
Свежие комментарии