Симуляция эволюции: ECS-архитектура без DOTS — замеры производительности
Всем привет! Продолжаю тему симуляции эволюции, первая версия была в прошлом посте. Сегодня будет сразу третья версия на ECS-архитектуре и замеры производительности.
Дело в том что за идею симулятора эволюции я брался не раз. Разрабатывая первую версию программы было ощущение, что с производительностью не дотягиваю. Сотни существ - это хорош, но хотелось то тысячи. Поэтому отложив первую версию попробовал создать новый проект. Доведя до определенного уровня вторую версию понял, что получается плюс минус тоже самое, плюс неожиданные баги, в общем бросил его.
Однажды серфя интернет наткнулся на ECS. ECS (Entity Component System) — это архитектурный подход, где данные и логика разделены. Вместо того чтобы каждый объект сам думал за себя, есть центральная система, которая обрабатывает всех сразу.
Читал статьи, смотрел бенчмарки — люди гоняли десятки тысяч объектов без просадки ФПС. Выглядит очень впечатляющие, общий смысл я понял но не до конца. Полноценный DOTS (Data-Oriented Technology Stack) с Job System и Burst Compiler показался сложным: "вынеси логику в отдельную функцию, там она выполнится, забираешь результат". Смысл понятен, но выглядит геморно, хороших гайдов на русском не нашёл. Поэтому решил попробовать только архитектуру. В теории она тоже должна дать прирост: вызываются не сотни объектов, а несколько, всё обрабатывается в одном цикле, что позволяет лучше управлять распределением расчётов и оптимальнее использовать память.
Так появилась третья версия проекта, по функционалу она очень близка первой версии, но есть и отличия: можно выбрать размер поля, немного больше статистики. А что же по производительности? До недавнего времени я думал, что мой эксперимент провалился. Но готовясь к этому посту замерил производительность с помощью монитора производительности Steam (проверить через Unity Profiler не смог, яндекс диск перепахал первый проект).
На видео вы можете видеть сравнение двух проектов, вверху на видео это первая версия программы, внизу третья версия (с архитектурой ESC).
Условия сравнения: обе версии на Unity 6.3, ~1000 существ. Два режима: 1x и 5x ускорение симуляции. Один замер, не средний показатель. Железо одно: мой ноутбук.
V1 без ECS: 1x — 53 FPS, 5x — 10 FPS
V3 с ECS: 1x — 72 FPS, 5x — 38 FPS
То есть в случае симуляции на скорости 1x разница FPS 27%, при ускорении в 5x разница возрастает до 73%. Стоит отметить: в V3 игровое поле меньше, чем в V1. Меньше площадь — выше плотность существ, больше столкновений и нагрузка на NavMesh. На большом поле V3 показывала ещё более высокий FPS.
Профайлер Unity показывает, что узкое место обеих версий — физика движка: много столкновений и NavMesh. ECS-архитектура сама по себе не решает эти проблемы. Нужны Job System и Burst Compiler.
Даже смена архитектуры без DOTS даёт прирост производительности. Логика стала непривычной, но код на мой взгляд более читаемый. До полноценного DOTS вряд ли доберусь, но применять эту архитектуру в других проектах с большим количеством агентов планирую. Надеюсь, хватит сил и времени организовать их по новому.
Надеюсь будущий проект который я выложу
Скачать билды симуляторов эволюции можно по ссылкам:
Купальщица прыгает в оранжевую горячую воду
Купальник у неё волшебный, так что бояться за её жизнь и здоровье не стоит.
Breathedge [Повторная раздача] и Rival Stars Horse Racing: Desktop Edition — 100% скидка в Epic Games Store!
Выживайте в открытом космосе! Вместе со своим бессмертным цыплёнком узнайте правду о внезапной катастрофе космического корабля. Создавайте инструменты, пилотируйте транспортные средства и даже управляйте космическими станциями, чтобы выжить и исследовать обломки.
Страница игры и раздачи в Epic Games Store:
Раздача продлится до 3 Сентября.
Игру уже раздавали:
Страница игры в STEAM, для получения большей информации:
Добро пожаловать в космос
Огромный космический катафалк потерпел крушение в глубинах космоса, оставив в нём весь мусор, гробы, мёртвых пассажиров и вас. Выживите на этой межзвёздной свалке, раскройте глобальный заговор, спасите принцессу и не сломайте пальцы, нажимая на кнопки клавиатуры во время кругосветного путешествия (рекомендуется держать дисплей включённым для полного погружения).
Постарайтесь остаться в живых
Космос — не шутка (хоть мы и пытаемся доказать обратное), и не умереть — непростая задача. Потеряйте свой прогресс впечатляющими способами, включая, помимо прочего, удушье, замораживание, сжигание, поражение электрическим током, депрессию, травму тупым предметом и многое другое.
Засоряйте космос собственным мусором
Наши предки эволюционировали долго, потому что у них не было изоленты. А у вас она есть, и вы знаете, как её использовать. С помощью этого волшебного артефакта вы можете создавать множество бесполезных предметов и выбрасывать их из шлюза! Кроме того, нужно создать много полезных предметов, но будьте осторожны, так как это может привести к завершению игры.
Починить и декорировать
Когда все ваши соседи просто болтаются в вакууме, прикидываясь мёртвыми, различные инструменты и механизмы помогут вам стать самым шумным соседом на свете. Создайте уникальную космическую станцию, обеспечьте её кислородом и электричеством, установите всевозможное оборудование: от солнечных батарей до фермы для хомяков и превратите её в настоящую холостяцкую пещеру, набив её мебелью вперемешку со всяким хламом.











