Ищу бета тестеров (небольшая игра от пикабушника)

(без рейтинга)


Ищу бета тестеров для моей небольшой игры Manufacturer.


Кто знаком с  Unity, наверняка в курсе, что последний год движок сделал эволюционный скачек в сторону Data Oriented Design. На практике это означает, что разработчик может легко манипулировать тысячами игровых объектов без особой нагрузки на процессор стационарного или мобильного устройства.


Чтобы это проверить все это, освоить все премудрости ECS + Jobs + Burst (а заодно и немного отвлечься от основного проекта), я запилил небольшую игру.

Вот несколько выводов, вынесенных мной из этого проекта:


1) Связка ECS + Jobs + Burst действительно очень крута и дает обещанные результаты.

2) Игра, построенная на Data Oriented Design намного более устойчива к ошибкам. Причина проста -- очень большое количество объектно ориентированного кода просто отпадает. Данные вашей игры каждый кадр пропускаются через цепочку систем (которые, в свою очередь, в идеале представляют из себя цепочку мультипроцессорных job-ов), и все. Никаких туда-сюда-обратно по бесконечному количество объектов-методов-event-ов. Линейный, детерминированный процесс.

3) Но, как показала практика, Data Oriented Design не панацея от всего. Он отлично подходит к частному случаю: большое количество однотипных объектов с несложной логикой. Я бы даже сказал, что дизайн игры нужно делать, держа в уме DOD, планируя использовать его фишки. В других случаях, традиционное ООП + managed structures имеет место быть. И может давать даже более высокую производительность -- если также держать в уме и строить код вокруг работы процессора с кэшем и памятью, обеспечивать locality of reference и т.д.

4) ECS пока находится в стадии preview, и для себя я принял решение пока не применять его в основном проекте. Для меня основным камнем преткновения стал Hybrid.Rendering. Не буду вдаваться в технические детали, но даже для этой небольшой игры мне пришлось сделать fork MeshInstanceRendererSystem, чтобы исправить несколько моментов, дающих ненужную загрузку на процессор вплоть до 5 мс на кадр.Также удалось полностью выключить из процесса бесполезную TransformSystem.


Счастливые обладатели телефонов и планшетов на Android c поддержкой OpenGL 3.0 приглашаются на этот праздник безудержного производственного веселья по ссылке:

Тык


Буду рад отзывам!

Лига Разработчиков Видеоигр

6.7K постов22.2K подписчика

Добавить пост

Правила сообщества

ОБЩИЕ ПРАВИЛА:

- Уважайте чужой труд и используйте конструктивную критику

- Не занимайтесь саморекламой, пишите качественные и интересные посты

- Никакой политики


СТОИТ ПУБЛИКОВАТЬ:

- Посты о Вашей игре с историей её разработки и описанием полученного опыта

- Обучающие материалы, туториалы

- Интервью с опытными разработчиками

- Анонсы бесплатных мероприятий для разработчиков и истории их посещения;
- Ваши работы, если Вы художник/композитор и хотите поделиться ими на безвозмездной основе

НЕ СТОИТ ПУБЛИКОВАТЬ:

- Посты, содержащие только вопрос или просьбу помочь
- Посты, содержащие только идею игры

- Посты, единственная цель которых - набор команды для разработки игры

- Посты, не относящиеся к тематике сообщества

Подобные посты по решению администрации могут быть перемещены из сообщества в общую ленту.

ЗАПРЕЩЕНО:

- Публиковать бессодержательные посты с рекламой Вашего проекта (см. следующий пункт), а также все прочие посты, содержащие рекламу/рекламные интеграции

- Выдавать чужой труд за свой

Подобные посты будут перемещены из сообщества в общую ленту, а их авторы по решению администрации могут быть внесены в игнор-лист сообщества.


О РАЗМЕЩЕНИИ ССЫЛОК:

Ссылка на сторонний ресурс, связанный с игрой, допускается только при следующих условиях:

- Пост должен быть содержательным и интересным для пользователей, нести пользу для сообщества

- Ссылка должна размещаться непосредственно в начале или конце поста и только один раз

- Cсылка размещается в формате: "Страница игры в Steam: URL"