Soda Constructor is a sweet physics-based webtoy that I just saw for the first time today. It takes a bit of getting used to, but you can use it to make little artificial creatures that move around and stuff. I'd check out some of the default preloaded creatures to get some inspiration, then have some fun.
These guys are doing some real interesting stuff. I've played around quite a bit with physical modelling in Java (which is what they use), and it can be lots of fun, but a little tricky. This implementation is spring-based, which means you can't get things like rigid bodies, but a stiff enough spring comes pretty darn close. Of course, set the springs too stiff, and everything just explodes...but carefully chose ranges of parameters (or simulation method) can reduce the likelihood of this happening. I've managed to get this physics stuff working in my own stuff, but I've never set up a nice user interface for the whole thing, which is where Soda Constructor shines - it's extremely intuitive to use, you just click and drag to make points. The only tricky bit is to realize that you need to right click to deselect points, then click on the springs that are created to connect them to the control structure.
But wait! There's more: the most interesting part, to me, is Sodarace, where they are using genetic algorithms (one of a handful of soft-AI techniques) to evolve these creatures from scratch. You can see some of my thoughts on machine intelligence on my artificial intelligence blog (only a couple of posts so far); as you'll see, this is a subject I am very interested in, and Sodarace is more or less the applet (okay, actually it's a JNLP program) that I've been meaning to write for a long time now. Guess they beat me to it! The especially interesting part is that the machine evolved things tend to do very well versus the human designed ones, even if they don't look so pretty.
Monday, February 12, 2007
Soda Constructor
Permalink:
2/12/2007 09:25:00 AM
0
comments
Digg It! |
Del.icio.us
Labels: ai, genetic algorithms, java, physics, webtoy
Friday, February 9, 2007
The Falling Sand Game
The Falling Sand Game is a real gem. It's more of a webtoy than a game (I know, I hate that phrase, too, but that's what it is!). As you may have noticed, I've been pretty into the types of games where you set something up and then watch it run, the physical simulation type things. I guess it makes sense - I was a physics major, after all!
Anyways, this is a lot of fun to play; unfortunately, I have no idea who to credit for it. Sometimes it's known as World of Sand, too; the Falling Sand Game website has the following to say about it:
"Falling Sand Game", also "World of Sand", (2005) is a Java applet first found on the Dofi Blog via Fark thread, later enlarged and rehosted by Chirag Mehta. The game has been popular on community link sites like Digg and Delicious and involves four main falling particles: sand, water, salt, and oil. Each of these particles have special properties that can be manipulated; among these include burning, desiccating, growing, eroding, and more. Along with these four, main particles are auxiliary environmental manipulators: Wall, Fire, Plant, Spout, Cera (or wax), ???, and Eraser. By putting these together, one can thoroughly enjoy the modeling and construction of very complex structures and systems. There is an additional special feature that can be turned on, off, or told to remain in place. This is called the namekuji. In japanese, "namekuji" means slug, naturally for the properties of a slug when salt is poured onto it. Several different versions exist, varying from applets with zombies, or human bodies, that have their own unique properties to applets where auxiliary environmental manipulators have additional properties.
So anyways, give it a go. When you've played the original, you might also want to check out Pyro Sand, Pyro Sand 2, and Hell of Sand, my favorites of the mods.
By the way, all of these games were built with Processing, which I've been pushing quite a bit lately - it's just such a nice environment to quickly bang out cool Java applets with. FYI, the source for Pyro Sand has been released, and "You're welcome to use it in whatever way you please. " according to this forum post. At some point I may try to find the time to refactor this code a little bit and release a more OO version with some explanation of what's going on.
Permalink:
2/09/2007 10:49:00 AM
0
comments
Digg It! |
Del.icio.us
Labels: physics, processing, sand game, webtoy