Note: This is a sample game design document I wrote expressly to show to Ganz when I interviewed with them for a job posting. I subsequently got the job and have been there for just about 2 years. In that time I have since learned that this document is the biggest single reason I got the job, so I'm including it among my portfolio pieces.
By Gordon S. McLeod
Garden Evolution simulates evolution as expressed through selective breeding. It is a child-friendly Web game designed for Flash development with simple but colourful, immersive graphics and gentle atmospheric audio.
The player tends and maintains a simple garden, starting with meager individuals of a variety of species - flower, fruit and vegetable - and selectively breeding them to produce better individuals. Complicating this process and providing environmental pressures are the problems of water availability, pests, excessive chemical use and weeds.
1.1 The Game Session
A typical session of Garden Evolution would progress as follows.
The player starts with $200.
The player purchases an initial selection of seeds and plants them in the garden, and then spends several days tending to the plants, helping them survive various threats. During this time the plants increase and decrease in quality in 4 specific categories though the player only sees one real external sign of the relative quality of a plant.
The harvest comes, and the plants are sold. The money received is a function of the quality of the plant. Better plants bring more money. More difficult plants to raise bring more money too.
Upon harvesting, each plant produces from 1 to 4 seeds through semi-random breeding with another plant of its species. The player may elect to plant these seeds in the garden for the next season.
The player may also elect to buy new seeds; this is a control mechanism since limiting the player to only growing harvested seed could easily lead to populations that are too homogenous for improvement.
This cycle is repeated until 8 seasons have passed, at which point the player has "won" and the player is rewarded with the revelation of the strength of the plants she has raised in each category, and their final financial strength.
2 Game Play
Game play constitutes navigating a simple interface with few controls and few levels of nesting. Primary interactions will be buying or selecting plants breeding and tending to them as game seasons pass.
2.1 Elements of Play
Weeds compete with crop plants for water and garden space. The hardiest type of plant, the player will have to root them out when they appear or surrounding plants will lose hardiness and become less promising breeding stock as minerals from the soil are leached from them and into the weed.
The most frail of the beneficial plants, flowers sell well for their beauty but lack hardiness.
The flower group is composed of Roses and Daisies.
Rose seeds: $5 each.
Daisy seeds: $4 each.
Invisible Characteristics (See section 2.3)
WT: 15% (Rose), 16% (Daisy)
DT: 16% (Rose), 15% (Daisy)
TT: 14% (Rose), 14% (Daisy)
H: 10% (Both)
Bright and colorful, berries sell well for their flavour. Hardier than flowers, they will generally stand up better to problems but not quite so well as vegetables will.
Strawberries and blueberries represent the Berry group in Garden Evolution.
Strawberry seeds: $3 each.
Blueberry seeds: $3 each.
Invisible Characteristics (See section 2.3)
WT: 18% (Strawberry), 17% (Blueberry)
DT: 16% (Strawberry), 17% (Blueberry)
TT: 18% (Strawberry), 19% (Blueberry)
H: 15% (Both)
The hardiest of the beneficial plants, vegetables sell for the lowest cost but are the easiest to grow and breed.
Tomatoes and Carrots represent the Vegetable group.
Tomato seeds: $2 each.
Carrot seeds: $2 each.
Invisible Characteristics (See section 2.3)
WT: 22% (Tomato), 27% (Carrot)
DT: 24% (Tomato), 30% (Carrot)
TT: 30% (Tomato), 25% (Carrot)
H: 20% (Both)
Weather is a simple system in Garden Evolution. Each game day carries the random chance of rain. Otherwise the weather is clear. The odds of it raining on any particular game day are 15-20%.
Rain has the effect of watering plants, both beneficial and weeds. In itself, rain will never over-water anything. However, if a non-weed plant is watered twice within one game day, even if one of those times is by rain, the plant will become over watered and lose some quality.
The player may be alerted to clearer weather to come on the following day.
Clear weather is just that, clear of ill-effect. During periods of clear weather, the player may be alerted to the possibility of rain coming up on the following day.
No game is complete without threats of some sort, a challenge to overcome or obstacles to bypass. In Garden Evolution, they take several forms.
Bug infestation in a garden tile seriously compromises the health of the plant growing there.
Bugs can be eliminated through the use of pesticide, but such use carries the cost of further lowering the quality of the plant it is used on, and to a lesser extent, those adjacent to it.
In some cases it might make more sense to eliminate the bug problem by removing the plant entirely, sparing its neighbors from the spray. The bug infestation will be eliminated with it. This is best done when the plant has many neighbors.
If left untended, bug infestations can spread to neighboring plants after two game days.
Pesticide use removes any bug infestation in a plant-inhabited garden tile, but at the cost of 15- 20% of that plant's health.
Additionally, 5-10% of the plant's neighbor's health will be lost. Neighboring plants will not be hit strongly enough to remove infestations.
Plants that go unwatered for more than a game day will begin to lose 10-15% of their health.
Over-watering is a more serious problem than under-watering, and will cost the plant 25-30% of its health.
Over-watering is considered to be two or more waterings in a single game day. Once the plant is over- watered, additional watering will not cause further damage on that day.
Time passes in a series of seasons made up of days, in which players tend to the plants they have planted to try and maintain the highest quality they can achieve.
Days will pass quickly for the player once initial planting is done. Days are used to tend to plants, which includes watering, weeding, and spraying for bugs.
Each day, the player will see live feedback on performance in the form of colour changes of each plant they are tending.
There are 6 days in a game season. After the player has spent 6 days planting and tending, it is harvest time, when plants are sold and seeds replanted for the next season.
184.108.40.206 Game End
The game ends after 8 seasons. At this point a score is shown rating the player's highest scoring individual plants in each species as compared with a theoretical maximum for that species.
The interface is to be kept as simple as possible, both to keep the game simple to play and the screen from becoming cluttered.
2.2.1 Primary View
The primary view is a top down view of the garden patch bordered by grass on the edges.
The garden patch is subdivided into an 8x8 grid, with each subdivision assumed to be 1 generic unit square.
220.127.116.11 Garden Patch
The ground is to be coloured a rich, moderately dark earthy brown. Furrows mark the edges of vertical columns, as in a tilled field. The edge grass is a vibrant, living green.
18.104.22.168 Garden Tiles
Each beneficial plant is assumed to occupy 1 generic square unit.
Weeds may encroach on empty or occupied squares, and will alter the appearance of any square it occupies along with a berry, vegetable or flower plant.
The ground will pale in any weed-infested square, representing the sapping of vital nutrients and water.
Watered squares will darken further, providing a visual clue as to when plants may need water and reinforcing the "weak colours need strengthening" convention used throughout the game.
22.214.171.124 Alert System
An alert system in the form of a line of text that can appear at the top of the display alerts the player to important information they need to know about - rain forecast for the next game day, the approach of harvest, or migration of dangerous insects.
All game controls begin by having the player left-click a garden tile, occupied or not.
A context menu provides further options. Options are persistent, altering the in-game cursor to reflect the function being performed.
The Buy/Plant cursor appears on unplanted tiles. The player can select flower, berry or vegetable and from there the specific type they want to plant.
After a harvest, seed from each parent plant can be planted in the same manner. Seed from that specific individual plant continues to be planted until the player harvests another plant.
The Water cursor appears on planted tiles. Provides one day's worth of water to the selected plant. Can be used at the top of a column to water the whole column of 8 tiles.
The Pesticide cursor appears on tiles containing bug- infested plants. Sprays the selected tile at full strength and surrounding tiles at a fraction of the strength.
The Uproot cursor appears on any tile containing any plant. Removes all plants from the tile, whether they are weeds or beneficial plants.
The Harvest cursor appears at the end of a game season. Sells the plant and retains some of the seed for replanting. The player is prompted to select a garden tile to replant in if desired, or may elect to trash the seeds if they seem unsuitable.
A simple genetic algorithm should be all that's necessary to accomplish the plant breeding necessary.
In order to keep the interface uncluttered and kid friendly, little detailed information will be available from the interface about which individual plants are more fit than others.
Instead, players will gauge a plant's fitness primarily by the richness of its colour..
2.3.1 Visible Characteristics
Beneficial plants are composed of two graphics each - the plant as it exists at full strength, with the colours as rich and vibrant as they can be.
The other graphic is a white overlay of the exact same size and shape as the colour plant, with its opacity set higher to fade the colours out towards white, representing a less healthy plant. As the player breeds stronger, healthier plants, the opacity decreases, showing more and more of the full strength colour.
The degree of opacity changes with each game day and is determined by averaging all of an individual plant's invisible characteristics. The resulting score is applied to the opacity of the white graphic as a percentage.
2.3.2 Invisible Characteristics
Behind the scenes and invisible to the player, the fitness of a plant is a little more complex. Beneficial plants have a number of characteristics that can help to determine their fitness.
These are float properties where the closer the value is to 1, the better.
126.96.36.199 Water Tolerance
Water tolerance determines how greatly a plant suffers in conditions of over-watering. A greater value in this property will reduce but cannot eliminate the penalty the plant incurs when watered too often.
188.8.131.52 Draught Tolerance
Determines how well the plant will stand up to periods of under- watering. Reduces the negative effects of being under-watered, but cannot eliminate those effects completely.
184.108.40.206 Toxin Tolerance
Toxin Tolerance represents the plant's resistance to the effects of insecticide.
Hardiness is the value affected by both weeds and insect infestations. Negative effects by those threats will subtract from this score.
Breeding is kept simple from the player's perspective. The technical side is more involved, though it is also a very simplified genetic algorithm. Simplicity is necessary since we're not dealing with large populations and many generations of evolution.
If fitness is looked at as a percentile, initial values in the four invisible characteristics are set in a random range from 15 to 30 percent.
Each day that a plant does not incur any penalty to an invisible characteristic, that characteristic gains a bonus of +1-6 percent, representing strengthening and growth of the plant.
The player must plant at least two individuals of each species, or none at all. A single plant will be unable to breed with another of its species.
220.127.116.11 Parent Selection
Parent selection is automatic; the only way the player could decide that two specific individuals of a species will breed would be to remove all other individuals of that species from the garden.
The player can influence selection, though. The game will randomly pick two parents from all available individuals within the garden, but the selection is weighted reasonably strongly by proximity. By separating two individuals from the rest of the species, the chances of those two breeding are greatly improved.
Every plant produces seed when harvested. That seed is the result of mating that plant with the other parent. Each time the player plants a seed from the same parents, the genetic content of the seed is recalculated. This results in greater diversity.
A new set of parents will not be determined until the player has finished planting seeds from the currently harvested plant or until a maximum of 4 offspring seeds have been planted.
Crossover is kept simple as well; Garden Evolution employs 4-way crossover, with 4 traits to cross. This results in a 50% chance that each of the invisible characteristics of the plants will come from either parent.
After 4-way crossover is performed, there is a 10% chance that a given invisible characteristic will be randomly regenerated, replacing the value inherited from the parents. This can help maintain diversity in the event that the population becomes too homogenous for improvement.
Once the mutation phase is complete, the seed is ready for the player to plant. This process is repeated for every individual seed the player plants, even if it is from the same two parents as the previous seed.
The end of the game is reached when the player has played through a total of 8 seasons. Upon completion of the final harvest, the player's healthiest plant in each species is displayed with a numerical fitness percentile compared with the theoretical maximum of 100%. In some cases it may be possible to exceed 100%.
The player's financial information is also displayed, and a brief message of congratulations is displayed. The text of the message will vary depending on how high the player's best plant scored.
50-75%: Not bad, could do better.
75-90%: Very good, keep it up!
90-100%: Talk about a green thumb!
100%+: We've got the God of Gardening in the house!
2.4.1 Victory =
There is no victory as such; the end-game leaves things open for the player to either be satisfied with their score or not, and if not, they can play again to try and beat it.
3 Art Assets
All art assets are to be created in Adobe/Macromedia Flash Studio 8 in vector form for freedom of scalability without loss of resolution.
All images are drawn from a top- down perspective to match the garden display.
3.1 Plant Graphics
Each plant graphic should have subtle animation as though it were swaying very slightly in a breeze.
Immediately after a seed is planted, a sprout appears. Sprout stage lasts one day. Sprouts are green, and have no white opacity graphic counterpart.
Each of the 6 beneficial plant types needs a slightly different sprout image.
The mature plants all need the white opacity counterpart graphic.
Roses are red.
Daisies are orange/yellow.
Strawberries are red with black seeds coating them.
Blueberries are, of course, blue.
Carrots protrude slightly from the ground, revealing a bit of the orange root.
Tomatos are darker red than strawberries.
Weeds need two graphics.
A garden tile that is unoccupied by a beneficial plant will fill completely with weeds.
An occupied tile will look encroached-upon by weeds, where the weeds have taken root just at the edges.
Insects should be drawn as ants and will appear in the tile they're infesting.
Healthy soil will be a medium dark brown.
Watered and over-watered soil will be much darker.
Soil that is drying or weed-infested will be lighter.
3.4 Grass Edges
Green grass borders the garden, and should be subtly animated to reinforce life and movement.
3.5 Weather Graphics
Rain splashes and faint expanding circles appear in the garden when it rains.
Each interface command needs an associated cursor the player can identify on sight.
The trowel is for buying/planting seed.
3.6.2 Watering Can
For watering plants.
3.6.3 Aerosol Can
For spraying against bugs.
3.6.4 Uprooted Plant
With a visible root ball. For uprooting plants.
For harvesting plants.
4 Audio Assets
All audio is to be recorded in stereo at CD quality, with down- mixing as necessary for final cuts, with specifications to be determined.
4.1.1 Insect Infestation
18.104.22.168 Initial Occurrence
When an insect infestation initially occurs, the sound should be louder and more attention- grabbing to help the player notice that something has happened.
22.214.171.124 Softer ongoing infestation
After the initial attention-getting noise, the sound should be a mildly annoying drone, encouraging the player to take care of the problem and reminding the player that there is a problem to take care of.
The sound of pesticide spraying should be that of an aerosol can being used.
Ambient weather sounds will keep the game feeling more alive.
Rain will be gentle, no driving hard storms or thunder.
As with rainfall, the wind should be relatively soft-sounding; no hurricane gales.
Grass and leaves blowing gently in the wind.
Not to be confused with insect infestations, these should be more like cricket sounds; chirpy and a bit more positive. These should not be played so often as to become irritating to the player.
The occassional bird call should help the player immerse in the garden world and remember there is more out there than just the bordering grass.