Tuesday, June 26, 2007

Bouncing Ninjas!

So after trying OpenGL + ODE, Irrlicht + ODE, I've finally settled on OGRE + ODE + ? for the client rendering/smoke tests.

A little history.
A little while ago, after getting the lsystem, system server, interpreter, interpreter server, and my OpenGL + ODE client all displaying lsystems that were interpreted as 3D points in space, and could be evolved (via mutations and cross-breeding), I began to run up against the limits of how much time I could put into OpenGL. So I began looking for a 3D toolkit I was happy with. OGRE is it. However, now I need to find an input system I'm happy with. OIS is not it, and SDL may be it, but the OGRE codebase has drifted ever more and accomodating OIS/CEGUI, so that's what I'm using for now. I had SDL integrated in, but pulled it.

But for now, I'm eager to get back to fixing all the bugs I've found in the other components: subtle issues with mutexes, simplifying message passing (I'm not scared of hex anymore, so I'm going to make the objects serialize themselves instead of the current mess). And I'll just be glad to see those 3D l-systems again (especially coz I can't find any screenshots to prove I did it). For now, here's some screenshots of bouncing ninjas, and 2D systems generated from a codebase that has since been pretty much re-written.

Enjoy!

Ninjas:


Trying to see how big I could make the system (something like 100K elements/spheres in this one)

Detail:

Systems with the same start state, but one has a mutation rate > 1.

Playing around with different settings:

Bouncing Ninjas Refactored!

No comments: