ЛАБОРАТОРИЯ · 2026
Particle Life
N-body симуляция в WebGL2: шесть видов частиц, матрица сил 6×6, тор-топология. Ничего, кроме матрицы и физики — но получаются клетки, охотники, спирали и экосистемы, которые никогда не повторяются.
Задача · 01
Particle Life как идея — задача из мира программистской поэзии: пять секунд кода даёт глубокий мир. Стандартные реализации в вебе либо работают на 500 частиц («слайдшоу»), либо требуют GPU compute. Нужно было получить интересную плотность, плавную физику и собственную визуальную идентичность, которая встаёт рядом с «Жизнью» как часть серии.
Решение · 02
CPU-симуляция с spatial-hash через linked-list buckets — 4500 частиц на десктопе, 1500 на мобилке, всё на 60fps без GPU compute. Tom-Mohr force-profile с close-range repulsion. Рендер — instanced quads через тот же multipass-конвейер, что у «Жизни» (motion-blur trail, multipass bloom, Reinhard tonemap). Псевдо-3D через z-breath шейдер: каждая частица «дышит» в глубину со своей фазой, плюс dome-vignette от центра экрана даёт ощущение объёма. Игрок управляет двумя действиями — кнопка «Новая вселенная» рандомизирует матрицу 6×6 (новая экосистема каждый раз) и клик по полю даёт взрыв или вихрь (с Shift).
Результат · 03
Игра живёт в портфолио как пара к «Жизни» — две разные математики, оба работают как «простые правила → сложные структуры». Серия превращает портфолио из набора отдельных кейсов в манифест.
Похожая задача? Обсудим.
Анатолий ответит лично.