Geobox

Key Experience from Geobox

  • First serious venture into game engine architecture during college
  • Hobby project that turned professional after I was picked up by Mane6 for Them’s Fightin’ Herds
  • Developed a game-ready engine with a focus on scripting capabilities
  • Gained tons of experience in component oriented actor design
  • Engine would eventually be sold commercially as part of Them’s Fightin’ Herds game modes

During college and before being picked up by Mane6, I built a sizable 2D/3D mixed engine called Geobox as a hobby. This was my first serious venture into game engine architecture and content pipelines. The engine was based on a component based architecture that allowed for rapid prototyping of standardized actors much like Unity.

Being in the “experimentation” phase with game engines, much of the early work I did was quite silly and there was plenty of ‘programmer art’ to go around. I was especially excited about physics simulations.

Rigid body simulation with constraints, forming simple elephant ear plants and responding to forces.
Complex “bubble” simulation that could trap and drag objects inside of it.

This was also my first time attempting to use shaders for physics simulations. Particles were, of course, a natural fit.

Tens of thousands of particles being simulated on a GPU by storing physics information in textures

I focused far more on system wide integrations this around, compared to graphics techniques in isolation. One of the particularly tricky ventures was fluid dynamics simulation. I had to read several papers, and several more attempts to get simulation to work correctly on my (not great) GPU at the time, but the code ended up working correctly and quite numerically stable.

Fluid dynamics simulation by solving Navier-Stokes on a set of textures

It was difficult enough to get fluid simulation working on a HLSL shaders, but getting it integrated with a game world was another issue entirely. Fire was one of the most challenging to do since the parameters were far different than most fluids, but definitely the most fun to play around with. Snow simulation with accompanying wind was of particular interest to me.

Fire can be simulated by drastically changing the normal fluid parameters
Lighting effects can be added to smoke using normal map generation and deferred shading
Example of occlusions being integrated into the fluid simulations, allowing smoke and wind to respond to its environment
Integration into a more natural looking setting (even if it’s still programmer art)

But I wasn’t just slapping together tech demos. My efforts were more focused on component driven architecture over pretty graphics this time. Eventually I would create a mock up of a graphically advanced Cave Story clone. This was shortly before I was picked up by Mane6 and ran out of time for personal projects.

Cave story clone with lots of dynamic lighting, complete with simple AI Curly Brace

This engine would eventually become the basis for the Them’s Fightin’ Herds online visual lobby and story mode.

Please enable JavaScript in your browser.