Pages
Categories
Archives
- February 2012
- January 2012
- December 2011
- November 2011
- November 2010
- March 2010
- January 2010
- December 2009
- November 2009
- August 2009
- July 2009
- June 2009
- February 2009
- July 2008
- June 2008
- May 2008
- April 2008
- March 2008
- February 2008
- November 2007
- September 2007
- August 2007
- July 2007
- June 2007
- May 2007
Dreaming of Ambienome
Lately, I’ve been having visions of a game I’ve been wanting to make for years, which I call Ambienome, a pseudo-portmanteau of Ambient (as in ambient music) and Anemone (the tendrilled sea creature). Both the concept and the name are inspired by Toshio Iwai’s Electroplankton. Like Electroplankton, Ambienome would be more of a musical toy than a game; the purpose of it is to have fun and express your creativity, not to “win”.
The basic concept of Ambienome is that there are underwater creatures that emit sounds and interact with each other and with the player. But unlike Electroplankton, these creatures are heavily modifiable, by combining and connecting “parts”. Each creature has a shape (built out of polygons, curves, and circles), some input/output sockets for connecting with body parts or other creatures, and a collection of parts or other creatures in its belly, like internal organs. So, the creatures are essentially zoomorphised node groups with connections to other nodes and groups of nodes. Much like Blender’s compositing nodes, but more adorable.
So, it works like this: There are body parts, which define basic functionality (e.g. “play a sound when you receive a signal”, or “send a signal when you collide with something”). Body parts have sockets, so they can be connected to each other by wires (or tendrils) to make more complex functionality (e.g. “play a sound when you collide with something”). Body parts can be grouped together to make a creature, and a creature can also contain other creatures (thus, arbitrarily deep nested node groups). Creatures also have a shape (and color, etc.), and perhaps some sockets of its own, so that its internal parts can be connected to other creatures or parts. So, creatures function as reusable, customizable templates for behavior.
To make things even more customizable, players can even create new body parts, which are simply Ruby code wrapped in a visual shape. They can have input and output sockets to receive and send events, and can use an API to perform actions like playing sounds, adjusting their volume, changing their shape, and applying physics forces to move or spin itself or its parent. The API would grow with each version, enabling more and more kinds of creations.
“Gameplay” (if you can call it that) would consist of creating, interacting with, and watching/listening to the creatures in the scene. Body parts, creatures, and even whole scenes could be saved locally or shared online — ideally, I’d like to set up an online service like the Sporepedia, integrated into the game, where players can share, download, rate, and comment on creations. And of course, there would need to be realtime multiplayer collaboration over the network!
That’s the dream, anyway. Only time will tell whether I’ll actually attempt it, or just let it brew in my mind some more.