theater → my theater resume
What I’ve done, theater-wise:
What are you talking about, crazy software guy?
OK, so I’ve been toying with 3D simulation programming for awhile now. Little things here and there, like simulating autonomous agents, interacting with each other in a virtual space. Nothing fancy, but impressive, (to me anyway), and basically just for me to learn the intricacies of the different technologies that are out there, in preparation for some bigger things I’d like to work on.
These technologies usually live in the realm of game programming. What I am endeavoring to create, however, is not really a game, in the usual sense of the name. It’s more of a living simulation of a virtual world.
First, a little background…
Most people do not know this, but I am very interested in some “on the edge” fields of science, and how they relate to specific types of simulation. More on these topics in later posts:
Anyway, in short, I am interested in the simulation of various types of multi-agent systems. These consist of multitudes of simple entities, who on their own, are fairly “dumb” (obey a small set of simple rules), but collectively exhibit complex, emergent behavior.
Think flocking birds, ant colonies, cells in an organism, neurons in a brain, atoms, etc…
But what do you want to accomplish with all this?
Well, the big picture, sans a few pixels here and there, is that I want to ultimately set up a long-standing simulation which encompasses various simple processes, which will lead to persistent emergent phenomena.
a.k.a – I want to build a virtual, living world.
This project is tentatively named “Rhea”, after the Greek goddess. Per wikipedia, she is the Titaness daughter of Uranus, the sky, and Gaia, the earth.
Sound crazy? Not so much really. I know what your thinking… World of Warcraft, Everquest, Second Life, The Sims, etc… The big difference between those “worlds” and what I want to create, is that everything in the world I build will start as simple constructs, (basic limited resources, low-level processes based on simple physical rules for how things react to each other), which will cause higher-order processes and entities to emerge and evolve on their own over time.
Technologies/toolsets/and other exciting things like that:
I am leveraging the architecture proposed in the most excellent series of books, “Game Programming Complete”, or as I like to call it, “The Game Programming Holy Grail”. Put simply the author puts forth an architecture for developing games in which the major components are very decoupled, event driven, and that lend themselves well to concurrency, clustering, etc… I am tailoring this architecture more to intense simulation/real-time processing.
Technologies/Tools (some of the major ones):
Open-Source focus:
I am concentrating on open-source technologies, and this project will be open-source. When I have it to a stable enough state, I will open the project up to outside development.
This post is a work in progress. More to follow…
Check out the PR2 (Personal Robot 2), under development by Google’s “Willow Garage”. Of interest is that everything that comprises this robot is open-source, modular and extensible, including the operating system, ROS.
http://www.willowgarage.com/pages/robots/pr2-overview
It’s really a cool project, but let’s hope these things do not become sentient and decide they aren’t fond of doing mankind’s bidding. Of course, I probably watch too much Battlestar Galactica, but still…