Game Design With Kodu Game LabGame Design With Kodu Game Lab
Making Programming Fun
Starter ReviewStarter Review
• Part 1 • Part 2
Role Playing Games
Music / Party
• Communicate effectively by designing, developing, publishing, and
presenting multimedia and online products.
• Become aware of the different ways games are played, the types of
game and why we play them.
• Understand the principles of good game design.
• Understand what is meant by visual programming.
• Understand the basics of programming.
• Design a working game (objective & end)
• Enable students to program characters and objects
• Enable students to build 3D worlds
So, why do we play games?So, why do we play games?
• What are the different reasons
we play games?
• Are there any negative effects
of video games?
The Dark Side of GamesThe Dark Side of Games
• Go to: www.miniclip.com
• Play a game for 5 minutes
• Fill out an evaluation box for that game
• Pick a different type of game and repeat.
Lets Play some Games!!!!Lets Play some Games!!!!
Game Name: __________________________
Game Type: _________________________
Did you like it? Y / N
• What are the key factors that
make a Game, a Game?
Making Games - What is involved?Making Games - What is involved?
• 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.
• Games Tell a story.
What makes a game, a game?What makes a game, a game?
• What do you think is meant by
What is Kodu Game LAB?What is Kodu Game LAB?
• Visual programming language aimed at
students for rapid game development
• 3D worlds and game play
• Xbox Controller or Keyboard and Mouse
• Small Games
• Role Playing Games
• The only limits are your imagination and programming ability.
What kind of Games can you make with Kodu?What kind of Games can you make with Kodu?
• Your game is made up of OBJECTS.
Different objects have different
things they can do.
• Each object can have up to 12 pages
of code. These are the different
• Each page (or state), can have 30 +
lines of code.
• A line of code is based around
Understanding ProgrammingUnderstanding Programming
What will you learn about programming?What will you learn about programming?
WHEN: DO (What does this code do?)WHEN: DO (What does this code do?)
Further: WHEN: DO (What does this code do?)Further: WHEN: DO (What does this code do?)
• What is the Cycle doing in this game?
• How can we change him to make the
• Demo how to zoom and pan
Programming Demo – Demo 1Programming Demo – Demo 1
• Hurtels v.5
Understanding game programmingUnderstanding game programming
• First Tutorial
• Programming Kodu to find apples
• Tutorial 1 v6
• Tutorial 2 (Jump)
• Tutorial 3 v. 1 (if done)
Programming TutorialsProgramming Tutorials
Add object, change color, select object, create sequential
program for object
To Do Check List
• Open the world ‘Small with water’.
• Add an apple. Make this apple blue.
• Add Kodu to your level.
• Make Kodu find the apple that you just added. (Automatic)
• Make Kodu eat the apple once he finds it.
• Then, you are free to play. Try to add other objects to this
level adjust Kodu’s behavior and change the environment.
Activity 1: Eating ApplesActivity 1: Eating Apples
• Terrain is created by painting with the terrain tools. You can select a color
and a brush type (square, oval, square line, oval line).
• One easy way to make terrain is to increase the brush size and just put
down a single square.
• The other tools for dealing with terrain let you raise and lower the terrain,
and smooth or make jagged the elevations
• Any water that is added, must have terrain or land under it. By default,
each world starts with “glass walls”, so water stays contained and nothing
can fall off the edges.
• After you have created terrain, you can add and program objects and
Terrain - To create a world, you must first have terrain.Terrain - To create a world, you must first have terrain.
• While what you can build with Kodu is significant, there are
limits to what you can achieve. Building games of expansive
size with countless characters will tax the Kodu Game Engine.
• Luckily, Kodu has a built in indicator to let you know when
you’re stretching the game engine beyond it’s capacity.
• A thermometer to the right of the screen indicates clearly
whether your game is becoming too big to manage. If it is, it’s
a simple matter of reducing the size of the game space, or
removing peripheral characters from the game.
• That’s not to say that Kodu can’t be used for building games
of surprising complexity! What you can achieve with Kodu can
Kodu LimitsKodu Limits
Objectives: Create land with texture, add water, trees, rocks, etc.
• Create a landmass with:
– At least two types of materials
– Create rolling hills, mountains (with a white peak), and valleys
– Make an island or two off the coast of your land
– Add water as either a river, lake, ocean or all of the above
– Create a magical forest somewhere in your landscape (You can define magical
in any way you want. There are number of objects to choose from: trees,
rocks, stars, coins, etc.)
– Create storm clouds over one part of your landscape.
• After you have created your world, see if you can find where to change the mood and tone of the
game. Specifically, try changing some of the settings. Investigate the following settings and note
how they change the meaning of your world:
– Wave height
– Water strength
Terrain ActivityTerrain Activity
An object has:
PROPERTIES: Characteristics (size, invisible, damage etc).
BEHAVIOURS: Things it can do (see, hear, bump)
ACTIONS: Things it can perform (move, launch, glow)
A thing or two about OBJECTSA thing or two about OBJECTS
• Every object has default settings controlling things
like its hit points, its default speed etc. All of these
settings can be changed by going into the objects
Object SettingsObject Settings
• You can change the experience of the game player
by adjusting your camera angle. This can be done
when programming objects and also in the Global
Camera AnglesCamera Angles
• Program a character so it can explore your
• Experiment with camera angles
• Experiment with Character Settings
Programming in your TerrainProgramming in your Terrain
Character Movement – Controlled by PlayerCharacter Movement – Controlled by Player
Automated Movement – on a pathAutomated Movement – on a path
• Create a character that the user controls with keyboard &
• Create a second character that has automated movement
• Create a path on which a third character moves
• Create an object that does something either when it is
bumped, sees something, or when it is programmed to do
something automatically through a DO statement.
Programming in your Terrain Cont.Programming in your Terrain Cont.
• We now know how to Make a world and
control characters. Now its time to turn
your 3D environment into a game.
• What are some elements that make a
game, a game?
Making it a gameMaking it a game
• Points (Air Hockey)
• Winning (Objective – Air Hockey)
• Health bar
• Pages (changing behavior)
• Creatable (Circus Shooter)
• Camera controls
• Multiplayer ( Air Hockey)
• Levels ( drive & shoot edit)
• Descriptions with instructions <kodu> [kodu]
• World settings
• Debugging (Race)
Game ElementsGame Elements
• Score Tutorial
• Technique Change Behavior
• Tag Tech V1
• Technique – Launch Creatable v2
• Technique Gathering Apples
• Technique – Eat only certain Apples
• Technique – Create Stuff (make him create something
• Open Advanced Example from student share drive
– Update the description so it explains all the features of the game.
Tutorials & TechniquesTutorials & Techniques
• Individually or in a group of two you are to make a simple
• This game should have the following elements:
– Simple Terrain (new one, not the one you have already made)
– Bots & Objects
– A character that can be controlled with both Controller & Keyboard
– Adjusted World Settings (sky, light, breeze, water waves etc..)
– An objective – A way to win or lose the game
• One of the following must also be included:
– Multiplayer Functionality
– A Points System (Score)
– Changing Behavior (use of multiple pages of code)
• Each game must have a description that explains how to play
the game use the <tags> to make it look good.
Make a simple gameMake a simple game
• Before you begin programming you must have a basic plan.
• Identify to Mr. Sweezey the following:
– What type of game it will be
– What is the objective (how do you win)
– Basic idea for Terrain
Planning your gamePlanning your game
• Individually or in a group Design a game with the following
• The Objective of the game should be clear. The player should
have no questions on how to win or lose the game.
• A Terrain which is more than just a space in which to play the
game. It should have multiple objects and terrain styles which
complement the “feel” of the game.
• You should add sounds to the game to enhance the
experience of the player. This should include environment
sounds, sound effects and potentially background music.
• The Main Character (s) should be controlled by both the
keyboard and Xbox controller in a logical fashion. Controls
should be explained to user in game description
Final Game Design ProjectFinal Game Design Project
• The Game should include 2 of the following 5 elements:
– Point System
– Changing Behavior (Pages)
– Health bar
• There should be an in-depth game description with
instructions on how to play the game. This description should
pop up prior to the beginning of the game. The instructions
should include the <tags> or [tags] which allow images to be
displayed in the description.
• The game should be creative and fun. Don’t just 100% repeat
a game that already exists. Make it your own. It should make
the player want to play more than once.
Final Game Design ProjectFinal Game Design Project
Game IdeasGame Ideas
Mario Style collect coins
Car chase style game. Challenge / Maze game.
Attack game. Educational game Mission based game.
Problem Solving Action / Adventure Obstacle course