Tuesday, March 23, 2010

Design Post-Mortem: The Possession Orb

Rather than write a big long post-mortem of how developing Replica Island went, I'm thinking about writing smaller articles that focus on a single element of development.  Just because the game has shipped does not mean that development is over, and I'm sure that I have much more to learn now than I did before the game shipped.  And speaking of the game's release, it's tearing up the charts, thanks to Nicholai and his crack team of PR ninjas (ok, he doesn't really have any PR ninjas).  This article, despite being ultra thin on details, seems to have reached a lot of users.  I'll post more details soon.

Ok, so for this first Design Post-Mortem, I thought I would talk about the evolution of the Possession Orb.  The Possession Orb is a special projectile that the Android robot can fire out of his body.  It has the power to possess machines, and running it into, say, an enemy robot will let you control that robot.  The Orb is controlled by tilting the phone, and you can extend its life time by collecting red gems.

The Possession Orb did not originally start out as an orb.  And actually, it didn't originally have anything to do with possession either.

My original design for the Possession Orb was called the Player Ghost.  The idea was that the player could drop the ghost somewhere in the game world, and after a few seconds it would begin to replay the player's recent movement.  At any time the player could click a button and instantly teleport back to the ghost's current location--it was like a way for the player to undo a few seconds of movement.  The ghost, I figured, could also press buttons, so there could be timing challenges involving hitting buttons with the player's body and then again a few seconds later with the ghost.

I got this idea from a crazy Nintendo Entertainment System game called Lot Lot.  Lot Lot is a puzzle game in which two cursors move across a board filled with balls.  One cursor is under the player's direct control, and the second cursor is following the path of the first, but about two seconds delayed.  When the player's cursor is over a grid square that has balls in it, the player can press a button to swap those balls for the ones in the square pointed to by the second cursor.  So game play consists of thinking about where you want the two cursors to be, drawing a path that you know will be correct two seconds into the future, and then hitting the button at the right time to shift balls to the edge of the board before they fill up.  It's very difficult to understand at first but once it clicks the game play is crazy.  Here's a video of Lot Lot in action:

So, my idea was that the Player Ghost would be like Lot Lot's second cursor: a replay of the player's recent movement that could still affect the game world.

Here's some early design sketches I made about this idea:

Sounds cool, right?  I thought it would be cool if you could snap back to the ghost's location too.

I liked this idea, but when I ran it by Genki, my partner in crime, he was skeptical.  He thought that puzzles would be hard to design and that users would have a hard time understanding the mechanic.  But I wanted to try it out so I went ahead and implemented it anyway.

Functionally, the Player Ghost worked exactly as I had imagined.  It wasn't hard to implement and it actually looked pretty cool.  But it quickly became clear that Genki was right: the concept made no sense and designing puzzles was really hard.  It was clear that puzzles were going to require a bunch of different objects just so that the ghost could work (e.g. doors that close immediately after you pass through them, rather than after a fixed duration), which lowered the quality of the idea significantly.  And it was confusing as heck; I wasn't confident that even with supporting game objects the idea would ever really make sense to users.

Genki suggested that instead of the player leaving the ghost behind, the ghost should leave the player behind.  This idea made a lot more sense, but I wasn't sure how to make puzzles out of it.  Eventually we realized that possession is a cool mechanic that the ghost could be useful for (rather than just depressing buttons), and that tilt controls might be a fun way to add diversity to the input system.  Tilt controls implied flying, so the ghost was freed from gravity.  And at that point, it didn't make any sense for it to look like the Android robot any more, so we changed it into an orb (collisions with the background were more believable this way too).

Once we hit on the mechanic a lot of potential avenues for game design immediately presented themselves, which was a good indicator that the idea had more legs than its original version.  Actually, I think that this mechanic is quite under-used in Replica Island.  There's a lot more that we could have done with it, and actually tested with it, that didn't make it into the final game (try running the Possession Orb into a turret, for example).  Maybe this is something to experiment with in a future update.


  1. Braid is one of my favourite games that uses that sort of timeshift. Very brilliant but definitely needs the right storyline to have it make sense!

  2. exactly that is chronotron:


  3. > Anonymous

    Indeed! That's a very cool implementation of this idea. Much better than what we had in mind. Glad to see that the idea can actually work well. Thanks for the link!

  4. I'm a big fan of the game and was just wondering: is there any specific way users can provide useful feedback? As in bugs etc?
    Because I have experienced the following on my Nexus (original ROM 2.1.1) after a first session:
    -Posession orb sound keeps going after I killed myself with a posessed enemy and respawned.
    -Can't get back to main menu or quit from the memory interface.

    That's all for now. Hope this helps even a little.
    Thanks for offering this little gem for free because I've got no acces to paid apps here in Belgium :)

    Keep it up!

  5. Yes, hangs on black screen for me after memory interface too (Samsung Galaxy, 1.6). I have to switch to task killer, kill Replica Island, then restart Replica Island.

    I've gotten two of the possible endgames so far, going for the third :)

    BTW, any utility to possessing a robot shooter and spewing robots?

  6. @Chris: I said it on Google Code, but I'll say it again here: Replica Island is a very cool game, and having the source code of such a polished game is a gift. Thank you.

    The post about the possession orb is very interesting, and shows how it can be hard to adjust gameplay.

    @pearl: oh I can't thank you enough for citing Braid in your comment. Right after I read that, I tried the demo, got hooked and bought the full version on Steam. I wanted to try the first levels - it was about 11PM - then... I looked at the clock... and it was 4AM !!!
    What a wonderful game, what a glorious display of craftmanship and creativity! It almost moved me (no kidding).
    So I should not thank you for depriving me of some hours of sleep, after all ;)

    @Logic: hey, a fellow belgian! I'm with you on the "free" side of Android Apps. What a shame (I have a HTC Hero).

  7. Thank you for the explanation of the possession orb. Can you answer one question. Why does the orb take over the robot making satellite dish machine and spew out hundreds of robots per second. This happens when you press he jump button anger the orb touches he machine. Does this happen on purpose or is his a bug?

    Michael. MotoDroid

  8. Awesome game... just wanted to chime in on some other games that use the time-shift mechanic...

    Braid was already mentioned, and possibly one of the most creative (and complex) implementations. Between shadow copies, and time that changes based on movement, it has a LOT of novel ideas. I think everyone should play it, developer and gamer alike if only to spur some creative ideas.

    The Misadventures of P.B. Winterbottom is another recently made game (I believe only available on XBLA right now?) that also toys with the concept of "recording" actions and using clones of yourself to complete puzzles.

    I similar, albeit very different take on this idea can be seen in "The Lost Vikings" an old blizzard game, although in that version, you take control of 3 separate characters with different abilities to solve puzzles.

    The thing is, that kind of mechanic can't be bolted onto an existing idea... these kinds of ideas absolutely DEPEND on the level existing as a puzzle that requires solving. Replica island seems to play squarely in the field of action/platformer rather than puzzle/platformer and I think the design decision to change to possession ball was a wise one.

    As it stands though, it still feels tacked on and a little gimmicky. I think it would have been better had there been more possible possession opportunities and more options to perform with a possessed robot.

    For instance: Rather than the only option of detonating the robots to release, why not have an option that simply releases them without blowing them up? You can then use this mechanic to place multiple buttons that need to be stood upon, and the player would need to strategically place the bots on each button to progress.

    Additionally, taking command of one of those robot makers only serves to completely confuse. When I fist took one over and started shooting robots out in all directions (graphically at least) I thought the game had completely bugged out and I restarted. It wasn't until I had accidentally taken over several of them that I realized that this was actually intended (though completely useless) behavior.

    Getting those pesky possessed bots to move where I want is a bit annoying though. For some reason they don't move nearly as gracefully (or easily) as the little android bot. (Possibly intended as well, but still frustrating)

  9. this is a very nice game & just wanted to chime in on some other games that use the time-shift mechanic...logo design

  10. hello friends how are you ?you can find here replica mobilesreplika telefonlar

  11. I know your ability on this. I should state we ought to have an online discourse on this. Composing just remarks will close the exchange straight away! Also, will confine the advantages from this data. Araç Değer Kaybı

  12. Much appreciated such a great amount with this fabulous new site. very started up to show it to anybody. It makes me so fulfilled your tremendous comprehension and knowledge have another channel for attempting into the world. North American Bancard Agent Program