Design Document

Transcription

Design Document
DADIU
1
M AY PRO DUCTI O N 2010
TE A M 5
table of Contents
concept document
1
Design Treatment
2
Game Mechanics
Level Design
Interface
2
4
5
art document
6
Look and Feel
Style
Machine Design
Character Design
Enemy Boss
Environment Art
Interface Design
6
11
12
14
16
17
20
Sound Design
20
Music
20
Technical Design Document
23
Internal Standards
Game implementation analysis
23
24
Production document
26
Project Management with Scrum
Production Plan and Time Estimations
Milestones and Deadlines Risk and Consequence Analysis
Test Plan
Asset Pipeline Analysis
26
26
29
31
33
34
concept document
Our game concept deals with children’s obsession with construction vehicles and the idea that when you
go down through Earth you will eventually reach China.
You control the builder Wang Bob in his home-built vehicle of destruction as he explores a hole in a sand
box.
The hole turns out to be an entry to the core of the Earth, and Wang must battle against exciting and
funny monsters in order to make his way to the other side.
You build your own unique vehicle by assembling different parts. The parts are a mix of constructionvehicle parts and weapons such as shovel, crane, laser gun, chain saw etc.
Destroy the crazy bosses and their castles or have a laugh as your homemade vehicle totally fails to do so.
Target: 6-7 years of age
The main audience is young kids who love construction vehicles (and parents who also find them interesting). But the game also has a playful side to it and some gamers would undoubtedly find it amusing to
build crazy and stupid vehicles just to see them in action, so the game also has an appeal to everyone who
likes to build things and play with it.
Similar games/inspiration:
• Nørd spillet on dr.dk
• Robot Wars (a series on Discovery channel)
• Banjo Kazooie nuts and bolts
1
Design Treatment
Game Mechanics
Imachination has two layers: a Workshop layer where the player constructs their own exaggerated construction vehicle, and a World layer where the vehicle is put to the test against destructive minions and
menacing bosses.
Workshop Layer
The Workshop layer shows a base unit for a construction vehicle on a dais against a 2D background
depicting a workshop. The base unit will be a torso with 9 sockets for tool and weapon attachments (2
sockets on each side and the front, 1 on the back, and 2 on the top). At the top is a list of components for
the player to drag and drop onto the sockets on the base unit. When the player is ready to play, a ”Ready!”
/ ”Parat!” button will move the Machine into the World layer (see below).
Controls
The workshop layer is entirely drag and drop based. You click and hold with the left mouse button (LMB)
on a component from the list, drag it over a socket, and then release to attach it to the base unit. The list
only has one instance of each component, but components are never depleted.
Dragging a component off the Machine destroys it, freeing up the socket. Dragging a component onto
a socket that already has another attachment mounted will destroy the old attachment, replacing it with
the new component.
The player can rotate the base unit by clicking the dais and holding down LMB while moving the
mouse left or right, exposing new sockets.
Components
The initial aim is to implement five different components, and then we’ll see if we have time to add more.
The player starts with 3 available components, and the last two are dropped by certain bosses.
•
•
•
•
•
Shovel – melee, 60 damage every 3 seconds
Bucket-wheel excavator (dropped by boss) – melee, 5 damage every 0.5 seconds
Flamethrower – melee, 5 damage every 0.5 seconds + 2 DOT every 0.5 seconds
Laser – long-range, 60 damage every 3 seconds
TNT launcher (dropped by boss) – long-range, splash, 100 damage every 5 seconds
The splash range of the TNT impacts will be determined after playtesting.
World Layer
The World layer shows the Machine in the current level, in a pseudo-isometric slanted top-down perspective. The camera starts zoomed out, such that the player can see the entire level and an outline of the lower
one, and then it zooms in closer to the Machine for the beginning of the level.
2
Camera and controls
The camera is positioned in a corner above the level,
looking down at a slightly slanted angle. Use 45 degree
angles for testing purposes. The camera is centered on
the player’s vehicle and does not show the entire level
during play. An exact zoom level will be determined during testing.
The player controls the Machine by clicking and
holding LMB. The Machine will then accelerate towards
the cursor. If the player moves the cursor while holding down LMB, the Machine will rotate to keep facing
the cursor. When the player releases LMB, the Machine
stops moving.
All weapons and tools that the player has mounted on the Machine fire continuously. To destroy hives,
the player simply moves the Machine within range of one or more of the Machine’s weapons or tools. The
same is done to defeat enemies.
Enemies
Enemies will spawn out of destroyable buildings (henceforth ”hives”) and attempt to destroy the Machine. An enemy spawns every 3 seconds (tentative, to be determined during playtesting). Enemies have
20 hitpoints each. Boss vehicles have 500 hitpoints. When an enemy is defeated, it should disappear in a
cloud of smoke. Bosses eject from their vehicles the same way as the player.
Melee enemies simply move towards the player and start damaging the Machine when they’re within
attack range. If our schedule allows it, they should attempt to position themselves on a side of the Machine where the player hasn’t mounted any weapons.
Ranged enemies move up to their max attack range (to be determined), and then attempt to maintain
that distance to the player. Ranged enemies should always move slightly slower than the player.
Win condition
A building (”the castle”) sits at the top of the ramp down to the next level, blocking the player’s progress.
To complete the level, the player must destroy all the hives (each hive has 200 hitpoints), which will
prompt a boss enemy to appear out of the castle and attempt to destroy the Machine. The boss drives a
vehicle constructed from similar components as the player, but using one extra component that the player
doesn’t have access to.
When the player successfully destroys the boss, the extra component will be added to the player’s component list in the workshop layer. The player can then drive into the castle, which will open the workshop
layer and save a checkpoint. When the player leaves the workshop again, the Machine is seen driving
down the ramp from the previous level to the next level.
Damage and hitpoints
The only dynamic resource in Imachination is the structural integrity of the Machine (“hitpoints”).
Every melee attack or ranged attack that hits the Machine will reduce the Machine’s hitpoints by a small
amount. The Machine has 1000 hitpoints when each level begins.
The Machine has 4 health states: Pristine (91-100%), Dinged (51-90%), Damaged 11-50%), and
Critical 1-10%). When the Machine enters the Dinged state, its move sound becomes slightly strained
and it starts to emit light smoke. When it enters the Damaged state, its move sound starts to clank and
grate audibly and the smoke becomes black. The Critical state adds visible fires and billowing black smoke
3
to the Machine, and it sounds like it’s falling apart and about to explode (which it is).
Enemies attack for 5 points of damage once per second. When the Machine reaches 0 hitpoints, it
explodes spectacularly, and the player character is seen flying away from the explosion thanks to the cockpit’s ejection seat. The player is then returned to the checkpoint in the last workshop.
Repair power-ups
When you destroy a hive, it drops a repair power-up that you can drive into to repair your Machine by
20% of its max hitpoints. Particle effects should be used to make sure the player doesn’t miss a powerup.
Level Design
Each level will be a square platform suspended vertically over the other levels. As you move to the edge
of the level, you can see the hazy outlines of the next level below. Levels have the following elements:
hives, which spawn enemies and are destroyable; dirt mounds, which simply block the player but can be
destroyed; walls, which block the player and cannot be destroyed; the castle, where the enemy boss lives.
The castle is always placed at the top of the ramp down to the next level, such that it blocks the player’s
progress until the boss is summoned and defeated.
Menu: Sandbox
The Game Menu scene is set in a child’s sandbox, brightly lit by a warm summer sun. There is no gameplay here, and unlike the actual levels, you can’t see lower the levels. The scene depicts the player character
playing with toy trucks next to a hole he’s dug in the sand.
Caves
The first real level is an underground cave beneath the sandbox. Stalacmites and a few walls break up the layout of the
level, and enemies emerge slowly from three hives in different
corners of the sandbox. The boss drives a fairly vulnerable,
slow machine. The boss drops the bucket-wheel excavator
when defeated.
Earth Core
The third level takes place in the core of the earth, bathed
in the red light of flowing lava streams. Lava and walls
direct the player’s movement through the level, and enemies spawn at a steady pace out of four hives. Ranged
enemies are introduced here. The boss machine is slow,
but considerably more durable than the first. The boss
drops the TNT launcher when defeated.
4
Mines
The final level takes place in a network of Chinese mines.
Walls and tunnels limit the player’s movement significantly
and enemies spawn at a barely manageable pace from five
hives. The boss machine is fast and durable.
Cinematic: China
Not so much a level as the setting of a small ending cutscene.
The player is seen exiting a mine entrance on Chinese soil –
upside down! – getting out of the Machine, and jumping up
and down (or perhaps rather, down and up) in a celebratory
fashion.
Interface
There will be no HUD in Imachination. The only explicit interface elements in the game are an unobtrusive Game Menu button in the top left corner of the screen (the Game Menu can also be opened by
pressing Escape), and the equally unobtrusive Sound button in the top right corner which toggles the
audio on and off. Opening the Game Menu pauses the game.
The workshop layer also has a button labelled ”Ready!” / ”Parat!” which starts the next level.
Game Menu
See “Level Design“ above for details on the Game Menu scene. The Game Menu should consist of the
following buttons, implemented seamlessly into the scene:
•
•
•
•
•
Language / Sprog (Dansk/English) – indicated by flag icons
Return to workshop / Tilbage til værkstedet – greyed out if not in the world layer
Start game / Start spillet – greyed out if a game is already going
Credits / Rulletekster
Quit / Afslut
5
art document
Look and feel
Machines:
First and foremost the game is about the WOOW! Effect huge costruction machines has on children.
Fascinating construction machines are large, complex powerful and gritty. Hazard lines, dirty metal
and especially yellow frequent the look of the machines. Pistons, tank threads, grills are dsitrubuted on
the machine while its functional bit, be it a shovel, grinder, whatever useually is the eyecatcher in their
design.
6
Travelling trough earth:
Some of the coolest machinery there is is used in mining and digging. Digging is also one of the key
fascinaton elements tied to machines. Thus digging your way trough the earth using your huge machine
supports both elements of real machinery and the childs imagination.
Light supporting a feeling of a fantastic huge cavern. Earthly desaturated colours and flourescense.
7
Levels closer to the core of the earth will feature a more reddish and saturated light setting.
8
Workshop
Assembling a construction vehicle is gonna take a workshop of some sort, also something kids enjoy,
tools!
Important objects in the world are gonna be more saturated and the terrain less saturated to make the
important parts stand out.
9
View mode
The game has two main subdivisions: The vehicle construction part and the part where you drive around,
dig and smash things. To get a good feel of scale in the vehicles, being zoomed in close to vehicle, looking
up at it is desirable in the construction part, but when playing in the world, having an overview of what
is going on is essential. To give this oveview but still render the feeling of mass in the vehicle the driving
bit is pseudoisometric, meaning isometric camera mode but rendered with perspective
10
Style
To make it so the models will render well from a distance and not get muddied up, thus killing the intention of havng active objects marked by saturation, some stylisation of models is necessary.
For the models to render well they will be relatively simple with homogenous colour pallettes. However
they should retain some of the ”badass” that is synonumous with construction machines. We strive to
make to stylize to enhance and simplyfly details while keeping it looking cool.
To avoid having a childish look due to simple textures, the textures will have a hand painte feel to them
and lasty subtle texture added, which will show well in close ups and disappear far away.
11
Machine Design
Shape
The design is aiming for striking a balace between realism and cartoony.
Shape design guide with a demonstration vehicle and borders to prevent attachment clipping.
The machinery models will be relatively simple; built upon real machine parts but stylized to a) exagerate
the awesome pieces and b) make the machine feel really big. Exageration of awesome parts means that
the key functional parts of the machine are scaled up and skewed to support the feeling of powerful machinery. For example the arm leading to bucket wheel excavator (leftmost part on the illustration above)
expands leading out to an oversized wheel with big teeth.
As the main character is chinese, small China inspired details will be scattered around the model, also
to serve as scale indicators.
12
Early machine concept sketch, showing the huge scale of things.
Making the the machine feel big is done by adding details the children can relate to as having a certain
size, like the size of a child, the dimensions o a door, the width and spacing of bars on a ladder etc. These
details will be small relative to the rest of the machine, making it feel big.
Texture
Textures will have to be simple, yet contain the details needed to make the machine feel recognisable and
give it the flare of complex machinery.
13
Texture will be made by adding solid colour to components, then paint
black lines where details are desired. Then stylized occlusion shadows
are painted around corners and crevices, finally the texture had texture
added in photoshop.
Texture style, with black lies, solid colours and texture noise.
Shovel Arm:
Character design
The main character
As the quest is governed by curiousity and the childs tale about how you can dig your way trough the
earth to China, the main character is a child. A chinese boy digging his way home to China.
As with the rest of the game content, he will be stylized by having his important features exagerated.
In this case his head and his helmet.
14
Final main character Concept
Enemy minion design
Enemy minions will have to work on screen while being farely small, so their geometry and texture is
fairly simple. As the setting is deep below ground level, the minions are inspired by deep sea fish.
15
Final Enemy concept:
Enemy Boss
Bosses are going to have their own crazy machines, built from scavenged construction parts left in the
tunnels. This means machine assets will be recyclable. Showing the boss itself is a cockpit with a huge
version of the enemy sitting in it.
16
Environment Art
All the levels are underground, both due to story of the game and so that assets can be recycled. Non
essential level geometry such as the ground and inactive probs are going to be kept fairly desaturated in
general. Important world objects will have more colour to make them stick out as interactable.
Level Shape
The levels will be underground, representing a
progression trough the earth. To give the appearance of going down the levels will look like they
are connected with this layout.
As any significant slopes will detract from playability as a pseudo isometric layout and steep hills
will conflict. The added coding complications of
having an uneven playing surface has been deemed
not worth it, as the surface would have to be close
to flat anyway.
Thus the levels are flat. In function.
17
Like with the rest the textures are going to be hand painted, incorporating black lines and painted ambient occlusion and material texture.
Enemy Hives
The most important part of the levels are going to be the enemy boss spawn point and the enemy minion
hives. To give a sence of scale the hives will feature small windows and to be in tune with the underground
feel, they will include mushrooms and give of a flourescent light. Enemy symbols will be painted on to
indicate that a hive is a spawning point.
18
Differentiating levels
Starting out under the assumption that there will only be time to do props for one level, level differentiation will be done via lighting and tinting aswell as audio. The first level takes place just under ground and
will have a neutral blueish light setting, suggesting that some light from above is still reflected trough the
hole to the surface. The 2nd level will be in the core of the earth, light will be tinted red or orange and the
level will be overall darker. 3rd level takes place in chinese mines, the light will be tinted green and sound
will indicate the mining activity.
19
Interface design
Menus
The start menu and splash will feature a sandbox with the main character looking down into a hole. The
audio will be strictly children’s voices and the kind of noise you would hear in a playground. The character will occassionally blink and/or tip his head to the side.
The buttons containing options such as start play, tutorial, audio on off etc will be featured on the side
of the actual sandbox.
The look of the box/menu will reflect the look of the levels, a plane viewed from a corner.
Bearing in mind that the main character is imagining all that is going on, every time the player pauses the
game he will be taken back to the sandbox start up screen. This emphasizes the idea that once the player
stops playing the character similarly stops imagining and is back in the real world.
Vehicle Constructor
The construction of vehicles is going to take place in an abandoned workshop kind of place.
The attachments will be displayed at the top and the vehicle at the bottom.
On the side there will be a rotator button which will make it possible for the player to see where to
place the chosen attachment on to which part of the vehicle.
The attachments, e.g. the dynamite catapult, bucket excavator, are accessed and clicked on to vehicle
sockets by means of a drag and drop system.
The interface will only feature at the start of the game when you start constructing your machine and
when you complete a level. With each level the bonus components will be found at the top part of the
screen and the player can scroll the rope to the left in order to see what weapons are available.
In terms of style it will follow a more simplified version of the art style established for the game. In other
words it will be 2d rather than 3d - with the exception of the actual vehicle and the attachments once
they have been
dragged from the rope.
Sound Design
The overall dogma for the sound design production is that we want as many of the sounds as possible to
be produced by children from the target age group. There should also be some children singing in the
game music. This serves both as a means of giving the game a certain lo-fi sound style, and also to underline the child’s play theme of the game.
The sound assets are divided in to three layers: Music, Soundscape and Sounds.
Music
Every scene in the game has a different musical soundtrack in a style that reflects the mood of the particular game space. A soundtrack is divided into different parts, which are in turn triggered by events in the
game. For instance when you play a level, a new musical part could start every time a hive, castle or boss
20
is destroyed, thus helping to give a sense of progression through the level and heightening the suspense.
Technically this adaptive changing of musical parts could be facilitated in a way where all the parts start
playing in a loop when the scene starts but are muted until they have to play. In this way the tempo of the
music can be maintained even though the parts have to change on times that are musically arbitrary.
There will be certain musical themes that are shared between the soundtracks of the different scenes so
the music has a sense of consistency throughout the game. In the following are the different soundtracks
that will be produced. These pieces of music must eventually be chopped up into different parts and assigned to events in the game engine as described above. Thus these musical parts will be the actual musical
game assets.
•
•
•
•
•
•
•
•
•
•
•
•
Start Screen Music?
Game Menu Music
Workshop Music
Level Music
Sandbox Music
Cave Music
Earth Core Music
Chinese Mines Music
Level Complete Music
End Scene Music
Outro Music
Credits Music?
Soundscape
The soundscape is the environmental background sounds of a particular scene in the game. Technically
it will be produced in a generative manner handled by the game engine. The soundscape is generated
using small mono sound files which are played back randomly from different directions and with different volumes, to create the effect of an ever changing sound environment. The sounds in the soundscape
mostly represent the things in the environment which are not seen by the player. In the following list are
the different soundscapes that will be produced.
•
•
•
•
•
•
•
•
•
•
•
•
•
Workshop Soundscape
Radio
Sandbox Soundscape
Children’s voices
Birds singing
Trees whistling
Dogs barking
Open Air Reverb
Cave Soundscape
Dripping
Slow running water
Cave Ambience
Cave Reverb
•
•
•
•
•
•
•
•
•
•
•
•
Earth Core Soundscape
Lava flowing
Heat waves
Eruptions
Lava Bubbles
Dry Reverb
Chinese Mines Soundscape
Hatchets
Shuffling
Mine Reverb
Chariot on rails
Explosions
21
Sounds
The sounds of the game are single sound assets that are triggered by different events in the game. These
sounds inform the player of the crucial things happening during the game. Here are the game’s sound
assets:
•
•
•
•
•
•
•
•
•
•
•
•
Interface sounds
“Ready!” / “Parat!” Button
Rotate dais
Component menu
Game menu
Choose Language
Return to workshop
Components
Pick
Attach
Destroy
Weapon sounds
It hasn’t been decided yet whether we want the weapons to produce sounds when firing. Because of the
continuous nature of the firing, a rhythmical pattern would come out of this implementation, which
would then become a part of the game music. However this rhythm might be very annoying because of
its static and repetitive character.
•
•
•
•
•
•
•
•
•
•
•
•
Explosion/Damage sounds
Hives
Enemies
Vehicles
Enemy/Boss Sounds
Spawn
Attack
“Die”
Collision Sounds
Vehicle sounds
Start
Accelerate
•
•
•
•
•
•
•
•
•
•
•
•
•
Pristine
Dinged
Damaged
Critical
Drive
Rotate
Beep beep beep…
Stop
Engine slows down
Breaks
Explode
Power-ups
Repair
22
Technical Design Document
Internal standards
Coding conventions
All code will follow the coding standards already in use within the Unity Engine. All functions and classes
will be named in camel case, with an uppercase first letter. Variables follow the same convention with the
exception that they will be named with a lowercase first letter. Following this standard will expose public
variables in a friendly manner to the Unity Editor, i.e. enableWeapon will become Enable Weapon.
Scripts with common behavior should, to the extent it makes sense, inherit from abstract base classes
for a higher degree of control and reuse. An example of this could be the scripts controlling the weapons
attached to the vehicle base, as they all share the common behavior that they need to be enabled or disabled depending on the current level as well as a fixed firing rate when they are active.
File management
All assets for the project will be managed using the provided Unity Asset Server. There will be two distinct
projects on this server, the actual project and a test project. Most of the work will be done in the actual
project, but when analyzing and testing a new feature it can be suitable to start work in the test project as
no restrictions will be put on the standards here.
Whenever committing changes to the actual project it must be ensured that these do not contain any
errors and warnings.
All folders and files in the project will follow the same scheme as classes, i.e. camel case with a uppercase
first letter. For the moment it seems to be reasonable choice to group assets based on their type, meaning
that all scripts will reside within a subfolder in the Scripts folder based on the function they perform.
However this could change once we begin seeing the number of assets actually required for each object in
the game, at which point it might make more sense to have them grouped by objects rather the type.
Bug tracking
When all major features for the project for the project have been implemented, we will start using a bug
tracking system, either Redmine or Trac, which everyone in the team can submit to. The reason for first
implementing this at a later point is that we will be working with Scrum tasks up until this point, but they
would not be suitable for solving hundreds of bugs of varying size.
Performance
As the final product needs to run in the Unity Webplayer, on a wide variety of machines, performance is
indeed a concern. This applies both to the complexity of models, use of effects and the structure of the
code. The current strategy is to get the features of the game working before optimizing, as it is necessary
to identify bottlenecks for optimization to have any effect. However some general coding principles still
applies in the development phase.
Where ever possible avoid using nested loops in within Update calls. This includes building lists of
GameObject or Component, as this can become a performance issue. It is often possible to do this in
initialization code and store lists for later use.
23
Game implementation analysis
As all programmers on the team are more or less new to the Unity Engine a lot of the initial work has
been analyzing possible solutions for the programming tasks unique to this project. The following will
highlight the major required features.
Vehicle construction and workshop
As described under game design a key feature of the game is the ability to build custom vehicles. Our
analysis work has shown that this works fairly well with the Unity Engines object model. The design we
have chosen is based around sockets and attachable objects. When a new object is attached to a socket it
is placed in the hierarchy below the socket thereby inheriting all transforms associated with the objects
above it. This is one of the more complex features needed for the game, but so far the results have been
very good. This is partly due to the fact that we very early on decided to keep the system fairly simple.
The scripts governing the attachment feature must be robust and also handle detachment. A socket
script is used for all attachment points, but the actual instantiation and moving of new attachables will be
handled by the workshop gui scripts. By having a base script for all attachables we can ensure a uniform
treatment of these once they are created.
The current system, with small modifications, does allow for multiple levels of attachable components.
Such as attaching components with additional sockets in them, but as we are working to keep the system
as easy to use as possible this could be left as a possible extension in the future.
Persistence
Once a vehicle has been setup it should be moved to the next level. Unity does provide some utility
functions for letting objects survive between scenes, but they are messy at best if some framework is not
provided to control which objects survive and which does not. It was surprising that Unity did not have
a have a system in place for this already, but we discovered this at an early point in time.
The solution we are working with involves are singleton game script that persist throughout all scenes
of the game. Every scene will have a level script that inherits from an abstract level script that handles
retrieving the player’s vehicle from the game script and moving it into the scene. The individual level
scripts will have to setup the vehicle the way appropriate for the scene, e.g. workshop scripts needs to disable weapons and physics etc.
Movement and weapons
Different vehicle movement schemes have been tested, and at the moment the most suitable seems to
be using a striped down version of the physics engine. As the vehicle will only be moving in a 2d plane
restrictions to the physics needs to be restricted to provide a robust control scheme. This is partly done
by avoiding simple box, or compound colliders, instead of mesh colliders for vehicle environment collisions.
The vehicle will turn in increments towards wherever in the level the mouse cursor is currently placed.
The position is obtained by casting ray towards a plane placed in the height of the level. Whenever the
mouse button is pressed we apply a force in the forward direction of the vehicle. Some tweaking has been
applied to avoid situations where the vehicle would be skating along the old movement direction while
turning.
Weapons will be firing at all times. This is controlled in the base weapon scripts, while specific weapon
behavior is handled in scripts inheriting from the base script. A weapon that spawns projectiles, such as
the dynamite launcher, the behavior is additionally controlled by scripts attached to the projectile.
24
AI
A robust foundation for AI must be thought into the development. This requires a combination of two
things. A grid structure that can be used to identify positions of objects in the level and on top of this
a system for querying on the current state of the game. This should be paired with ability to control AI
units in an easy manner, this means path finding and predictions about the effects of using a weapon.
With these two elements in place developing AI scripts that can perform informed choices about the
game world should become fairly straight forward. However a substantial amount of research is required
to figure out how this can be done in a good way in Unity, as no one on the team has any experience with
this. This puts this high in priority, as we need to be able to make proper adjustments to the overall code
from an early point.
A major consideration is that we will be reusing the attachable components available for the player to
create the bosses for each level. This means that the weapons should be both fun for the player, but predictable enough for the AI to use. This basically means that weapons scripts needs to supply information
about what effect firing a weapon right now would have on the game world.
25
Production document
Project Management with Scrum
In this project, we aimed to use scrum methodology but a simplified way. This means that, we are not
going to divide the project into sprints. Usually scrum projects divided into sprints and each sprint takes
approximately 3-4 weeks. If we take the project time into the consideration, obviously it is hard to divide four-week-long project into sprints. On the other hand, we are going to use other benefits of scrum
such as daily scrum meetings. Daily scrum meetings usually take 15-20 minutes and all team members
expected to attend these meetings. Every team member has to answer three questions in very short time
(2-3 minutes):
1- What did you do yesterday?
2- What will you do today?
3- What obstacles are in your way or slowing you down?
Answering these questions helps other team member to clearly understand two main ideas:
1- Who is working on which task?
2- What is the overall status of the project?
After the scrum meetings, we made a quick design meeting (if needed) and try to discuss the concept and
game mechanics with whole team members.
After agreeing with concept and the game idea, we created a product backlog. We tried to write all main
priority tasks in to-do-list and low priority tasks in nice-to-have list. After the creation of product backlog,
lead management made time estimations about each task which were in product backlog.
Production Plan and Time Estimations
Gantt Chart View :
26
27
In the Gantt Chart we can easily see all the details of every tasks such as Start-Final dates etc. Also assigning resources (team members) to these tasks, helps me to observe and track the project easily.
Critical Paths for Artwork:
• Design of the garage (workshop)
• Vehicle body/base model and textures
Critical Paths for Programming:
• AI movements (pathfinding and attacking)
28
• Weapon collisions (melee and projectile)
• Attach / detach objects to the sockets
Although it is rough to make estimation at the earlier phases, the production length will be 21 working
days. We decided to work on special holidays (e.g. St.Bededag, Pinsedag etc.). Additionally, we reached
an agreement for working on weekends if necessary.
Milestones and deadlines
26.04.2010 – Pre-Production starts
1st Milestone: Playable prototype 03.05.2010
Art:
•
•
•
•
Basic vehicle model
Basic buildings
At least 1 melee and 1 ranged weapon
Basic workshop garage
Programming:
•
•
•
•
Character movement with cursor
Basic collisions with melee and ranged weapons
Building destruction
Attach objects to sockets
Sounds:
•
•
•
Basic weapon firing sounds
Background sound for one level
Basic vehicle movement sounds
03.05.2010 – Delivering documents and playable prototype
03.05.2010 – Production starts
04.05.2010 – Early prototype testing
2nd Milestone: Playable game with limited content 14.05.2010
Art:
•
•
•
•
•
•
Vehicle model and weapon models
Most of the textures
Enemy minion models and spawning hives
Boss vehicle
In-game animations (vehicle movement, weapon etc.)
Garage and at least 1 level with all elements
29
Programming:
•
•
•
•
•
AI movements and attacking
Damage and hits
Collisions with all weapon types
Level streaming between garage and level one
Attach/detach and preview objects
Sounds:
•
•
•
•
Enemy/boss sounds
Explosion/damage sounds
Vehicle movement sounds (rotate and stop)
Different background sounds for every level
14.05.2010 – Alpha test
17.05.2010 – Post-Production starts
18.05.2010 – Alpha test
20.05.2010 – Beta test
21.05.2010 – Beta test
3rd Milestone : Final game 25.05.2010
Art:
•
•
•
•
•
All vehicle models with textures
All weapon models with textures
Enemy minions and buildings with textures
Game menu and in-game interface
Menu and end scene animations
Programming:
•
•
•
•
•
Performance optimizations
Game balancing (AI movements, attacking range and damage)
Implementing all elements in the levels
GUI
Website
Sounds:
•
•
•
Game menu music
End scene music
Workshop music
25.05.2010 – Releasing final game and delivering final documents
30
Risk and Consequence Analysis
Risk
31
32
Test Plan
It is hard to find testers especially from our target group. Firstly, we try to find some children from team
members’ families. For example, their brothers, sisters or nephews can be ideal candidates for testing our
game. Otherwise we try to contact with some kindergartens or primary schools. Probably, it is not possible to bring the testers to our office. So we will try to go their schools to test our game and ask them
some questions about game feel and mechanics. During this short test sessions, we are going to record
their reactions.
33
Asset Pipeline Analysis
34