Итак, Оборотень научился охотиться на Дейва. В процессе выяснилось, что его «затаивание в засаде» возникает само собой — он просто слишком быстро убегает и в итоге выходит из области обработки монстров движком. Так что эта фича реализовалась сама собой 🙂 Надо будет еще обкатать Оборотня в лабиринтах с большим количеством ящиков и платформ для прыжков, не будет ли он там застревать где-то.
Начал делать Оборотня. Для начала сделал бег. И пока я выяснял, по каким же принципам Вервольф делает прыжки — я понял, что это самый балбесный монстр, который так и норовит где-нибудь застрять и зациклиться в прыжках. Хотя раньше встреча с Оборотнем в игре означала максимальную опасность. Наверное, засчет его внезапности. Уж больно резво он выпрыгивал из-за угла, как черт из табакерки. Да и бегает он быстрее всех остальных, при этом выдерживая три попадания из дробовика. Еще он умеет затаиваться — убегает и не возвращается, приходится его выманивать, а он кааааак прыгнет… Вообщем, завтра буду пытаться разгадать его алгоритм.
Паук готов! Пришлось повозиться с этой паутиной, т.к. рисуется она отдельно от остальной анимации. И сдается мне, сделал я это слишком мудрено. Завтра попробую упростить. Из монстров осталось сделать Призрака, Череп и Вервольфа.
Собственно, Паук самый простой из всех монстров в Дейве. Всего лишь следит за Дейвом по координате X и кидается на него, если Дейв ниже, чем паук. Поэтому, сделал я его быстро. Осталось только добавить нить, на которой он спускается, и потом ее убирать при подъеме Паука.
Теперь она уверенно гоняется за Дейвом по всему лабиринту, умудряясь даже сбивать его на лету, как ракета 🙂 В целом, я доволен получившимся ИИ. Для проверки побегал от Липучки по лабиринту — получилась целая игра в прятки 🙂 Дальше по плану Паук.
Итак, Липучка научилась летать 🙂 В процессе выяснилось, что в оригинале она летает не так просто, как кажется — вверх прыгает с медленее и по другой траектории, чем вниз. Авторы были внимательны к мелочам. Звук прыжка добавил для пробы, он оказался громковат. Ну и саму липучку надо дообучить — пока что она иногда влетает в стены в некоторых местах.
Она же «Слизняк», она же «Жвачка», она же Эльза Кальценбоген. Сегодня начал делать эту самую Липчку. Поизучал движения в оригинале — в итоге смог минут 10 от нее спокойно убегать, хотя раньше шарахался, как черт от ладана. Принялся реализовывать. Пока что сделал движения по полу вправо и влево. Завтра буду делать прыжки. Интересно мне, как в оригинале задается начальное состояние Липучек в лабиринте? Ведь они могут и по потолку бегать и по полу, а код у нее один — 3. Или они все изначально на полу, а при старте начинают разбегаться кто куда? Поизучаю…
Загруз по работе пока отступил, снова занялся Дейвом. В результате Зомби перестали бродить по воздуху. Затем исправил ошибку со взятием предмета из шкафа, она давно меня бесила — оказалось, что неверно высчитывался адрес тайл для восстановления фона. Занялся стрельбой: с клавиатуры нажатие клавиши «вверх» или «вниз» переводит Дейва в режим прицеливания. Если после этого клавишу отпустить — Дейв продолжит прицеливаться и можно будет нажать клавишу «огонь». После выстрела режим прицеливания остается. При нажатии любой другой клавиши — переход в новое движение или в основную стойку. Такие заморочки связаны с тем, что на БК нельзя жать несколько кнопкок одновременно (кроме случаев нажатия с регистровыми клавишами).
На джойстике все как в оригинале — отпускаем клавишу «вверх» и Дейв опускает дробовик.
Теперь занимаюсь тем, чтобы Дейв при стрельбе не влетал в стену от отдачи, а упирался в нее. Вроде бы все получилось.
Свежие комментарии