==== Groworld Game ====
==== Context ====
Groworld was concerned with exploring people's relationship with plants. Computer games are a powerful medium for suspending one's belief in other, imaginary worlds. The focus of the groworld game was to explore the use of computer games to allow players to become closer to the plant world.
Foam were working on this project with two other groups, [[http://www.tale-of-tales.com|Tale of Tales]] and [[http://www.sixtostart.com/|SixToStart]]. Both of whom have experience working on projects which use games technology to explore specific experiences and situations.
And as a game project, we were sometimes explicitly, at other times implicitly tackling issues such as these:
* What is the depiction of plants and growth within existing games?
* Should this be a scientific simulation, if not how do we avoid this?
* What is an art game? Are we making one, or a 'normal' game?
==== Problem/Aim ====
The aim was to explore a number of different areas:
* The player taking on the role of a plant, and therefore in some sense becoming one.
* Using plants as inspiration for an organisation model, (e.g. through the use of decentralised technologies such as peer to peer networking).
* Using games as a method of story telling.
* Describing the complexities of permaculture through a game.
* Using multiplayer cooperation in a similar way as plants growing together for mutual benefit in permaculture guilds.
* Using plant guilds as a framework for a game world's structure.
* Developing and using human-plant interfaces as a way to directly couple the game with living plants.
* Find ways of augmenting living plants with information from the game.
* Use the groworld drawings as inspiration and incorporate them into the game in some way.
* Integrate the game with a groworld gardeners website to share a database of information.
The problems we had to solve were involved with the design of the game, what most suited the aims we had in mind. On a course level, decisions had to be made based on questions like:
* 2D or 3D, both or neither?
* Conceptual, metaphorical, schematic?
* Immersive, descriptive, detailed, fully animated?
* Online, in browser or downloadable app?
Given these decisions, we also needed to decide what technology would be the most appropriate to use. From there we could go on to develop some game mechanics and work on an overall design.
The expected outcome was a downloadable multiplayer game which would be associated with an installation involving living plants. Plants in the game world would mingle with the real plants by (for example) projection and sensors which would read signals from the plants and their environment.
==== Methods ====
We met for many design gatherings, mostly in the foam studio. Between the meetings we communicated via the groworld mailing list and skype. During active development we made use of a dropbox folder to share images, movies and executable game prototypes. Foam also made use of a git repository for sharing code and associated data. Images of drawings and screenshots were posted and categorised on flickr while movies, prototypes and images we also posted on personal blogs.
The work seemed to go through various changes of pace and focus. The start was about discovering the roles and expertise within the group, while at the same time trying to pin down a design, or at the very least a broad common theme that we could all work within. During this first phase we were also trying to answer the question of what technology we could work on together.
The very first experiments I tried were very much simulation based, [[simulating photosynthesis]] by growing lsystem plants with genetic algorithms in order to solve particular problems - in this case getting the most energy from a light source by angling and positioning leaves.
{{http://www.pawfal.org/dave/images/patab-helped.png}}
In our first meeting it became apparent that of course, we were making a game, and of far more interest was how people could create plant shapes - not simulating their growth. During the course of the meeting (and the eurostar trip back afterwards) I worked on an lsystem sketching program that would create the same rules the simulation had, but using mouse input rather than the iterative genetic approach.
I also wanted to try and take a well known game and put it into a vegetal world. I also wanted to try playing a game from a plant’s POV, so I chose Tetris, and warped it around the trunk of a tree. The blocks represented nutrients coming in from the soil. You fit the nutrients together to grow your plant which is in the middle of the screen. Each row (or circle in this case) completed made your tree grow a little more.
{{http://www.pawfal.org/dave/blog/wp-content/uploads/2008/12/treetrisf-300x246.png}}
During the second meeting this underwent some play testing, and Theun summed up the problem nicely - you don't think about plants while playing this game, you think about Tetris. This made it clear to me that we couldn't really take a normal game mechanic or existing game world and theme it to fit our needs - we needed an original world with new game mechanics inspired by plants.
At this point I was convinced that we should be making a 2D game. It seemed like we would need a huge amount of material to make a world that was detailed and full of growing life. Producing this much content in 3D was going to be difficult, so it seemed much better to stick to 2D where we could use sprites and textures. This would also make the choice of a platform a bit easier to make, possibly an online one.
{{http://www.pawfal.org/dave/blog/wp-content/uploads/2008/12/flatgarden2-300x225.png}}
I spent some time working on combining images of parts of plants combined with lsystems to see how detailed we could get. The results were much better looking than the 3D lsystems, and easier to control artistically.
Meanwhile as a group we were also trying to describe in general what the eventual game could look like and how it could work. We discussed for long periods of time, and while people had quite clear ideas, we seemed to have difficulty merging them together into a shared design that satisfied everyone. However, after one of these long sessions Auriea and Michaël posted their [[tale of the plant dungeon]]. A lot of the ideas here ended up influencing the rest of the project.
Taking the ideas of a split between below and above ground from the plant dungeon, and a more cellular approach to being a plant, I had a go at making another quick game prototype.
{{http://www.pawfal.org/dave/blog/wp-content/uploads/2008/12/cellular-225x300.jpg}}{{http://www.pawfal.org/dave/blog/wp-content/uploads/2008/12/chlorophyll2-300x225.png}}{{http://www.pawfal.org/dave/blog/wp-content/uploads/2008/12/chlorophyll6-300x246.png}}
The idea was to pull energy from photosynthesis into the ground where it mixed with nutrients to cause further growth. Cells can be dragged around with the mouse and connected together. Photosynthesising cells (the green ones of course) convert photons (the little sparks) into energy which they use to divide, and pass on to the structural cells (the brown ones) which hold the plant together. You need to get energy from photons hitting the green cells above ground to the blues ones underground to make new cells. The problem I found pretty quickly was that it wasn't a particularly fun experience, moving little cells around with the mouse is tiresome, and it just felt like hard work. I wanted a 'higher level' approach - plants probably don't have to consider where all their cells go.
{{http://www.pawfal.org/dave/blog/wp-content/uploads/2009/03/dscf95521-300x225.jpg}}
It was at this point that I had to pack up all these prototypes and take them to foam’s contribution to Ghent’s [[http://vooruit.be/en/event/1795|“The game is up” festival]]. We talked about, eat, drew, grew and philosophised over plants. I took the opportunity of getting the public to test all the game prototypes so far, and make some new ones by process of ad hoc livecoding, sometimes while they were being played. This was a great experience for me, but quite exhausting! We also had a chance as a group to try playing some relevant games (including the excellent Nobi Nobi Boy) at Tale of Tales headquarters nearby.
{{http://www.pawfal.org/dave/blog/wp-content/uploads/2009/03/3338944460_f23f321a92_o-200x300.jpg}}
The most popular game I made during the Ghent lab was a dancemat powered pollination experience which seemed to particularly catch the imagination of the younger game testers.
On a more technical note it also became apparent that despite having a sketch system working, lsystems were not going to provide us with the artistic control we needed to get the variety of plants that were being discussed. I did some research into putting drawings of small components of plants together in a way that was determined by the drawing, rather than an algorithm. This system was called [[pluggable plants]] which I continued to use in game prototypes as a nice way of getting interesting plants without too much algorithmic complexity.
{{http://www.pawfal.org/dave/blog/wp-content/uploads/2009/03/knobbly-300x225.png}}
As a group we were now getting more in depth on the design process. We had a [[groworld story]] which gave us a good description of a world in which to base the game. However, we were still having problems forming a shared idea of what the end product would be. It was important we brought these strands together, so we tried various techniques to help:
* Making 'user stories' of what playing the game would feel like.
* Collaboratively drawing the game on a massive sheet of paper.
* Building a mockup of the game in Blender using bits of drawings and game prototypes we'd already made.
I was getting concerned with a technical aspect of the game, the multiplayer part. With it looking likely we were going to use fluxus more and more, and I had no experience of this area. It was time for yet another prototype - the [[groworld multiplayer prototype]]. This used jabber as it's communication protocol, which had the advantage that we would not need to maintain our own server. I also wanted to try a more developed world to put the game in, and had an idea of an old scrapyard being magically brought back to life by plants, so spent a few days learning blender and fixing bugs in the fluxus importer. I also had a chance to use the technique of shells rendering as used on [[http://en.wikipedia.org/wiki/Shadow_of_the_Colossus|Shadow of the Colossus]] as a way of rendering grass and dense foliage.
{{http://www.pawfal.org/dave/blog/wp-content/uploads/2009/04/gfx4-300x246.png}}{{http://www.pawfal.org/dave/blog/wp-content/uploads/2009/04/gfx3-300x246.png}}{{http://www.pawfal.org/dave/blog/wp-content/uploads/2009/04/gfx5-300x246.png}}
The project seemed to get a new surge of activity as Tale of Tales had time to spend on active development. A 2D hexagonal growth board game seemed like a suitable mechanic for us to concentrate on as a group. After initially agreeing to use the Blender game engine, which seemed good common ground between us, the pressure of time meant that results were going to be quicker if we worked in environments we were most comfortable with. The idea was that at the end of the time ToT had available for development, we would be able to take the core ideas of the game, plus any assets such as textures and models and continue in a free software environment such as fluxus.
Despite this divide of environments, this phase was probably the most effective in terms of shared development on the project. I started playing with ideas with a hexagonal lattice and we were able to share techniques, such as a method for disguising hexagons with curves and tendrils of a root system I found from looking at Islamic patterned tiles and a figuring out a bit of binary maths.
{{http://www.pawfal.org/dave/blog/wp-content/uploads/2009/06/roots-ornate-300x300.png}}{{http://www.pawfal.org/dave/blog/wp-content/uploads/2009/06/5-0-300x246.png}}{{http://www.pawfal.org/dave/blog/wp-content/uploads/2009/06/5-1-300x246.png}}
However, as we approached the end of the time in which ToT were able to actively develop, there was a sense of disillusionment at the game we had created. I think this was mainly due to a feeling of gardening, rather than growing - managing a plant, rather than being one. I started to look again at creating a 3D world which concentrated on making the player see the world as a plant does, called 'plant eyes'. While a lot of the things we had made were not transferable to a 3D world (the pluggable plants for instance) after making a quick prototype it was so nice to be back inside a world rather than looking at one from outside, it seemed the right decision.
The first plant eyes prototype:
The general idea was that you start of inside the seed of your seed. You can then grow outwards and down into the earth, in order to locate and absorb nutrients with your roots, or upward and out into the air and attract insects with flowers that grow on your branches.
I now had a period of intense work on this game. There were also now more and more inspirational drawings being worked on for the groworld almanac. Nik and I were also given the opportunity to look at an area which had been mostly put to one side so far - human-plant interfaces. We led a workshop on plant sensing in Berlin ([[http://www.sommercampworkstation.de/|Dock Sommercamp Workstation 2009]]), in which we developed hardware to sense light, moisture and temperature from a plant's environment, and software for communicating it with the game world. We also investigated sensing of plant phenomena of a more mysterious and spiritual nature, involving onions - but our results were inconclusive.
{{http://www.pawfal.org/dave/blog/wp-content/uploads/2009/08/dsc00004-300x225.jpg}}{{http://www.pawfal.org/dave/blog/wp-content/uploads/2009/08/dsc00010-300x225.jpg}}
The plant eyes prototype grew and started taking on more elements from the sketches by Theun and Lina:
{{http://www.pawfal.org/dave/blog/wp-content/uploads/2009/08/3774062127_525e4d5f50_o-207x300.jpg}}{{http://www.pawfal.org/dave/blog/wp-content/uploads/2009/08/leaves-300x240.png}}
In age old game development tradition, I tried to add complexity while keeping the cpu usage down - such as these branches built out of camera facing sprite geometry:
I tried as much as possible to take things from the earlier design decisions, such as Auriea's idea of the path of growth being created by the player with a dotted line, these turned into trails of 'breadcrumbs' which the roots grew along as the player's camera returned to the seed. In an attempt to incorporate the plant guilds, I added different types of plants, and corresponding nutrients which would give the player different abilities. Once these nutrients were absorbed, you would grow different leaves, flowers, potatoes, forks and trumpets. Taking some advice from a game critic in her 80's, I added plenty of supporting life for the plants, worms in the soil, spiders on the ground and butterflies in the air.
{{http://www.pawfal.org/dave/blog/wp-content/uploads/2009/10/pe-20091022-2-300x225.png}}{{http://www.pawfal.org/dave/blog/wp-content/uploads/2009/10/pe-20091022-0-300x225.png}}{{http://www.pawfal.org/dave/blog/wp-content/uploads/2009/10/pe-20091022-1-300x225.png}}{{http://www.pawfal.org/dave/blog/wp-content/uploads/2009/10/wellfed-300x240.png}}
As we approached the final date of the grig event, work increased, I became more focused on the event and creating an installation. I stopped working on the multiplayer and game distribution elements and focused on the overall look and playability. I added gamepad input for an easier way for people to play the game. Tale of Tales were also in full development mode again, and were speedily working on more 3D prototypes based on models inspired by the drawings in the groworld almanac. In these prototypes you inhabited a garden you could navigate around and look at the plants as they grew.
==== Solution/Results ====
We were able to display an impressive amount of work at the grig event, 5 game prototypes in all. I explained the progression and decisions at each point by discussing the prototypes in turn with the participants. We lacked a single product with which to release to the public, and despite having successfully proven the technology behind the plant sensing, we didn't have anything to demo.
These are the aims that I feel we addressed in some form:
== The player taking on the role of a plant ==
This problem seemed to occupy most of our thinking during this project. The Tetris game demo failed because the game took over from the plant feeling, while the hex game was maybe too literal in turning the role of a plant into a collecting task.
The primary intention of the plant eyes game was to explore the idea of becoming a plant. Your view is restricted to the close space around the plant, you grow into space, and can see the rest of the garden from the plant's point of view. The difference between above and below ground is distinct but consistent. I like the way the whole thing is disorientating, and the way it's sometimes difficult to differentiate between pieces of your plant and pieces of others.
== Using plants as inspiration as an organisation model ==
We now have software developed and released for integrating PLT Scheme (and by extension, fluxus) with the jabber messaging system as a result of this project. This allows game clients to run as a peer to peer network without a central server. The plant eyes game also has code to integrate with this, and it has influenced the design of the game. I would have liked to explore these ideas more with some deeper entanglement in a game engine architecture.
== Descibing the complexities of permaculture through a game ==
This was difficult without the game becoming too much of a simulation, which was always a tension and seen as undesirable by most people. The plant eyes game incorporates sharing of abilities and mutual benefit through plants growing close together. As the plants grow and decay, they leave nutrients in the soil which other plants can pick up, taking on their abilities. It's a simple and flawed interpretation of permaculture, but something to build on in the future.
== Using multiplayer cooperation ==
We can't show much of this in any game prototypes, but we got a long way in solving the technical issues.
== Using plant guilds as a framework for a game worlds structure ==
The final Tale of Tales garden prototypes took the guild member plants and put them in a game world you could navigate. They were modelled in 3D and included growth animation. The plant eyes prototype was just starting to differentiate between different plants and their roles.
== Developing and using human-plant interfaces ==
We built them, and got them working with the game, but never had the chance to design a way in which this information could be used in an suitably interesting manner. A lot of the problem here was due to the frequency of changes being so slow in the data. We worked on some ideas on how to slow the game down to match which were interesting, but we didn't get these in a playable form.
== Use the groworld drawings as inspiration and incorporate them into the game ==
All the later prototypes included designs from the groworld almanac drawings. This gave them all a thread of consistency which themed the games in a pleasing way. Earlier attempts at making drawings directly into plant structures by treating them as components had to be unfortunately abandoned as we moved into 3D.
==== Discussion ====
This was a really ambitious project. Even with a very clear design agreed from the start we would have been seriously pushed to complete a game project with the resources and time we had. Looking back I am pleased that we covered so many of the aims, even if we failed to bring them together into a single product.
These are the things I would like to look at changing if we were to undertake a similar project:
* More restrictions, earlier on - I was frustrated by a sense that possibilities had to be kept open, when we needed to be making decisions. It's usually best to approach game design by working with a (sometimes arbitrary) set of restrictions and see how they affect the essence of the game. This is usually a very productive approach as you can quickly identify what you are really trying to do, what you care about.
* Less 'open debate' and more focused meetings using post-its, drawings, etc as a focal point. Even taking notes, it was difficult to record all the decisions and remember them between meetings, leading to a certain amount of retreading old ground.
* More use of computer-less prototyping, board games, lego and drawings.
* Doing the user stories at the start of the project - we didn't talk about our audience much at all until this point.
The plant eyes prototype I worked on formed an end result I was pleased with, but it never really felt like it could stand alone as a game. The main reason for this is that it remained a test of a game mechanic, a way of growing into space and a achieving a disorientating feeling of becoming another life form with different abilities. To make into a game it would take surrounding this growth mechanic with a richer world, problems to solve and ideally, other human players to interact with.
Most game projects only attempt one or two new things on top of existing well used and understood game mechanics. We could not get away with such a strategy here, as it became clear that we needed to invent a whole new set of mechanics and problems relating to plants in order to achieve the feeling of being the plant, not just managing one. This seemed central to the idea of the groworld project.
I certainly feel like we approached the project in broadly the right way. I fell into a process of prototyping the next biggest problem that I faced. Sometimes these were technical, e.g. networking, at other times gameplay problems e.g. trying to grow a plant a cell at a time. The alternative is to have a rigid grand plan at the start and only find out what the problems when it's too late to fix them in the best way. This also means when discussing the project with others often the answer to their questions is: "we tried that, and found this..." rather than, "we didn't have time to try that...".
I am very pleased at what we have achieved, when discussing and showing groworld at talks at Futuresonic, Kitchen Budapest, Dorkbot London and OpenLab London there is a huge amount of interest in this area and a lot of excitement over what we have made. In conjunction with the wider groworld project the game prototypes represent very original ideas.
==== References ====
Links:
* My ongoing groworld dev blog [[http://www.pawfal.org/dave/blog/category/groworld/]]
* Patabotanical illustrations [[http://www.flickr.com/photos/foam/sets/72157610724467408/]]
* Borrowed scenery pictures [[http://www.flickr.com/photos/foam/sets/72157614845571295/]]
* Sommercamp pictures [[http://www.flickr.com/photos/foam/sets/72157622028639946/]]
* Plant eyes on flickr [[http://www.flickr.com/photos/dave-griffiths/sets/72157622582313444/]]
* More plant eyes on flickr [[http://www.flickr.com/photos/foam/sets/72157622673327794/]]
* Fluxus website [[http://www.pawfal.org/fluxus]]
* Groworld git repository [[https://git.fo.am/?p=groworld/.git;a=tree]]
* Executable versions of prototypes [[http://www.pawfal.org/groworld]]
Existing Games:
* Noby Noby Boy [[http://en.wikipedia.org/wiki/Noby_Noby_Boy]]
* Flower [[http://en.wikipedia.org/wiki/Flower_(video_game)]]
* Shadow of the Colossus [[http://en.wikipedia.org/wiki/Shadow_of_the_Colossus]]
* Flow [[http://en.wikipedia.org/wiki/FlOw]]
* Pixeljunk Eden [[http://en.wikipedia.org/wiki/PixelJunk_Eden]]