No, I'm not an early riser.
I spent more time yelling, cussing and shaking my fist at Processing (the java-esque based library, not the abstract action)than I did porting the algorithms over to the OpenGL interface in C++:

In other words, Processing fulfilled its role admirably!
I managed to code, check, and toy with a number of Cellular Automata (CA) variants in processing before porting the code over to C++. If I had tried doing the algorithms directly in C++ right off the bat, I think I would have gone insane.
I'm sure that I'll have plenty of time to yell at malfunctioning C code later, but for the moment Processing saved me several hours (if not days). Many thanks to Casey and his fellow Processing advocates!
After trying to get Conway's game of life running for a few hours, a five minute check on google got me the basic code (twice as efficient as I had been doing it, I might add. I decked the source code out a little bit, I'll post my additions if there's interest). Referring to Mirek's Cellebration, which has a great amount of info on cellular automata (plus a CA program that puts mine to same dozens of times over) I found 1. a great method of codifying a number of CA families and 2. examples of said variants. The site is dangerous, you can spend hours there...thankfully it's directly related to my research.
So, now instead of a simple heightmap, you now have a basic, tweakable CA algorithm determining where the "buildings" lie. This is one of the more stable configurations:

I'm also trying out a moodier atmosphere, hence the fog and silhouette'd structures. Textures? They're on the list, after models and further generation algorithms.
This particular configuration is a "maze" CA...it's pretty stable once it's grown into place. Conway's classic "Life" (2-3 adjacent cells to survive, 3 adjacent to grow) makes an odd setting...it can be very dynamic or very stable...it often switches back and forth several times. You usually end up with something that looks like a very open University or Hospital ground.
I've added the streets in after the fact (regular grid), as vantage points to wander around in, looking at the cellular blocks. I still plan on giving them names.
So what am I going to do with this? I'll talk to people about my plans this afternoon, but I am thinking of a dual (duel?) setting, where two people have the ability to place buildings/cells within a space.
I might also add that I am looking at more complex CA and CA-like procedures. I'm planning to continue testing the intricacies of this chaotic behavior in Processing, trying out things like dependencies, different types of "Cells", even "ecosystems" that are fairly independent of each other, only merging in the final stages of environmental generation.
Posted by todd at April 20, 2004 6:56 AMWow - very nice stuff.
Posted by: sfisher at April 20, 2004 7:29 AM
looks good todd --
are you still building bitmaps and then extrapolating up to 3d, or have you implemeted the c code to build the 3d 'live'
Posted by: will at April 20, 2004 9:52 AM
Thanks for signing in, . Now you can comment. (sign out)
(If you haven't left a comment here before, you may need to be approved by the site owner before your comment will appear. Until then, it won't appear on the entry. Thanks for waiting.)