Skip to main content

Techy Stuff - The Fluid

The smoke-like material seen during the intro and during teleportation is a a real time 2D fluid simulation (a small Navier-Stokes grid for the savvy). Initially, this fluid simulation was meant to occupy the whole screen space (kind of like Little Big Planet), and then emission would occur where needed (where the character is most of the time). The fluid simulation is run as a separate thread and updates at a different rate than the game (slightly slower). The fluid equations are adapted from Dunkan Brinsmead's fast maya fluid equations, which he so kindly make available to the public.


Ultimately, I couldn't simulate a fluid this large becuase I was simulating on the CPU (I've seen several implementations of fluid dynamics on the GPU, but sadly didn't have the time to try them).  So, the end result was a low res fluid centered around the character at all times, that resets its contents when a new teleportation occurs. It still provides a nice subtle randomness to every teleport, which is something that occurs rather frequently in my game.

Comments

Popular posts from this blog

Painterly Shader with GLSL

Besides all the regular fancy shaders you would normally find (reflections, normal mapping...) the demo features one advanced fullscreen shader to produce the painterly effect. Its different from the usual cel-shading techniques because it doesn't rely on silhouettes or a different lighting model to produce the effect. Instead, the shader utilizes a brush pass ( the scene re-rendered with a brush texture applied to everything) and the depth pass, alongsde the main color pass to distort the image in a specific way. The brush pass is used to define the  magnitude  of the distortion, and some math applied to the depth pass to define the  direction  of the distortion. Its useful to note that the main color pass is rendered completely normally, the lighting is baked from Maya into the textures, and shaders are applied normally for reflections and normal mapping. Below are screenshots of the passes with a brief explanation of how it works. 1.  The brush pass. The color v

Q - PC Build

Q started out as a PC game. It was controlled with a mouse only, and you used it to connect nodes on the spell pad. We were only getting started with UDK, but we managed to get a look, feel, and some controls for a small demo. It relied heavily on post processing effects, cloth simulation, and real time accurate reflections. When we later moved to iPads, none of those features became viable, and the visual had to change drastically. It looked like this:

Physics

My demo uses the amazing (and opensource) BOX2D physics engine for C++. You can check it out at: http://box2d.org/ The gameplay involves a lot of discontinuity in the physics due to all the teleportation (character teleporting into objects, objects that teleport into spaces that dont fit them...), and BOX2D handled the resolution of these unstable states very well. In fact very little extra programming was required for the engine to reach a very stable steady state.  What the BOX2D test bed looks like.