Habib Loew's Demos

Stuff that was cool at one time or another. 


About the Demos

These demos are little applications I put together to show off a particular technology or just to play with some interesting code. They differ from the prototypes in intent more than anything else. For me, a prototype is all about exploring an idea, while a demo is much more about showing off something fun. These demos are typically not polished and I hate to admit it but they don't age all that terribly well. None the less, I hope you enjoy them.

Actions of Opportunity   (12/09/06)                     

    This demo was a group project for one of my AI classes at DigiPen.  My partner and I were attempting to use a subsumption inspired architecture to extend the capabilities of agents in games, with a particular focus on RTS games.  The zip file includes the demo and a short writeup of our methodology.  A relatively up to date version of Direct X is required to run this demo.

  Update: This demo (and the associated article) are available in AI Game Programming Wisdom 4

 Technologies: C++, DirectX


Stick Figure                     (05/08/06)                                           download

    I was playing with spline interpolation and C# and this was the result.  Click to add points to a frame, control click points to connect them.  Once you have a figure you like then it's time to animate.  Click "new" to create a new key frame, then drag the points to new locations.  Repeat this step as many times as you like.  Note that once you have at least four frames the spline interpolation used to generate the subframes will be drawn for the currently selected point.  When you're ready to see your animation just rewind all the way and hit play.

    Update:  The stop button is supposed to be a square, but what actually shows up in that spot will depend on the fonts you have on your computer.  Whatever it looks like, the third button from the left is stop.

 Technologies: C#, .Net 2.0  


Ecosystem Simulation     (04/17/06)                                           download

    Created as a team project for a machine learning class this simulation presents a very simple model of evolving creatures on a hypothetical savannah.  The creatures are represented by colored dots, plants by green squares, water by blue squares, and dirt by beige.  There are all kinds of knobs to fiddle with, but for easy fun just crank up the speed and watch the simulation go.  The creatures have a number of behaviors from trying to get food (plants or animals depending on their genome) to trying to breed.  We made fitness into an "attractiveness" modifier to the breeding decision and creatures must actually be next to each other to breed.  The results turned out to be very intersting.  After letting the simulation run for hours on high speed we saw all kinds of inter-species relationships evolve and any number of stable ecosystems develop.

 Technologies: C#, .Net 2.0 


Simple Cloth                    (12/13/05)                                           download

    This is a demo of a simple piece of cloth I did for one of my physics courses.  What's notable about this one is that it looks pretty good but only took a couple of hours to throw together.  There's all kinds of ways to implement cloth and the one I'm using here is probably the simplest.  I'm just using a relaxation method to balance the stresses throughout the cloth.  Essentially every frame is treated like a steady state and the cloth is relaxed into it.  This works out very well for very little effort and is far simpler than trying to deal with a "real" mass/spring system.

 Technologies: C++, OpenGL


Bump Mapping                  (12/13/05)                                          download

    I did this demo of a software renderer with bump mapping for one of my last graphics courses.  I'm not really a graphics programmer, I just don't have the love of graphics that it takes, but this demo turned out to be fairly entertaining.  It's pretty slow (maybe 19 FPS) as the whole pipeline is in software and isn't super optimized (this project was more about the concept than being lightning fast).  Press the 'G' key to toggle between software rendering with bump mapping and OpenGL rendering without bump mapping.

 Technologies: C++, OpenGL


Splines                             (12/08/05)                                           download

    A simple interpolating spline demo.  Click to add points and when you have enough a spline is created that passes through the points.  Use the mouse wheel to adjust the number of subdivisions in each segment of the spline.  Note that for the dynamic splines the actual spline drawing doesn't include the most recent two points.  This is on purpose, and arises from the way the dynamic spline is calculated.

 Technologies: C++, GDI