Неделя прошла без особого героизма. Практически никаких визуальных изменений не произошло. Зато было выявлено и исправлено множество ошибок. Виртуальная машина обрастает функциями. Грядущая неделя должна принести нам функцию диалогов. Я практически уверен, что у нас получится пообщаться с Клинтом возле храма. Для этого уже практически все готово: добавлены соответствующие скриптовые обработчики, шаблон окна диалога и функция загрузки необходимых msg файлов. К сожалению, сейчас я слишком загружен работой и не могу уделять много времени разработке движка. Но тем не менее движок понемногу развивается, так что следите за обновлениями! :)
Для игровых объектов создана иерархия классов. Реализован игровой курсор, позволяющий выбирать действия с объектами. В скриптовом движке реализована поддержка новых функций. Появился первый интерактив. Теперь можно повращать Избранного :)
Ура! Это свершилось! Я наконец-то разобрался с принципом работы скриптового движка Fallout. Результатом стала реализация виртуальный машины в движке Falltergeist. Теперь наш движок может загружать и исполнять оригинальные скрипты игры. Пока что поддерживатся очень, очень, ОЧЕНЬ мало команд скриптового движка, так что впереди еще очень много работы. Сейчас при входе в локацию исполняются соответствующие скрипты.
Оказывается, именно скриптами решается давно волнующий меня вопрос. На стартовой локации объект персонажа должен располагаться на ступенях храма, а при загрузке карты располагается рядом с ним. Теперь эта проблема решается скриптом, который ставит игрока туда куда надо :)
Скриншоты:
до использования скриптов и после использования скриптов
Библиотека теперь умеет читать RIX формат. Это позволило добавить в движок загрузочные заставки. Помимо этого добавлена анимация для курсора мыши и исправлен баг в загрузке цветов из PAL файлов, который приводил к тому что некоторые цвета отображались как прозрачные. Ну и как обычно, множество мелких доработок и исправлений
Скриншоты:
тыц,
тыц и
тыц
В этой версии проект переехал на C++11(спасибо poxu). Кроме того создан каркас меню настроек и класс для чтения\записи ini файлов. Что в ближайшем будущем позволит реализовать сохранение и загрузку настроек. Попутно пришлось пофиксить множество багов и недоработок в движке. Так что можно сказать что прошедшая неделя не прошла даром :)
P.S.: Приятная новость для пользователей Windows: Falltergeist теперь умеет находить игровые ресурсы на CD дисках, что позволяет либо использовать оригинальный диск игры, либо виртуальный образ с игрой.
Прошедшая неделя прошла за попытками собрать Falltergeist под Windows. Наконец, я разобрался с этим чудовищем! Первая сборка принесла с собой сюрпризы в виде странных глюков отрисовки, что несомненно прибавит работы в будущем. Кроме того появился первый платформенно зависимый код: помимо версии движка теперь отображается и платформа на которой собран код.
Скриншоты:
тыц,
тыц и
тыц
Решены проблемы с загрузчиком локаций. Теперь он поддерживает весь спектр представленных в Fallout карт. Добавлена анимированая палитра, что позволяет анимировать компьютеры, воду и огонь.
Проблемы с анимацией наконец то решены, кроме того появилась отрисовка и анимация криттеров. Библиотека позволяет загружать уже гораздо более широкий перечень локаций, но по-прежнему остается много непонятных моментов с которыми в последствии придется разбираться.
Видео:
Продолжается развитие библиотеки в вопросе загрузки локаций. Помимо загрузчика локаций появился их отрисовщик. Т.е. сейчас уже можно открыть некоторую локацию и поскролить ее. Добавлена базовая анимация, которая пока отображается не совсем корректно. Думаю что в ближайшем будущем этот вопрос будет решен.
Небольшое видео текущей версии: