Platypuzzler Dev Diary: Finding the Fun

Last time I talked about the basic prototype of Platypuzzler we made to test out the curiosity mechanic, which worked reasonably well and showed potential. But the game itself wasn't fun to play. In fact, at this point there wasn't even much game to play. In truth, I had probably been so focussed on trying to recreate Platypus' personality that I hadn't given nearly enough thought to what the player would actually do in the game.

One of the most fun games I played growing up was Magic Carpet (and anything else made by Bullfrog, really). The game was absurdly difficult to control at times – flying a fast carpet with the mouse and keyboard and casting spells at creatures and other wizards who were trying to kill you while rushing back and forth to defend your castle and mana balloons required considerable skill and coordination. It was actually an incredibly frustrating game fairly often, but when things were working well it offered a kind of flow state in which I could lose myself for hours.

Gameplay footage from the original Magic Carpet (1994)

Recently, an indie developer tried to reboot Magic Carpet for modern platforms, which got everyone on Steam Greenlight excited, including me. Arcane Worlds recreates the core mechanics and look and feel of the original while bringing a lot more polish. But it's no fun, because it has no gameplay – at this stage it's really just a tech demo. Aside from flying around and enjoying the world the developer has created, there's nothing to do. The game is slowly being killed by negative reviews on Steam and will probably never be finished, which is a shame because the world could really use an updated Magic Carpet.

Crowdfunding trailer for Arcane Worlds - teasing gameplay that still doesn't exist yet.

I'm not sure I can explain what was so much fun about Magic Carpet – fun in games can be a difficult concept to pin down. However, I'm inclined to think that this is more of a problem with analytical language than it is with the concept of fun. Perhaps another time we can talk about fun as freedom or transgression or mastery. The important thing is that everybody knows what fun is and whether or not you are having it. When it came to the basic prototype of Platypuzzler's gameplay, I wasn't having it.

Here's an early build of the basic prototype – you can see what I mean. I hope you can forgive the programmer art and ignore the noisy UI – it's there to help playtest the mechanics.

Click to play the Platypuzzler basic prototype

The point of the level is to try to get Platypus to find the yabbie on the river bed, which he will have trouble doing without the player's help. The platypus moves around of its own accord just fine but it's not very responsive to the player's clicks and quickly becomes bored. At this point, the game acts a bit like one of those fishtank screensavers – it can be quite enjoyable to watch and you can tap the tank from time to time to have some impact, but the overall effect is quite passive.

I'd always had the idea that the player would click things in the environment to influence what was going on, but I was struggling to think of what the player should be clicking or why, and how to stage this in a way that was consistent with the game's core premise. I didn't want to the player to control the platypus directly because I wanted to depict its independence. I didn't want anything bad to happen to the platypus – it wasn't going to run out of air or get eaten. Most versions of the story we had come up with involved the platypus either getting lost in a storm and trying to find its way home, or escaping from its enclosure in a zoo. The worst that could happen to it in story terms was that it might get rescued and have to live in captivity rather than be wild – in gameplay terms failing would mean at worst having to start again. But it seemed that I had indeed created an independent platypus that didn't need any help from the player. In short, I'd quickly succeeded in creating my own Arcane Worlds - a simulation with no game.

Because it was fun to watch my code-driven platypus just doing its thing, I spent some time playing with the fishtank idea, building bigger levels and seeing what effect placing different objects would have on Platypus' swimming patterns. At one point he got stuck in an endless curiosity handoff loop between two turtles before tiring himself out, which was hugely entertaining. But I still wasn't sure what there was for the player to do in the game. After a while I realised I was having fun designing tank configurations for the platypus to swim in and wondered if this 'placing parts and pressing play to see what happens' activity could be the basis of the gameplay – a sort of The Incredible Machine puzzler. I like this idea, but I also worry that manipulating the world directly in this way may break the spell of being part of Platypus' world and thus undermine the affective possibilities of the game I'm trying to create. I still may decide to prototype a version of The Incredible Monotreme Machine, but I want first and foremost to find a gameplay mechanic within the world that is elegant and simple and capable of building out to greater complexity.

Back to basics then. One thing that has consistently appeared in every version of Platypuzzler I've brainstormed so far has been the interaction between the platypus and the turtle. When I have watched live platypuses swimming about with a turtle in the tank, they often find the turtle intensely interesting and paddle over to investigate it regularly, snuffling around it and, without quite meaning to, generally preventing it from doing whatever it currently happens to be doing. The turtle clearly finds this constant attention quite annoying but appears to accept it with quiet forbearance. I want this interaction at the core of Platypuzzler because I think it somehow gets at the core of the platypus' personality.

So, with Doug's help, we came up with a version of the game where the player controls the turtle. You will be constantly and unavoidably attracting the attention of the platypus, and the turtle will try to swim away in the opposite direction wherever possible. The player can click the turtle (or tap on a touchscreen device) to make it retreat into its shell, or to come out again. While the turtle is in its shell, the platypus will quickly lose interest and go off to do other things. When the turtle comes out of its shell again, platypus will come over to investigate next time it is nearby, prompting the turtle to swim off again to escape its attentions. In this way, the player can indirectly lead the platypus around the level to reach a checkpoint or to collect various items.

At this stage I'm still undecided as to whether the player will actually be able to move the turtle around with clicks or the movement keys, or whether the interaction will be limited to popping the turtle in and out of his shell and judging the right moment to do this to get the resulting swim-away direction right. I'm not even sure whether this mechanic will turn out to be fun either, but I'll prototype it in both variations and we'll soon find out.