VR design is still in the very early stages, but something that we know leads to immersion in VR is interactivity. One developer is taking interactivity to the extreme with Chroma Lab, a VR experience now available on SteamVR that lets you play with hundreds of thousands of simulated particles in real-time.
Update (8/23/17): Chroma Lab is now available. This article, which was originally published on 3/28/17 and overviewed the game before it was launched, has been broadly updated with the latest information.
VR gives us the opportunity to simulate the real world and its physical laws to step into situations that we couldn’t otherwise practically experience, like driving a racecar or flying a plane. But what about simulations of the impossible, like commanding hundreds of thousands of floating pulsating rainbow particles?
Developer Sean Tann has developed Chroma Lab to answer that question. The game launched this week on SteamVR with support for the HTC Vive and Oculus Rift, and will soon come to the Oculus store.
Tann calls Chroma Lab a “particle physics sandbox,” and says that more than 100,000 particles are simulated in VR at 180Hz using a custom GPU accelerated physics engine. He says the physics engine was written using HLSL compute shaders and that the game doesn’t rely on any vendor-specific rendering technology and is therefore optimized to run on any VR ready GPU, be it AMD or NVIDIA.
The initial experience launched this week and is enjoying a 10% launch discount, pricing it at a modest $4.50. The experience is “a toy for now,” but the developer is considering adding game modes in the future and considering DLC as well. Here’s what Tann he calls the game’s key features:
- Beautiful, psychedelic visuals
- Particles react to background music (any external music player is compatible, may not work with Bluetooth headphones)
- Tools to pick up, hit, pull, explode, shoot and paint the particles
- Placeable force spheres which can also teleport the particles between one another
- Save and load scenes and settings, also there are a few presets to get started with
- Adjustable physics settings to change how the particles behave
- Multiple different particle shaders, color pallets and other graphics settings to choose from
- Throw blobs into orbit and create black holes
- Optional gravity and “lava lamp” mode
- Freeze the simulation and step through it or slow time to a crawl
- Great as a first VR experience
- MixCast support for easy mixed reality
- Native Oculus Rift support
- Number of particles can be automatically determined or manually chosen
- Scale and bounding walls can be adjusted allowing Chroma Lab to be played from sitting to room scale
Without imposing the high fidelity rendering bar required for VR, Tann says the physics engine written for Chroma Lab is capable of simulating 1.6 million particles at 60Hz on an AMD R9 290 (a four year old GPU); today’s high-end cards would presumably be able to push that much further. A video from the developer, which shows the Chroma Lab physics engine at an earlier stage of development, shows 400,000 particles simulated at 60Hz:
Responding to comments on Reddit about the earlier Chroma Lab teasers, Tann explains a bit more about the simulation and its limitations:
There is no limit to the amount of particles apart from VRAM and size. Ignoring overhead, rendering and counting sort, computational time is O(N) for all particle stuff and interactions (well apart from one). Increasing play space also slightly increases comp time due to counting sort and it massively increases VRAM usage. I could use a repeating grid for infinite playspace but it is not necessary for my game and having the particles in a fixed grid will be useful for future physics additions.
Assuming the fluid is not compressed, internal particles interact with about 55 others per iteration consistently.
All the particle calculations and data manipulation runs entirely on the GPU. The CPU barely does anything.
Tann is a recent master of electrical engineering graduate who says he’d been developing the project in his spare time at University since January 2016, except for the last few months leading up to launch when he opted to go full time on it. I wouldn’t have guessed it, but Tann says it’s his first time developing a game, and that the impetus behind the project was to use it as a learning experience.
Chroma Lab‘s mesmerizing and reactive visuals remind us of Cabbibo’s work, who was recently interview by the Voices of VR podcast.