Инди
Pavel Kudinov
816

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

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

В закладки
Слушать

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

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

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

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

План

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

Песочница

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

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

Planet

A-Life

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

Protobiome

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

Сегодня

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

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

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

{ "author_name": "Pavel Kudinov", "author_type": "self", "tags": [], "comments": 17, "likes": 37, "favorites": 34, "is_advertisement": false, "subsite_label": "indie", "id": 212098, "is_wide": false, "is_ugc": true, "date": "Thu, 17 Sep 2020 13:14:36 +0300", "is_special": false }
Маркетинг
Как построить веб-аналитику для мобильных приложений
Всем привет. Меня зовут Ефим Антонов, я аналитик в агентстве kite. Мы делаем SEO для порталов и редакций. Работаем с…
Объявление на DTF
0
17 комментариев
Популярные
По порядку
Написать комментарий...
3

Спасибо!

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

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

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

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

Ответить
1

Что появится в бушующем в игре?

Ответить
2

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

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

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

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

Ответить
1

Я когда-то играл в сендбокс... это отличная замена!

Ответить
1

Благодарю!

Ответить
1

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

Ответить
1

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

Ответить
0

Как раз гуглил её название, хорошо что напомнил.

Ответить
1

Очень круто! Надеюсь проект не застопорится и дойдёт до релиза.

Расскажите, пожалуйста, подробнее про размер симулируемого мира (и железо для этого). 

Есть видео с интересными примерами поведения живых организмов?

Каким именно образом происходит симуляция? Частицы, клеточные автоматы, ещё что-то?

Ответить
1

Ха, я недавно книгу прочёл Город Перестановок, там по сюжету недалёкое будущее. Описывается схожая программа, Автоверсум, которая позволяет симулировать подобное, но уже на более продвинутом уровне.

Ответить
0

на Пикабу был точно такой же комментарий )

Ответить
0

Уже двадцать лет играют ничего толкового от AL кроме сильно упрощенных примеров генетического моделирования, толку не много. В реальной эволюции была прорва времени и объемы реактора несоизмеримо больше. Эволюционное моделирование квантовые компы врядли помогут ускорить.  Собственно поэтому эти вопросы так интересны. И пока наверно стоит искать жизнь за пределами земли.

Ответить
0

Так и есть. Никто из A-Life не ставил перед собой задачи построить open-ended эволюцию, которая не залипает через несколько минут/часов симуляции в каком-то финальном состоянии.

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

Уже сегодня, SST превосходит все существующие A-Life проекты по масштабу и сложности, но это пока не очевидно для неспециалистов. Посмотрим через 1-2 года, я планирую к этому моменту иметь очевидный State of the Art, дающий принципиально новые ощущения от большой и сложной виртуальной эволюции, которую интересно будет покрутить недели-месяцы без остановки.

Ответить
0

Добавил в вишлист, попробую демку, а то чет у меня от видео привстал. Интерфейс только отпугивает.

Ответить
0

Спасибо! Да, интерфейс в ближайшее время буду прокачивать

Ответить

Комментарии

{ "jsPath": "/static/build/dtf.ru/specials/DeliveryCheats/js/all.min.js?v=05.02.2020", "cssPath": "/static/build/dtf.ru/specials/DeliveryCheats/styles/all.min.css?v=05.02.2020", "fontsPath": "https://fonts.googleapis.com/css?family=Roboto+Mono:400,700,700i&subset=cyrillic" }
null