Игра Бога - Space Simulation Toolkit

Наверняка многие слышали теорию о том, что мы живем внутри компьютерной симуляции.
10 лет назад я захотел создать большую игру-конструктор, в которой можно создавать собственные симуляции, менять законы физики, конструировать механизмы, создавать миры и населять их живыми существами, экспериментировать с эволюцией и с искусственным интеллектом.

Отправной точкой стало желание создать A-Life симуляцию, потому что почувствовать себя Богом, создающим новый мир, можно только если этот мир будет населен виртуальными обитателями.

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

Выяснилось, что считать хорошую красивую симуляцию нужно на видеокарте, для моделирования генома наиболее продвинутые симуляции используют L-системы, а что касается крутого поведения - 10 лет работы над проектом удачно совпали с бумом машинного обучения, и коллективный разум дал множество рабочих идей.

L-system - фрактальный подход к генетическому коду
L-system - фрактальный подход к генетическому коду

План

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

Песочница

Как я уже сказал, хорошую красивую симуляцию нужно считать на видеокарте. Поэтому я изучил CUDA/OpenCL и научился создавать интерактивные песочницы на игровых видеокартах так, чтобы они работали максимально быстро.

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

Planet
Planet

A-Life

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

Protobiome
Protobiome

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

Сегодня

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

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

Спасибо за внимание!

4040
16 комментариев

Спасибо!

Размер симулируемого мира зависит от мощности видеокарты. На обычных видеокартах это 100-200K частиц, на топовых - до нескольких миллионов частиц.

Поведение живых организмов ещё не самое крутое из того, что задумано, но кое что уже можно посмотреть, приложил видео нейроэволюции и охоты на выживание. Больше - на youtube канале

Да, в основе - симуляция частиц, но дополнительно можно расширять и комбинировать сколько угодно - например, есть эксперименты с лучами, есть движок нейросетей, есть движок генома на основе L-system и т.д.

Подробнее про создание движка можно почитать на Хабре, ссылку приложил

3
Ответить

Комментарий недоступен

1
Ответить

Спасибо за отзыв и за вопрос!

- больше материалов и физических законов в симуляцию (лучи, электричество, магнетизм, взрывы, радиоволны, смена погоды, сезонов)
- дружественный интерфейс
- возможность копировать/вставлять сложные элементы, сохранять их в качестве blueprints и делиться с другими игроками
- энциклопедия с информацией обо всем, что есть в игре
- лаборатория для исследования виртуального биома (графики, диаграммы, чтобы красиво смотрелось и было интересно детально исследовать экосистемы и менять их параметры)
- редактор живых существ и сложных механизмов (хочется раскрыть тему строительства базы, добычи ископаемых, космической экспансии на реактивных двигателях)
- режим аватара (когда управляешь только одним юнитом от первого лица/только своей расой существ, в режиме RTS)

в дальней перспективе:

- grid симуляции (когда много игроков распределенно симулируют один большой мир)
- open source mods (для создания игры я разработал фреймворк, позволяющий легко расширять симуляции и создавать свои собственные - через некоторое время я планирую открыть возможность использовать его для игроков и выпустить серию обучающих видео)

2
Ответить

Комментарий недоступен

1
Ответить

Благодарю!

1
Ответить

Вот это да. Вспомнились Noita, Algodoo и Osmos. Ещё была игра про посадку лунного модуля с симуляцией атмосферы (Fluid Lander) и ещё одна инди про танк в полностью симулируемой физически карте, где-то здесь на сайте даже была статья от её разработчика.

1
Ответить

Спасибо! Да, все видел, кроме Fluid Lander. Вдохновлялся Osmos в 2010 на старте. Про танки называется Jelly in the Sky, похожий движок, поддерживаю связь с её автором.

1
Ответить