A week in Stockholm

The Mobile Life Centre in Stockholm is an interdisciplinary lab that does serious research on unserious activities and comprises computer scientists, interaction designers, sociologists, psychologists and game designers. They are also part of SICS, and are partners with FoAM on the Lirec project. Last week I was lucky enough to work with them for 5 days focused on Germination X.

The main objective was to start designing a user study to discover people’s feelings about their relationships in the game. We started off with a talk and a workshop, inviting the other researchers to help us decide the best ways of doing this – using interviews, online questionnaires, in game surveys or raw data from the game.

The skills you need to design something like this (in order to get the best chance at finding answers to questions you are interested in), of course requires a totally different way of thinking compared to actually designing a game in the first place – it was very inspiring to be part of the process, and see first hand their work on other parts of the Lirec project, such as the ActDresses concept for end user programming of robots.

It was also great to meet the group at the Mobile Life Centre who are working on pervasive gaming who had lots of ideas and directions for the study, as well as for the game itself.

Germination X: Game design in pieces

The current focus for Germination X is encouraging collaboration between players, with the subjects of pemaculture and companion planting deeply interwoven into the gameplay. It’s important to avoid the normal problems with “educational games” where the subject matter is bolted onto some existing game. This is rarely a successful strategy.

Firstly players now are grouped into different roles based on the permaculture layers represented in the game:

As players progress they get a chance to take on different roles as they can only pick fruit from plants from the layer they belong to. This means that even experienced players require the help of new players to provide nutrients for their plants.

Another big decision was to separate the “social elements” of the design from the things you need in order to progress through the game. Part of the idea is to remove situations like this:

I forget which game the screenshot was originally from (I think a city building facebook game), but it had absolutely no connection with the themes of the game. Relationships seem generally to be treated like resources in most of these games – the main motivation being to increase virality. I’d like to leave things a little more open to interpretation (partly so we can explore further possibilities a little more).

There are quite a few things classified as “social activity” in the game, but none of them are a direct requirement to progress, no meanings are “hardwired” with rewards or punishments – e.g. the meaning of passing different fruits to other players, or the ability to plant detrimental as well as beneficial plants. The idea is to create a situation where collaboration is important but not formulaic – the game provides a basic need for people to help each other, a couple of ways to do it and some ways for them to initially connect with each other – mainly though the plant spirits:

Germination X: player progression and surprises

Slowly Germination X gets less like a prototype and more like a full game, lots of new stuff this week – as this is the first online release of the work done over the past month.

Players can now pass items of fruit to each other or spirits as gifts (by dragging fruit over messages and dropping them). There is some limited player development with some small surprises to prolong the gameplay a bit (spot the new plants). There is now a new mechanism to introduce players to the game and get feedback from them and also navigation to quickly locate plants – click on a message to teleport to the plant it concerns.

Still lots of rough edges, hopefully I will be able to smooth some of them out next week at the Mobile Life Centre in Stockholm. We have also now moved the game to it’s own dedicated server, and completed the transition to mongodb.

Two talks in Helsinki

Next week I’m presenting Naked on Pluto at Pixelache’s Pixelversity on Wednesday evening (9th November) at the Cable Factory. Owen Kelly will also be there to talk about Pixelversity’s ‘Social Identity, Augmented Reality & Virtuality’ Study Group’ which will take place next year.

On Saturday afternoon (12th November), Till Bovermann and I will be demoing Supercollider, Fluxus, Scheme Bricks and Betablocker DS and talking about what it means to be a livecoder at the Hacklab Helsinki.

Run your own Germination X server

We are in the process of moving the Germination X game to a new server, which gives me the chance to properly document the steps required to set it up – this is based on a clean Debian Squeeze 6.0.1 box on Linode.

Step 1: Get the source and Clojure installed

