Dark Engine Viewer

Автор Force, 30 ноября 2019 23:55:27

« назад - далее »

0 Пользователи и 2 гостей просматривают эту тему.

nemyax

Цитата: Force от 25 августа 2023 23:53:51
Для загрузки физического представления уровней кудва, используется куча convex hull'ов...
А в стрипаных уровнях вора не сохраняются браши из редактора?
Желаю тебе из тысячи рулеток одну — самую русскую!
Желаю тебе из тысячи надежд одну — самую крупскую!

Force

Цитата: nemyax от 26 августа 2023 10:02:28
Цитата: Force от 25 августа 2023 23:53:51
Для загрузки физического представления уровней кудва, используется куча convex hull'ов...
А в стрипаных уровнях вора не сохраняются браши из редактора?
Надо изучить этот вопрос. Там, вроде бы, физические коллайдеры сохраняются в отдельной структуре, надо раскопать эту тему.
А вообще, к примеру, была одна миссия, где освещения в вордрепе не было, хотя в игре всё было ок. То есть, игра берет информацию об освещении из объектов, а не из вордрепа. Что говорит о том, что в DE каждый делает то, во что горазд...

nemyax

Вряд ли же в воре полигональная коллизия, как у тебя. У Кармака она только с дума 3 началась, а до того была по брашам.
Желаю тебе из тысячи рулеток одну — самую русскую!
Желаю тебе из тысячи надежд одну — самую крупскую!

Force

Написал статью о преимуществах использования Octree вместо BSP. Приглашаю к прочтению: https://dtf.ru/gamedev/2095532-preimushchestva-ispolzovaniya-octree-vmesto-bsp
Делитесь мнением, замеченными неточностями и вопросами! Вдруг я что-то не так написал? ;)

Force

Разработка собственного игрового движка: итоги 2023 года


Мод The Black Parade на моём движке Force Tech

Как раз в конце прошлого года я начал вести публичные каналы, посвященные моему игровому движку - Force Tech. Прошел ровно год, и именно за этот прошедший год, пожалуй, и произошло больше всего положительных изменений в проекте, из-за более тесного контакта с сообществом. Кстати, за этот год на каждом из каналов собралось более сотни подписчиков! Спасибо вам, друзья, за интерес, проявляемый к проекту!

Самым значимым событием в уходящем году был очередной релиз Dark Engine Viewer 0.6.9, программы, использующей движок Force Tech, которая готовилась почти два года и вышла в июле. Многие смогли впервые притронуться к тому, за развитием чего долгое время наблюдали. А кто-то, я надеюсь, обрёл для себя полезный инструмент в виде удобной утилиты для менеджмента своих игровых ассетов ;).

Из планов, которые "не сложились" - это видео с демонстрацией возможностей Force Tech. Я написал сценарий, надиктовал материала и смонтировал звук продолжительностью 20 минут на двух языках: русском и английском (ох, на английском оказалось совсем непросто). Смонтировал около двух минут видео и только потом осознал, что структура ролика неправильная, не дает представления о движке, и надо многое переделывать. Что ж, ролик остаётся в планах, надеюсь, на новой версии движка он будет более презентативен.

Сейчас, как и заявлено в опубликованной не так давно Дорожной Карте, во всю идёт работа над новой архитектурой движка, основанной на ECS. Немало времени ушло на обдумывание и проектирование, поэтому наиболее активный кодинг начался только в ноябре. Я пришёл к выводу, что самым простым и эффективным способом "рефакторинга" будет построение всей архитектуры с нуля на новом фундаменте ECS, как бы мне ни хотелось сохранить прежнюю. Логика переносится небольшими частями на новые рельсы, и правится с учётом многолетнего опыта, приобретенного за последние годы работы в профессии разработчика C++.

Надо отметить, что парадигма Data Oriented Design, после Object Oriented Design, довольно непривычна, и многие вещи приходилось переосмысливать и отказываться от ООП с определенными усилиями ;).

На данный момент основные части движка спроектированы, и уже реализованы системы обеспечивающие рендеринг, основанный на полном стриминге данных. Кроме того, как и писал ранее, я пытаюсь сразу учесть и сделать правильно огромное количество накопившихся архитектурных пожеланий, которые в обычном режиме потребовали бы массу переделок. К примеру, работа с геометрическими данными. Сейчас удалось реализовать системы таким образом, чтобы сократить многократное перекладывание вершин из одной структуры в другую перед отрисовкой. Пока ещё о результатах говорить рано, но ожидается значительное увеличение скорости загрузки данных, в том числе и за счёт стриминга. В целом, я считаю, всё идёт согласно планам, указанным в дорожной карте.

В качестве небольшой иллюстрации прикладываю этот странный кривой скриншот 😁.


ECS "beyond-omega" prototype

Пусть он не вызывает у вас недоумение и ропот, здесь работает стриминг, и системы ECS! 😆 Для вывода этой кривой картинки понадобилось написать почти полмегабайта кода, а раз картинка есть, значит прототип работает! ;)

В новом году желаю всем здоровья, сил и достаточной целеустремлённости для реализации собственных проектов и планов! ;) Со своей стороны, поскольку уже есть что показывать, надеюсь, будет получаться чаще радовать вас интересными подробностями о разработке.

P.S. За последние пару месяцев, пока разрабатывал новую архитектуру движка, появилась идея зафиксировать этот опыт в виде статьи. Думаю, это будет очень актуально, поскольку в интернете мало информации о разработке именно архитектуры игровых движков. Так что, можно считать это своего рода анонсом.

spy

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

Force

spy
Название миссии бы очень пригодилось... ;)

Zontik

Итоги очень обнадеживающие. Так держать!
Дайте глазам отдохнуть! Тёмное место

Force

Zontik
Спасибо!  :agree:

spy

Цитата: Force от 09 января 2024 12:54:08
spy
Название миссии бы очень пригодилось... ;)
Reverse Robbery

Force

Цитата: spy от 25 января 2024 17:27:14
Цитата: Force от 09 января 2024 12:54:08
spy
Название миссии бы очень пригодилось... ;)
Reverse Robbery
Запустил. Хоть проблему и не воспроизвел, но, кажется, догадываюсь о её причинах - скорее всего, нехватка видеопамяти. Сейчас работаю над сборкой версии движка с поддержкой стриминга, это позволит более гибко размещать данные в видеопамяти и такой проблемы возникать не должно.
Спасибо за обратную связь! ;)