Lately, I’ve been focusing so much on Common Lisp itself, that I have barely spent any time on Ambienome, the whole reason I’ve been learning it. It has been so long that I can barely remember what I was working on. (Physics engine integration, I think?)
That’s no good, so I wanted to take some time to set my thoughts and ideas for Ambienome onto paper (so to speak). This will help me slide back into that mode of thinking, hone my ideas by putting them into words, leave a journal of how the game evolves, and maybe spark some interest in anyone reading this.
Caveat: you should not interpret any part of this as a promise or firm description of how the actual game will be. I’m just unloading my thoughts and ideas as they exist now. Everything is still subject to change, etc.
Creation vs Play
One thing I have not yet decided is how much focus will be on creating content, and how much focus will be on playing (or consuming) content. In other words, is Ambienome a game with a built-in creature creator, or a creative tool for designing interactive motion graphics and audio? Does the player create things to play with, or is the act of creation itself the gameplay? Where do I strike the balance?
I think it should lean more towards being a game that you can create custom content for. A typical user might spend two thirds of their time playing with user-created content, and one third creating new content. Naturally, individual users will have different interests and focuses, but I really want creating content to be accessible, highly interactive, and engaging. Spore,Minecraft, and Little Big Planet are all excellent examples of this.
As I’m envisioning it now, users would create scenes, which would have various creatures as well as level geometry (walls, etc.) and maybe some non-creature objects/items. The game would come with a variety of pre-built creatures, and the user could also build their own from scratch or by modifying an existing creature. Creatures could be saved and re-used between scenes, exported or imported as files, and easily shared online. Likewise, scenes could be exported, imported, and shared online.
Ambienome would likely come with a few dozen pre-made scenes that gradually introduce new creatures and gameplay mechanics, as puzzle games often do. Some of the scenes would have specific puzzles or goals to solve, while others would be “free play” mode like Electroplankton, where the only goal is to have fun playing with the creatures.
There are many possible gameplay mechanics, ways in which you can interact with the scene, and creatures can interact with each other. Here are some that have been floating around in my head:
- Light/darkness (bioluminescence, light sensitivity)
- Heat/cold (energy transfer)
- Attraction/repulsion (magnetism)
- Falling/floating (gravity, buoyancy)
- Water/air currents (lines, splines, vortices)
- Bubbles (for air supply, or carrying objects)
- Sound pitch/harmony
- Playing a melody (correct notes in correct order)
- Physical contact (collision, bouncing, overlapping)
- Eating food or other creatures
- Life cycles (birth, growth, death)
- Controlling creature directly with keyboard, mouse, or joystick
- Creatures follow mouse pointer
- Clicking and dragging to move creatures and objects
These mechanics can be combined in interesting ways to create fun puzzles and free play scenes. For example, there might be a puzzle scene where you guide a creature to find some fruit and bring it back to the creature’s hungry offspring. But of course, there are obstacles in the way! First you have to bump into some singing sea cucumbers that each play a different note and glow a different color. When you play the correct melody, a hot magma stone appears. You carry the stone to a dormant hydrothermal vent, thereby heating up the vent. When the vent is hot, it produces a rising current which carries you up to reach some fruit hanging on a vine on the ceiling. You carry the fruit back to the hungry offspring, thus completing the scene. (This is all 100% scientifically accurate, of course. I saw it on the Discovery Channel. Honest!)
The game mechanics can also be used for free play scenes. One scene might have some jellies whose long tendrils ring like wind chimes when they move. When you move the mouse cursor, it creates a brief current, stirring the tendrils and making relaxing sounds. Perhaps there are schools of tiny fish hiding among some kelp, but they are attracted by the sound of the jellies’ tendrils, so they emerge and start swimming around, leaving colorful trails as they move. There’s no goal to accomplish or puzzle to solve, you can just relax and enjoy the sights and sounds for as long as you wish.
Naturally, all the creatures and game mechanics used in the scenes that came with the game would also be available for users to create their own scenes. And, players would be able to use those scenes and creatures as starting points for their own creations. Maybe you want to add some hydrothermal vents from that puzzle scene to create warm water currents that stir the jellies’ tendrils in the free play scene. Just press a button to switch to “create” mode, drag some vents into the scene, and voilà.
Ideally, creatures and scenes uploaded by other users would also be available for creating derivative works. But, that starts to get into some complex issues. How much control do users have over the license? Do all uploaded creations have to be under a certain license (perhaps some form of Creative Commons)? What about creations they don’t upload to a central service, just export as files? Can they choose “no derivatives”? Would the game try to enforce the license, for example by not allowing other users to modify scenes marked as “no derivatives”? These are some of the issues I’ll probably have to think about eventually. But, thankfully, not today.