Разлетайтунг ошметков готов!
Сегодня сделал разлетание ошметков с учетом обстановки – они падают в ямы, отлетают от стены и все такое:
Блог разработчика
Сегодня сделал разлетание ошметков с учетом обстановки – они падают в ямы, отлетают от стены и все такое:
Добавил анимацию разлетающихся кусков мяса, пока без обработки обстановки:
На самом деле эти куски должы реагировать на окружающую среду – отлетать от стен, падать в ямы и на всякие там ящики. Завтра буду этим заниматься.
Переписываю вывод всей графики на новый формат команд блиттера. Помимо изменения способа задания размеров спрайта, добавился и новый способ позиционирования спрайтов на экране – теперь блиттеру можно указать координату Y в виде номера строки. Раньше это был 24-битный адрес. Так что переделывать пришлось много чего. Но уже почти все получилось.
Из-за длительного перерыва (отпуск на море!) дело шло со скрипом. Все-таки пока целиком погружен в проект – пишется легко, вся структура в голове. А немного отвлекся и приходится въезжать заново 🙂
Итак, Таиланд посещен, возвращаюсь к разработке. Остановился я на том, что в при попадании в монстра нужно спрайт монстра целиком белым. Я собирался программно генерить белый спрайт из текущей фазы монстра, но Maxiol добавил в блиттер AZBK команду, позволяющую залить спрайт нужным цветом. В эмуляторе GID пока что не заявлено поддержки этой фичи, так что я решил пока заняться процедурой разлетания кусков мяса убитого монстра.
Первым делом я, как обычно, стал изучать как это выглядит в оригинале. Сразу стало понятно, что куски, разлетающиеся от монстров, являются полноценными объектами, падающими в ямы, разворачивающимися от столкновений со стенами и т.д. От Бабуляторов разлетается два куска, от Зомби – четыре. Потом обнаружилось, что от Липучки ошметки могут лететь как в разные сторону, так и в одну (хотя Липучка никуда еще не прыгнула, а только целится). Видимо учитываются ее намерения.
Сдается мне, что авторами сначала была написана система разлетания мяса, а потом они стали думать, в какой игре это применить 🙂
Сегодня ножи, которыми кидаются Бабки, полноценно полетели по лабиринту – они находят стены и разбиваются о них:
Не обошлось без неожиданных глюков:
Теперь можно начать обрабатывать попадания в монстров. Тут две задачи:
Итак, Бабки научились кидаться ножами. Применил такую же стереофонию, как в “Prince of Persia”: звук броска слева – воспроизводится в левом канале, звук броска справа – в правом. Однако, возник интересный глюк – при левом броске звук воспроизводится с искажениями, хотя массив играется один и тот же. Похоже, что-то я сломал в звуковом стерео-движке, пока переделывал его под Goonies:
Все время думал, что в Дейве ножами кидаются Бабки. Как оказалось, так думал не один я, но и многие другие игроки. В своем время Джона Ромера даже специально спрашивали об этом персонаже и оказалось, что это мужик-горбун, да еще и Игорь:
The knife-throwing creature which is first encountered on upper floors of the first level was affectionately called “old lady” by many fans, though it is actually a male hunchback, similar to classical Igor from Frankenstein movies.
Итак, сегодня Бабуляторы появились и в моем ремейке Дейва:
Спрайты все еще мигают, так как фикса эмулятора пока еще нет. Честно говоря, они мигают куда мощнее, это я уже изголяюсь, чтобы ролик записать более-менее прилично 🙂 Когда-нибудь проблема будет пофикшена и сразу все перестанет мигать. А пока – пишу дальше так.
После длительных разборок с видеовыводом на железный и эмулируемый блиттер, я решил пока забить на глюки и просто делать игру дальше. Первым делом обучил Зомби распознавать лестницы и добавил нужную анимацию шагов вниз по ступенькам:
Свежие комментарии