sudo apt-get install subversion
svn co http://svn.lirec.eu/scenarios/GerminationX/
wget https://raw.github.com/technomancy/leiningen/stable/bin/lein
cp lein /usr/bin; sudo chmod +x /usr/bin/lein
sudo apt-get install default-jdk
cd GerminationX/oak
lein deps (automatically installs all the clojure dependancies)
cp fatjars/* lib/ (installs the FAtiMA precompiled jars)

Step 2: Install mongodb (used to store the game world)

sudo apt-key adv –keyserver keyserver.ubuntu.com –recv 7F0CEB10
add: “deb http://downloads-distro.mongodb.org/repo/debian-sysvinit dist 10gen” to /etc/apt/sources.list
sudo apt-get update
sudo apt-get install mongodb-10gen

Once the server is running, you can browse the database (players and tiles containing plants) using the “mongo” console, the database is called “oak”.

Step 3: Start the server

Configure core.clj to build a new world (see comments in source) and test by running as normal user (WARNING: this is not secure!!! – only for testing!!!)


This will start the game server printing output to stderr/stdout, and after a while the three plant spirit FAtiMA processes. Wait a moment then check port 8001 – the game should be running. Once checked, comment out world building in core.clj and kill the 4 java processes.

Step 4: Locking down the game server

For reasons of security the game server should be run as a user with very restricted permissions – this means if someone finds a way to run commands via the process in some way, they wouldn’t be able to do much to the server except access some game data. The standard user for this is called “www-data”.

sudo chown www-data:www-data public
sudo chown www-data:www-data public/log.txt
sudo ./server.sh start
Check port 8001

Check the server is running with “sudo ./server.sh status” or stop it with “sudo ./server.sh stop”. This code was based on a similar script for Naked on Pluto, thanks to Aymeric! The game logs it’s stdout/stderr output in /var/log/oak-server-8001.log while some in-game logging currently goes to public/log.txt (so it can be visible from a browser).

We are also running the game via apache using a reverse proxy, (again based on the setup used for NoP) this gives us an added layer of protection/load management etc.

Serious Play at FoAM

Last weekend it was the annual FoAM gathering to discuss long term ideas, some self reflection and consideration of external perceptions. We were guided on this mission by Simone Poutnik and Hendrik Tiesinga, members of FoAM and founders of Natural Innovation. They decided to trial a new method on us all, Lego Serious Play. Now, I’m a bit battle hardened when it comes to alternative business management strategies as I’ve been exposed to quite a few in various places over the years, but despite Lego’s high scoring buzzword bingo website, I can independently verify this approach as very much a success.

You start by building personal models that represent different aspects of the organisation in various states, and then work as a group to bring them together in different ways. This is done in a structured way, leading to certain questions at different stages of the process.

The core idea was to “think with your hands” and indeed the normal problem you get in these situations, a tricky question leading to an utterly blank mind, was removed as soon as you started searching for plastic bricks. Things seemed to build themselves in some way, the increasing scarcity of bricks requiring ever greater degrees of metaphor. The indirect method of having to explain your odd constructions (usually in quite an abstract way) said a lot more than I would have managed in a more traditional situation.

Naked on Pluto wins VIDA

It’s been busy in Elastic Versailles lately, last week it was announced that Naked on Pluto won the VIDA award, and the game was selected to appear at a series of Robots and Avatars shows next year. The VIDA award concerns art and artificial life:

The projects may be based on systems which emulate, imitate or speculate on the notion of life through current research and technology. These systems may involve attributes of agency and autonomy which display specific behaviour, are dynamic, react to their surroundings and evolve, and which question the frontiers between what is alive and what is not, between synthetic and organic life.

The game attempts to minimise differences between bots and players, while the bots also form a dynamic whole, cleaning and bringing the game world back to it’s original state while players attempt to disrupt the system. The game world of Elastic Versailles is also connected with the very real world of human relationships – it’s this connection that makes otherwise very simple games engaging, and the main reason for the rise of “social games”. In our case we are attempting to use this powerful medium in order to question strong assumptions about privacy that have arisen due to the homogeneous culture these systems have sprung from.

It will be interesting to see how much this publicity will increase the player assault on Elastic Versailles – we’ve seen a rise in visitor numbers but the game is challenging and requires a lot of collaboration by players. At the time of writing, only a few brave users have broken through to the outer reaches – the final quests have yet to be beaten.

We now have the challenge of presenting Naked on Pluto at a larger scale in various exhibition settings. The spaces we will create will need to be linked with the live game world in multiple ways, we have some ideas sketched out but there is much work to be done.