2. Kourse Overview
Module 1
What is Kodu Game Lab
What is a Game
Module 2
Solve three tutorials
Learn about bots and objects
Write our first program
Module 3
Generate Game Ideas
Look at School Examples from Australia
Design templates used by students
3. Kourse Overview
Module 4
Design Patterns and Code Recipes
Game Space
Module 5
Game Progress
Game Play
Game Communication
Module 6
Design Process
Debugging and Troubleshooting
4. Module 1
Activity 1.1
If you were a game character what would you be like?
5. Activity 1.1
Name: Imberius
Powers: The ability to steal food from others
without being detected.
3 Things that make me special:
1. Stealth
2. Pick pocketing
3. Charm
6. Activity 1.2
• Kodu is a visual programming language
made specifically for creating small 3D
games.
• The language has a visual nature and
allows quick design iteration using only an
Xbox game controller for input
(mouse/keyboard input is also supported).
7. Kodu comes with a large selection of
built-in worlds or you can create a new
one from scratch.
10. Understanding the Programme
• Different Bots and Objects do
different things.
• Each Object can have up to 12 pages
of code. These are the different
STATES.
• Each page (or state), can have up to
7 SCORES (lines of code).
• A line of code is based around
WHEN DO (see next slide).
13. About BOTS & OBJECTS
Each has:
PROPERTIES: Characteristics (size, invisible, damage etc).
BEHAVIOURS: Things it can do (see, hear, bump)
ACTIONS: Things it can perform (move, launch, glow)
14. How will it teach children to program?
• What has been excluded:
– Loops
– Branching
– Variables
– Typing
– Syntax Errors
15. How will it teach children to program?
• So what has been left in?
– Objects
– Message Passing
– Sensors
– Filters
– Actuators
– Modifiers
20. Activity 1.3
• Games are fun.
• Games have rules.
• Games have an objective.
• Games have winners and losers.
• Games require players to make decisions
and require skill.
• Games are an experience.
21. Activity 1.4
Game Review
Name: Bonk-Out
Objective: Knock over the castles while protecting the sticks.
Rules: The A button launches the pucks. Push bots can also
launch pucks. Pucks destroy everything but the player. The
player can control the pucks by bouncing them away.
Why is it fun? The game is fun because it is simple and fast
moving.
31. Activity 2.5: Programming Bots
Our first game:
Ideas
• Tag
• Treasure Hunt
Requirements
• 1 bot that the player controls
• 1 bot controlled with AI
32. Kodu ‘Make Game’ Resources
• Nicki Maddams:
http://www.interactiveclassroom.net/?page_id=189
– Games & Video: http://www.interactiveclassroom.net/
• Mr Dorling: http://bit.ly/xpWfJP
• Macquarie University: getting started with Kodu Game
Lab http://bit.ly/AyXbdQ
• Kodu Curriculum: http://bit.ly/x6JUGD
• Kodu Trainers’ Manual: http://bit.ly/A5hR0S
• Kodu Participants’ Manual: http://bit.ly/A8tlLh
34. Module 2: Recap
We have covered:
• We have completed Tutorials 1,2 & 3
• We met the bots and objects
• We have an understanding of the Kodu
Game Lab programming language
• We have written our first program
36. Activity 3.1: Generating Game Ideas
If we were going to start making our first
second Kodu Game Lab game now (we’re
not), what would you make?
Think of an idea for a Kodu Game Lab
game, record your idea in your manual.
37. Activity 3.3: School Case Studies
Yarra Road Primary School
•Grade 5 and 2 students working together in pairs
•Cyber safety theme
•Requirement to include a maze
39. Activity 4.2: Game Design Patterns
• A way to describe design choices that reoccur in many
games
• An explanation to why these design choices have been
made
• A guide of how to make similar design choices in your
own game project
– What is required to make the pattern emerge
– What consequences can the pattern have on game play?
41. Activity 4.2: Kodu Game Lab Recipes
Code Recipes
Are language specific solutions to common
coding problems.
42. Activity 4.2: Kodu Game Lab Recipes
• Game Space
• Game Progress
• Game Play
• Game Information
43. Activity 4.3: Game Space Patterns
Open World
Games using the open world design patterns
allow the player to roam wherever they want.
Open world games usually involve non-linear
game play with players able choose the
sequence in which they complete game tasks.
The camera follows the player (which is the
default with Kodu Game Lab) and therefore
open world games are more suitable for single
player games.
45. Activity 4.3: Game Space Patterns
Race
Racing games require the player to race
around a pre-defined track or space. Often
there are checkpoints, with goal either to
beat opponents or register a fast time.
Racing games closely mirror real life races
and are therefore a simple pattern to
understand and to play.
47. Activity 4.3: Game Space Patterns
Side Scrolling
A platform game is a game that the player can
only move in 2D dimensions, it also called a
side scroller. Side Scrolling games usually
require the player to do lots of jumping, over
gaps and over other obstacles that may or may
not be moving. Side scrolling games were
extremely popular in the 80s and have a
nostalgic feel when played.
49. Activity 4.3: Game Space Patterns
Maze
Using a maze as your game world turns
your game into a puzzle requiring the player
to use skill to find the correct route. Some
mazes have a single route that needs to be
discovered while other mazes have multiple
possible routes.
51. Activity 4.3: Game Space Patterns
Fixed Board
Some games spaces are small fixed areas.
These game spaces are more suited to
multiplayer games without split screen
functionality. By having a set space and a
fixed camera all players have the same
perspective.
53. Module 4: Recap
We have covered:
• The importance of the game space
• The role of game design patterns
• The role of Kodu Game Lab Recipes
• Explored common game space patterns
and recipes
55. Activity 5.1: Game Progress Patterns
Time Limit
Time Limits require a player to complete an
action or achieve a goal or alternatively sets a
time that the player must survive in the game in
order to win. Countdown clocks usually display
the time remaining to give the game a sense of
urgency. Some games feature time bonuses
that are gained through achieving certain tasks.
57. Activity 5.1: Game Progress Patterns
Scores
Scores are a numerical representation of a
player’s success. Points can be added to a
players score for achieving certain goals or
deducted for failed activities. A player’s score is
usually displayed at all times during a game,
often points achieved are displayed as an
overlay as the goal is achieved adding to the
sense of achievement and progress.
59. Activity 5.1: Game Progress Patterns
Health
The health of the players bot can also be
used to indicate progress within the game. A
health bar shows the current health of the
character and provides immediate feedback
to player.
61. Activity 5.1: Game Progress Patterns
Save Points
Save Points (also called Check Points) are
convenient points in a game, usually after a hard
section of the game has been completed where the
game is either saved automatically or given the
option. If the user fails during the next section of the
game, the game is restarted from the save point
rather than returning the player to the beginning of
the game. This alleviates the problem of players
needing to replay easier sections of the game in
order to reach their sticking point.
66. Activity 5.1: Game Progress Patterns
Multiple Levels
Having multiple levels in a game is a great
way to convey a sense of progress to the
player. Games also use levels to increase
the difficulty and/or introduce new game
mechanics.
71. Activity 5.2: Game Play Patterns
Power Ups
Power-Ups give a time limited advantage to the player
that picks them up. Power Ups require players to make
strategic decisions about when to use them as power up
need to be earned or require time to recharge.
Power Ups solve the problem of having to complete a
variety of tasks of varying difficultly as they let the user
have increased abilities to face harder challenges without
making the tasks (without power ups) too easy.
73. Activity 5.2: Game Play Patterns
Transfer of Control
Some games allow the player to control
different characters at different stages of the
game. This could include when a player’s
character enters a car or boards a boat. The
new character would usually have different
abilities and therefore the game play would be
different resulting in greater interest for the
player.
75. Activity 5.2: Game Play Patterns
Big Boss
Games or levels in games often finish with a
battle with a Big Boss. The Big Boss is a
much more difficult opponent and often has
different abilities to the previous opponents.
Battling the Big Boss is a great way to build
a sense of progress and to give closure to
game.
77. Activity 5.2: Game Information Patterns
Alarms
Alarms can be used in games to warn
players of danger. They can be used
indicate that a phase of the game is about to
begin or end. Different sounding alarms can
be used to notify the player of different
events.
79. Activity 5.2: Game Information Patterns
In Game Information
Dialog boxes can be used to display
information to the user, this information may
simply notify the user of their progress in the
game or it may provide information that the
player needs to successful complete the
game.
81. Module 5 Recap
We have covered:
• Game Progress Design Patterns and
Recipes
• Game Play Patterns and Recipes
• In Game Information Patterns and Recipes
83. Activity 6.2: Troubleshooting and Debugging
Identifying risks: Can we do this in Kodu?
There are many things that are possible or
impossible to create with Kodu Game Lab.
When designing a new game it is crucial that
the game designer identifies the parts of the
game that may not be possible and creates
them first, that way if the game is impossible to
create time has been wasted creating the other
parts.
84. Activity 6.2: Troubleshooting and Debugging
Debugging: Why isn’t this working?
When the game is playing as expected there
are debugging lines that can be turned on.
As the name suggests the Debugging Lines
of Sights and Sounds will show where the
bot can and can’t see and hear and is very
useful in discovering why any code is not
working as expected.
85. Activity 6.2: Troubleshooting and Debugging
Copy, Paste, Clone: Is there a quicker
way to do this?
When creating multiple bots with the same
programming it is quicker and easier to
clone and paste the bot or object. Bots and
objects can also be cut and pasted between
projects.
86. Activity 6.2: Troubleshooting and Debugging
Using Versioning: Whoops I changed
something I shouldn’t have!
When saving major changes to Kodu Game
Lab games it useful to save it as a new
version. This effectively creates backups of
your game which is useful if you happen to
make changes that cause your game to stop
working.
87. Activity 6.2: Troubleshooting and Debugging
Using the Resource Meter: Why is my
game running so slowly?
Kodu Game Lab is for making small games
and when games get too large Kodu starts
to slow down, often making the game
unenjoyable and unplayable.
88. Activity 7.2: Getting Help Online
• Workshop Resources
http://media.planetkodu.com/workshop/resources.html
• Planet Kodu
http://planetkodu.co
• Kodu Kwestions
http://planetkodu.com/kwestions
89. HELP??
Download Kodu Game Lab
http://fuse.microsoft.com/kodu
Join the Kodu community at:
http://planetkodu.com
Notas del editor
First time we’ve run this courseAll materials will be available onlineThere is a participant and trainer manualsWill also deliver this course online in July
List the ideas here.
Have a quick play of Bonk Out.Demonstrate how to start Kodu Game LabNavigate the menu and play a game.
Link to the sample world: Getting to know the bots
These are not the complete list!When gamepad A buttonWhen bump rockWhen see rock close byWhen green rock close byDo jump highDo color randomDo express heartsDo move quickly
Ask participants to create a simple 2 bot game. Use the small world with water world.
TO DO: Add line WHEN bump bot DO win
Edit and include video interview with Damian
Show Kodu Game Lab Sample: Open World
Explain and demonstrate how the world building tools work and give the participants time to create their first world.
Demonstrate the sample world: Race
Demonstrate the sample world: Side Scrolling / Coins
Demonstrate the sample world: Maze.
Demonstrate the sample world: PacKodu
Code for a 30 second timer
First example with a creatable.
There is a problem with the recipe on this page!The red score have 0 pointsThe black score should have 2 points
There is a problem with the recipe on this page!The red score have 0 pointsThe black score should have 3 pointsThe stick should be called save point 2