Игровой движок Force Tech
Добро пожаловать!
Меня зовут Force, я — программист-одиночка, занимаюсь разработкой игрового движка Force Tech. Он создается в расчете на то, что когда-нибудь сможет заменить собой Dark Engine, а именно, улучшить визуальный и игровой опыт игр, сделанных на нем. Речь идет о таких столпах индустрии как оригинальные Thief: The Dark Project, Thief Gold, Thief 2: The Metal Age и System Shock 2.
Стартом работы над Force Tech можно считать далёкий 2011-й год, а с 2017 года он развивается, в первую очередь, в рамках программы для просмотра ресурсов движка Dark Engine, которая так и называется — Dark Engine Viewer. C 2018-го года я начал делать публичные релизы просмотрщика, они доступны для всех и выходят примерно раз в год. Скачать их можно совершенно бесплатно на этом сайте. Движок всё ещё развивается, наращивая функционал.
Dark Engine Viewer
Программа-просмотрщик ресурсов движка Dark Engine, основана на игровом движке Force Tech:
— Открывает уровни, модели объектов и персонажей, текстуры и звуки.
— Имеет режим свободной камеры для быстрого просмотра уровней.
— Имеет игровой режим (режим симуляции), с реализацией базовых геймплейных механик.
— Проигрывает встроенные анимации объектов и скелетные анимации персонажей.
— Открывает текстуры форматов DDS (DXT*), PNG, TGA, PCX, GIF, JPG, BMP.
— Позволяет прослушивать звуки WAV, поддерживаемые оригинальным движком Dark Engine.
— Не требует установки и предварительной настройки. Может размещаться в любом удобном месте системы.
— Работает на OpenGL 3.2 (есть режим совместимости с OpenGL 2.1).
Скачать
Dark Engine Viewer v.0.6.9.1 2023‒08−17 23:40 MSK (UTC+3:00)
Если, по какой-то причине, у вас нет полных версий игр Thief или System Shock 2, здесь вы можете скачать их официальные демоверсии, для того чтобы просмотрщику было что просматривать:
— Thief 2 demo (The Unwelcome Guest)
Старые версии просмотрщика:
— Dark Engine Viewer v.0.6.9 2023‒07−25 8:00 MSK (UTC+3:00)
— Dark Fate 20th Anniversary edition 2021‒09−29 15:00 MSK (UTC+3:00)
— Thief 2: The Metal Age 21st Anniversary edition 2021‒04−23 20:00 MSK (UTC+3:00)
— Thief 2: The Metal Age 20th Anniversary build 2020‒04−06 14:30 MSK (UTC+3:00)
— Thief: The Dark Project 21st Anniversary build 2019‒11−30 23:55 MSK (UTC+3:00)
— Thief: The Dark Project 20th Anniversary build 2018‒11−30 12:58 MSK (UTC+3:00)
Сообщества Force Software
Основной сайт:
Следить за развитием проекта удобнее всего в соцсетях или на форумах:
— VK
— DTF
— Telegram
— Twitter (en)
— Форум TTLG (en)
Сообщайте обо всех найденных ошибках, багах, пожеланиях и предложениях на почту: toforce@ya.ru, или в любое из указанных выше сообществ. Если у вас что-то не работает, как ожидалось, не ищите обходные пути, пишите, и мы ВМЕСТЕ попробуем исправить проблему прямо в движке!
Как запускать
Простой способ: запустить из папки, в которую была распакована программа, и при помощи интерфейса открыть каталог с нужным файлом модели или миссии на диске.
Продвинутый способ: программа принимает на вход путь открываемого ресурса, будь то объект или миссия. Таким образом открыть нужный файл можно четырьмя способами:
— из командной строки, указав путь к открываемому файлу, например так:
dark_engine_viewer_x64.exe "D:\Games\Thief 2 - The Metal Age\MISS13.MIS"
— перетаскиванием файла или папки на значок программы;
— перетаскиванием файла или папки на открытое окно программы;
— созданием ассоциации расширений файлов моделей и миссий (BIN, MIS...) с просмотрщиком и открыванием их двойным кликом прямо из Проводника.
Запуск на устаревшем оборудовании
Для старых видеокарт, не поддерживающих OpenGL 3, сделана специальная версия — LEGACY HARDWARE. Её функционал сильно ограничен, но свою задачу она выполняет. Для её запуска используйте исполняемый файл dark_engine_viewer_legacy.exe.
Как пользоваться
Список файлов прокручивается колесиком мыши, ресурсы открываются по клику в списке файлов, перелистывание ресурсов «предыдущий/следующий» осуществляется стрелками клавиатуры, PgUp, PgDn, Home и End.
Если модель имеет скелет, то для неё возможно воспроизведение скелетной анимации: в правом верхнем углу появляется кнопка "Animation player", нажатие на неё откроет плеер анимаций, где можно указать каталог с анимациями и запускать их кликом на элемент списка или клавишей Play в нижней части списка. По умолчанию, список анимаций открывает каталог уровнем выше открытой модели. Навигация по списку анимаций осуществляется аналогично просмотру файлов. Если модель имеет внутренние анимации, то появится такая же кнопка "Animation player", при нажатии на которую откроется список внутренних анимаций отдельных частей модели.
Открытую модель можно приближать или отдалять от камеры колесиком мыши, вращать левой кнопкой мыши, перетаскивать — правой.
B — переключить серый/чёрный фоновый цвет
I — показать/спрятать информацию об объекте
O — открыть каталог текущего просматриваемого файла
M — сохранить позицию модели/камеры (при просмотре миссии)
R — восстановить сохранённую позицию модели/камеры (при просмотре миссии)
При открытии миссии, в правом верхнем углу программы появляются две кнопки: «Free camera mode» — режим «свободного полета», и «Simulation mode» — игровой режим, позволяет ходить по уровню и взаимодействовать с объектами.
Управление в этих режимах осуществляется следующими клавишами:
WASD и стрелки — перемещение камеры, мышь — вращение по осям x и y
C — перемещение камеры вниз
SPACE — перемещение камеры вверх/прыжок
SHIFT + клавиша перемещения — ускоренное перемещение
ESC — отображение интерфейса
H — вкл/выкл тени
J — вкл/выкл мягкие тени
K — вкл/выкл SSAO
P — вкл/выкл Parallax Occlusion Mapping
Во всех режимах работают следующие клавиши:
L — вкл/выкл освещение
G — вкл/выкл отображения отладочной информации
+/- — увеличение/уменьшение яркости
ALT + ENTER — полноэкранный режим (разрешения выставляется в файле config.cfg параметром FullscreenSize)
F1 — контекстная справка
Назначения цифровых клавиш (нужны только в отладочных целях, могут меняться в разных сборках):
1 — вывод финального кадра со всеми эффектами (по умолчанию)
2 — вывод нормалей кадра
3 — вывод освещенности кадра
4 — вывод SSAO кадра
5 — вывод буфера глубины
6 — вывод исходного цвета полигонов без освещения
7 — вывод маски полутени ближайшего точечного источника света
8 — нет буфера
9 — вывод результата работы алгоритма формирования маски полутени
Переключение Parallax Occlusion Mapping, скорее всего, не покажет никакой разницы, потому что у вас отсутствуют карты высот для текстур. Если вы хотите посмотреть как оно будет выглядеть, добавьте необходимые текстурные карты в каталог основной текстуры. Имена дополнительных текстурных карт должны совпадать с именем соответствующей текстуры + суффикс «_h» для карты высот, и «_n» для карты нормалей. Таким образом, если текстура называется bricks.pcx, то карта высот должна называться bricks_h.dds (формат текстуры может быть любым из поддерживаемых), а карта нормалей — bricks_n.dds.
Благодарности
Хочу поблагодарить:
— участника сообщества Dark Fate под ником Chuzhoi за его неоценимый вклад в разработку дизайна и визуального стиля программы, её тестирование, дельные UI/UX-советы. Именно благодаря ему Dark Engine Viewer выглядит и работает именно так.
— участника сообщества Dark Fate под ником nemyax за помощь в исследовании формата хранения моделей объектов.
— других участников сообщества Dark Fate, без которых этот просмотрщик вряд ли был бы создан, их ники в алфавитном порядке: Boris3000, Glypher, HellRaiser, Maxim, Ollibony, Silentor, Zontik и другие...
— Juliusz Kaczmarek aka PinkDot, который помог добавить в программу поддержку формата миссий New Dark Engine, в расшифровке формата динамических MESH-объектов, советами по работе анимаций Dark Engine и предоставил тестовые анимации персонажей.
— Randy Sybel aka Shadowspawn за то, что помог разобраться как использовать расшифрованные данные, полученные из динамических MESH-объектов.
— разработчика с ником HardKern, который указал на проблемы, с которыми он столкнулся во время разработки своего проекта System Shock 2 VR (который, к сожалению, уже закрыт :( ) и помог разобраться с форматом анимаций Dark Engine.
— разработчиков и программистов, занимавшихся реверс-инжинирингом оригинального Dark Engine, и запустивших проект Open Dark Engine, без которого идея с ресурсами Thief для Force Tech никогда не состоялась бы, их ники в алфавитном порядке: Telliamed, Volca и всех, кто был причастен к этому.
— всех, кто каким-либо образом консультировал, поддерживал и мотивировал меня, включая Vorob’а и мою супругу Татьяну!
Спасибо вам всем!
Авторское право и ответственность
Используя эту программу, вы соглашаетесь с тем, что её автор не несёт никакой ответственности за возможный вред, причиненный оборудованию или программному обеспечению, напрямую или косвенно связанный с использованием данной программы. Целью автора не является заражение вашего компьютера или распространение вирусов, поэтому критически отнеситесь к возможным предупреждениям антивирусного ПО.