Стресс тест: все миссии Thief 1 + 2 + System Shock 2 загружены в одну сцену

Разработка моего игрового 3D-движка Force Tech продолжается! Напомню, что сейчас я занимаюсь масштабным рефакторингом и переношу все ранее написанные компоненты на архитектуру ECS. Статья-FAQ о проекте.

На этот раз решил продемонстрировать почти мгновенную и одновременную загрузку всех оригинальных миссий движка Dark Engine из игр Thief Gold, Thief 2: The Metal Age и System Shock 2

В этой тестовой сцене миссии загружаются не все одновременно, а по нажатию соответствующих кнопок, отдельно для каждой игры.

Текстурирование и перемещение пока сделано достаточно грубо, поэтому на стыках текстур можно заметить швы, а камера перемещается скачками. Пусть это вас не смущает, сейчас основной упор в разработке сделан на быструю загрузку ресурсов и скорость отрисовки. И именно эти показатели на высоте!

Стоит заметить, что сейчас никакого отсечения при рендеринге не используется, следовательно все ресурсы рисуются каждый кадр в полном качестве.

Немного статистики:
- Геометрия и текстуры всех миссий из всех трёх игр загрузились целиком в одну сцену за 8 (восемь) секунд.
- Общее количество миссий на экране: 52.
- Количество текстур: 2335 = 1106 (Thief 2) + 670 (System Shock 2) + 558 (Thief Gold) + 1 (default sky).
- Количество полигонов: ~1.8 млн.
- Общий объем данных в видеопамяти не превысил 800 Мегабайт.

Следующим этапом, видимо, будет вывод всех миссий со всеми объектами. Вот это будет действительно МОЩНО!

17K17K показов
968968 открытий
36 комментариев

Написание собственного игрового движка мною воспринимается, как магия.
Очень круто!

Ответить

На самом деле, это почти ни чем не отличается от программирования внутри современных движков. Да, оно более низкоуровневое местами, но, в основном, такое же.

Ответить

На пне с 90мгц 16рамы и 1.5 видяхи запустится?)))

Ответить

Неть 🥲

Ответить

@Force Software я так понимаю, движок пилится под Windows? Возможность портирования в будущем под другие ОС учитывается при разработке?

Ответить

Под Windows и Linux. Код кроссплатформенный.

Ответить

Ты там при переносе движка Thief переносишь особенности игрового движка при обработке физики поверхности и звука? А еще работу с учетом света/тени при наложении на аватар игрока? Или это дело будущего?

Насколько в курсе в играх Looking Glass - использовался очень хитрый физический движок распространения звука. Пока в других играх - звук обсчитывался по упрошенному принципу расчета расстояния между объектами - то в thief - звук распространялся по помещениям - что позволяло слышать тех же стражников задолго до того как их увидишь.

Ответить