В Rival Stars Horse Racing вас ждут реалистичные скачки и множество видов верховой езды.
В вашем распоряжении оказалось старое ранчо, которое знавало лучшие времена. Теперь вам предстоит возродить семейное наследие и стать настоящей легендой конного спорта! Множество запоминающихся персонажей помогут вам вырастить очаровательных жеребят, построить конюшню мечты и вернуть былую славу своей ферме!
Садитесь в седло, хватайте поводья и отправляйтесь на ипподром, чтобы прочувствовать весь азарт скачек, отточить прыжки на трассе кросс-кантри, ухаживать за лошадьми в конюшне... и это далеко не всё!
Страница игры и раздачи в Epic Games Store:
Раздача продлится до 3 Сентября.
⛔ Недоступна в: Южная Корея.
Страница игры в STEAM, для получения большей информации:
СКАЧИТЕ К ПОБЕДЕ
Реалистичная анимация, созданная при помощи технологии захвата движений, и захватывающие комментарии помогут полностью погрузиться в атмосферу скачек.
Проходите сюжетную кампанию или присоединяйтесь к онлайн-гонке на одной из множества самых известных трасс со всего мира.
Проверьте свои навыки на трассе кросс-кантри и займите место в мировой таблице лидеров.
Сделайте виртуальную ставку на скачках, испытайте удачу и получите ценные награды.
ВЫРАСТИТЕ КОНЯ МЕЧТЫ
Выводите и выращивайте очаровательных жеребят с разными окрасами и характеристиками.
Создайте свою собственную породу, которая будет побеждать на всех скачках!
А в редакторе лошадей вы сможете дать волю фантазии и поделиться своим видением идеального скакуна с другими игроками.
НЕ СХОДЯ С СЕДЛА
Исследуйте живописные локации и любуйтесь природой в самых разных местах от ранчо до склонов Швейцарских Альп.
Снимайте впечатляющие фотографии своих питомцев в фоторежиме с множеством возможностей.
Зарабатывайте ресурсы и правильно распределяйте их для развития своего дела.











