An artistic approach to engine design
GeosGeos
Geos Overview
"analytic functions have tons of nice properties" - Seth
Background Geos started as a small set of C++ code, and a silly idea. Originally, it was an experiment in making an object model for storing scene data, inspired mostly by Maya. From there, Geos became a launchpad for various rendering architectures. All of the architectures focused on three main goals:
  • Design for the future: unified graphics architecture, full programmability
  • Use unsupervised learning models for self-optimized rendering behavior
  • Implement techniques for a system that "Just Works"
In the time since I committed myself to this idea, the scope of Geos has widened considerably. At the core, though, these three goals will continue to be the primary focus of the engine.

Geos is now aimed at the Indie developer community, and those who need a platform for rapid prototyping. The final product is designed to be a very flexible, simple, and yet still powerful platform for graphics and interactive presentations.

Like anything worth your time, Geos is ultimately about solving problems. One of the most important problems is the steep learning curve and high entry level for anyone trying to get into game development. Geos should not only be an intuitive way to build innovative game ideas, but it should be a hands-on way for learning how it all works.

I am also a huge believer in experimental game design, particularly arcade and mobile games. Gaming is more than some buttons, enemies, and a map, and Geos needs to make exploring this much easier. The industry has seen a very positive response lately to games of the "Touch Generation", such as those found on the Nintendo DS, Nintendo Wii, and Microsoft Live Arcade. There are also some great things happening in the Flash arena. It seems that huge episodic, cinematic, dramatic video games are costing too much, and returning too little. The interest is shifting towards short, innovative game designs. Some of these games even create audiences that never existed before!

But in the end, there is more than just games. Visual presentation is something that is becoming more and more important every day, so Geos is about designing a platform for powerful graphical applications. I have a huge interest in data visualization, and the platform will reflect that. Some inspiration here comes from Processing, Adobe's Flash, Act-3D's Quest3D, AT&T Labs's Graphviz, University of Washington's Photo Tourism (now Microsoft PhotoSynth), and many others.
Development Stats
LanguagesC++ (engine)
C# (editor)
Lua (scripting)
Ruby (grunt work)
PlatformUbuntu 5.04 - 7.04+
GCC 4.1.2
Mono 1.2.3.1
LibrariesOpenGL
SDL
ImageMagick
ODE
Lua
GLEW
Xerces
Xalan
UtilitiesSWIG
Valgrind
gdb
gprof
Perforce