Физика на клеточных автоматах, воксели!
Это достаточно старый мой проект, но довольно интересный. Если задуматься, атомы в реальности можно представить как «воксели», и если задать им простые правила — можно получить что-то вроде гравитации, воды и прочей «физики».
Я решил попробовать эту идею на практике и сделал маленькую воксельную демку, где всё поведение основано на клеточных автоматах. Правила у всех одинаковые, поэтому я загнал всю логику прямо в шейдеры на GLSL — GPU такое любит, и обновление мира происходит очень быстро.
Гравитация сделана довольно глупо: для твёрдых тел по сути я создаю градиент касания с землёй, и если воксель касается земли, он не равен 0. Песок сделан довольно просто — вот статейка, немного не в тему: «Создание процедурной анимации смерти при помощи автоматов падающего песка». С водой немного сложнее — вот статейка. Эти статьи про 2D-автоматы, но расширить до 3D не сложно. Как пример игры в этой тематике (которой я вдохновлялся): Noita.
Получилась такая экспериментальная песочница.
Демка на itch.io | GitHub
Ссылка на видео
Ссылка на видео