Э-э-э, куда оттаскиваете? Продукт пропадает!
5 самых свеженьких космических симуляторов колоний в Steam (сразу две игры из России)
The Crust
Релиз 10 сентября 2026 года.
Игра от российской команды VEOM Studio, которая уже два года находится в раннем доступе, но 10 сентября выходит в полноценный релиз. Так что, получается, это будет самый свежий релизный симулятор космической колонии.
В The Crust мы строим базу на Луне — как на поверхности, так и под лунной почвой. Добываем ресурсы, автоматизируем процессы, налаживаем торговые отношения с покупателями с Земли, устраиваем быт колонистов и следим за глобальным сюжетом, который делает процесс отстраивания своей базы и осваивания различных производств более увлекательным.
Space Haven
Релиз 13 мая 2026 года.
В этой игре наша колония находится не на поверхности планеты, а внутри дрейфующего по космосу корабля. Это тот самый популярный сай‑фай‑сюжет о поиске нового дома для человечества.
Вам нужно следить за системами жизнеобеспечения корабля и отстраивать не только интерьеры базы, но и в принципе влиять на конструкцию — то есть, по сути, одновременно строить космический корабль своей мечты и базу космических колонистов внутри.
Outworld Station
Релиз 5 мая 2026 года.
В этой игре мы строим прямо в невесомости космоса, так как нам предстоит отвечать за космическую станцию. В игре поднимается и тема инопланетной жизни, а наше развитие не будет безопасным, так что готовьтесь к столкновению с опасными обитателями космоса.
Solar Expanse — Space Exploration Manager
Релиз 9 апреля 2026 года.
Игра для самых амбициозных космических колонистов, которая позволит вам охватить сотни лет развития колонизации планет. Так что в Solar Expanse вы сможете возглавить самую настоящую экспансию человечества в космос, колонизируя планеты пачками!
Solargene
Релиз 20 января 2026 года.
Ещё одна игра из России, причём от разработчика‑одиночки, который замахнулся самостоятельно создать полноценную песочницу по развитию космической колонии.
Последняя битва за Пастернака
Совпал мне тут мэтч с Оксаной (37 лет). В анкете - милое фото, в начале диалога - приятные манеры. Она сразу зашла с козырей: заявила, что любит театры, море и книги. Ну, думаю, повезло! Наконец-то не инста-дива, а интеллектуалка, будет о чем поговорить.
Но, как говорится, не суди книгу по обложке. Наш диалог сломался на абсолютно ровном месте - на обычном вопросе о литературе. Оказывается, чтобы иметь свое мнение - обязательно необходимо быть литературным критиком.
Угадайте, почему в свои 37 Оксана еще не замужем? ))
Сделал бесплатный генератор боёв для ДнД 5e на русском
Всем привет. Хочу показать штуку, которую пилю по вечерам. Называется Драконариум, это бесплатный сайт для мастеров пятой редакции.
Началось с простого наблюдения: подготовка боя в ДнД это куча арифметики. Пороги опыта на каждый уровень, бюджет партии, множитель за количество монстров... Ошибся в расчётах, и вместо напряжённой схватки у тебя либо скука на полчаса, либо партия внезапно легла в полном составе.
Сайт эту арифметику берёт на себя. Указываешь, сколько игроков и какого они уровня (можно вразнобой, если партия разноуровневая), выбираешь, насколько жаркий бой нужен, жмёшь кнопку. Получаешь несколько готовых вариантов: состав монстров, короткая тактика, добыча. У каждого боя есть постоянная ссылка, можно скинуть со-мастеру или просто сохранить до сессии.
По клику на монстра открывается полный статблок на русском. Монстров в базе 334, все из SRD, у каждого свой арт.
Если бой вы уже собрали сами и хотите проверить, не мясорубка ли вышла, есть отдельный калькулятор сложности. Покажет пороги вашей группы, множитель и вердикт от «тривиального» до «запредельного».
Ещё сделал страничку со случайными встречами: таблица событий в дороге на к10 и советы, как быстро собрать встречу под местность.
Всё бесплатно и без регистрации, с телефона тоже работает: https://drakonarium.ru
Сразу честно про арт: картинки и анимации генерил нейросетями. Художника на 334 монстра я бы не потянул, а хотелось, чтобы у каждой твари была своя морда. Правила и цифры взяты из SRD 5.1, она под открытой лицензией, переводы делал сам.
Проект живой, следующим на очереди генератор НПС. Если чего-то не хватает или нашли косяк, напишите в комментах. Собственно, за этим и пришёл.





















