Upper Key Stage 2 Scenario

Introduction

Before you Start

 

If you have access to iPads in your class, you may also wish to explore some of the age-appropriate apps:

 

If your school has a subscription to Espresso Coding (a separate subscription) or to 2Simple 2Code (as part of a Purple Mash subscription), both services provide high-quality guided tutorials that will introduce learners to key terminology.

 

Finally, as far as possible, be consistent in your use of computer science languages as you work through the activity with your children. In particular, make (correct) use of the word algorithm as frequently as you can. Here is a video which you may wi​sh to use​ to explain the meaning of algorithm to your class.​ Check that Kodu is installed and that it runs.

 

​​​​Ensure that you have adequate charging - due to the demands of the software, laptops tend to run out of battery fairly quickly! 

Outcomes

  • Planned, designed, created and evaluated a Kodu 'side-scroller' game

  • understood the term 'de-bugging' and been able to apply the concept to their own games or to deliberate de-bugging actvitiies

  • shared their own games and have played and evaluated the games of others. 

Software/app/hardware choices

  • Kodu software - download here  

  • Windows laptops - Windows 7 or above

  • Extension leads and laptop charging leads​

  • Headphones 

Keywords

  • Kodu - a visual programming language made specifically for creating games. It is designed to be accessible for children and enjoyable for anyone. The programming environment runs on the Xbox, allowing rapid design iteration using only a game controller for input. (https://www.microsoft.com/en-us/research/project/kodu/​) 

  • Programming - using a sequence of instructions that will automate performing a specific task or solving a given problem

  • Algorithm - a list of rules to follow in order to solve a problem.​

  • Side-scroller game - ​a video game in which the game play action is viewed from a side-view camera angle, and the onscreen characters generally move from the left side of the screen to the right (or less commonly, right to left) to meet an objective​ (Wikipedia)​

Computing National Curriculum Links

  • design, write and debug programs that accomplish specific goals, including controlling or simulating physical systems; solve problems by decomposing them into smaller parts

  • use sequence, selection, and repetition in programs; work with variables and various forms of input and output

  • use logical reasoning to explain how some simple algorithms work and to detect and correct errors in algorithms and programs​​​

eSafety/Digital Literacy Considerations

If uploading completed games to www.kodugamelab.com ensure learners understand the need to use a nickname/gamer tag rather than real names.

Cross Curricular Ideas

  • Literacy - using Kodu landscapes/games as a prompt for fiction writing.  Or, writing a story first and then representing the story in Kodu.  Remember - Kodu characters can talk to each other (using timings).

  • Science - linking Kodu to any space topics eg exploration of Mars.

  • Maths - elements of time, scoring etc all lend themselves to maths activities.

controller-1784573_960_720.png

The Big Picture

In this series of tutorials, you will learn how to create your very own Kodu 'side-scrolling' game.  This particular game will require a good understanding of coding principals, building upon skills developed in the lower Key Stage 2 activity and requiring more developed 'computational thinking' to program your main character.  It will also necessitate a certain amount of dexterity to construct the world itself. Well planned Kodu sessions can address key elements of the national curriculum for computing, as well as developing key 'soft skills' such as investigative thinking, logical thinking, resilience and collaboration.  Planned opportunities to refine or debug games at home can also potentially engage other important audiences - parents/ carers, siblings or grandparents. 

Remember that if things don't work as expected, it is probably because your character doesn't understand.  Algorithms must make sense, be in the correct order and be understood by your characters. The debugging process is an important element - things will not work first time (unless you are a Kodu expert!).  So, have fun and get coding!​

Click here to view a tutorial on an alternative style game called Fish Bowl. 

Key Questions

  • Do you understand the characteristics of a good side-scrolling game? ​

  • ​How good are the examples that you have seen?

  • What could be improved to make the games better or more engaging? ​

5374854597_317b084639_z.jpg

Awareness

 

Plan

The Kodu game you will hopefully create is based on the 'side-scroller' game; a game viewed from a side-view camera and typically characterised by characters who move left to right and who jump from 'platform' to platform.  There are usually objects to collect and an end goal to achieve.

Perhaps the most famous examples of 'side-scrolling' or 'platform' games are games such as the ZX Spectrum classic 'Jet Set Willy', and games such as Super Mario Bros and Sonic the Hedgehog.

To fully understand this genre of game, and to furnish learners with ideas and inspiration, it is important that some time is spent playing and analysing the classics.  Below you will find a video example of Jet Set Willy (interesting to hear learners' reactions to the graphics!), and links to free on-line versions of Super Mario and Sonic.  There are are also a number of iPad games of this genre - Logan's Treasure is a free example.  Time to play!​

 

Reflection - how could what they have seen be translated into a Kodu game?

There is a good example of a side scrolling game within the Kodu software  called 'Coins'. Kodu Gamelab also has a selection of games of this genre, created by other learners and by the experts.  Playing and analysing Kodu games like this will give learners the opportunity to discover how Kodu can replicate the traditional side scrolling games of the past and to see what can be incorporated within their own games.  It will also give them the chance to discuss what they liked, what they weren't so keen on and what they think they could add to improve the game. 

Why not use on-line tools such as discussions, blogs and wikis to capture these thoughts? 

Once time has been given to experiencing and discussing existing games, learners will be in a better position to begin planning their own.​​

Extension/Differentiation

For those learners who need support with this activity, provide them with a set of criteria against which they can judge the effectiveness/engagement of the games they have seen or played.  You may wish to include aspects such as ease of play, quality of graphics, addictiveness, suitable challenge, accompanying music etc.

Those children who need extending should be allowed to generate their own criteria, possibly online using a tool such as SurveyMonkey. ​

Skills

 

Plan

Before creating a Kodu game of any kind, it is vital that time is spent discussing, questioning and of course planning.  Generally, any game which has been thoroughly planned, with clear objectives, clear instructions and well considered code, will make for a far better game playing experience.  The planning process, however, can only take place once learners have learned the basics, have had time to practise, debug and to refine their techniques. Kodu game creation is perhaps best done collaboratively - learners working in small groups to discuss, question, challenge and share ideas. 

The following videos are designed to show how the 'environment' for a side scrolling game could be created.  They are not designed to be prescriptive - they show the basics and should allow learners to extend and develop their own ideas.

Once learners have had time to watch the help files, to practise techniques, to debug and to refine, they should be in a position to make decisions about the kind of side-scrolling game they may wish to construct.  It is always useful, at this point, to use a planning sheet to cement ideas. Take time to sketch out designs, to decide on the aim of my game and therefore which characters will be used. It is always interesting, at the end of a project, to see how closely the final game matches the initial design.

It may be useful to use this planning document My Kodu Side Scroller Design.pdf to help learners consider how their side-scrolling game may look.  ​

team-2309036_960_720.jpg

Key Questions

  • Do you understand how to create a strip of land and use the 'Move Camera' tool to see the terrain 'side-on'?

  • Do you know how to modify this strip of land using terrain tools such as:

    • ​Ground Brush

    • Up/Down 

    • Flatten

  • ​Is the terrain appropriate - is is suitably challenging but not too easy​?  

  • Do you know how to add objects to the terrain and how to alter their properties eg:

    • ​trees

    • clouds

    • plants etc

    • sky colour

  • ​Do you understand the need to continually save work and how to do this? 

  • Are you able to use all that you have learned to plan the world on paper?

Extension/Differentiation

For those learners who need support at this stage, it may be appropriate for them to work in suitable pairs/groups so that expertise is shared.

It may also be appropriate to prepare a world for some learners in advance so that they are able to modify this to make it their own.  To do this:

  • ​Create the world on the teacher laptop and save it.  

  • Go to the home page - load world

  • ​Left click on the world you have just saved - export.  This will allow you to export to an external drive or save the Kodu file on a shared server eg pupil shared.  

  • Access the file on another machine i.e a learner's laptop.  Clicking on the game will open it in Kodu on the new machine. 

Planning & Creation

 

Plan

Recording the process of creating any digital work is important, particularly when creating games such as Kodu which may take a number of sessions to produce and refine.  The in-built version history of Kodu (as long as games are saved often and incrementally) is a really useful tool, allowing the process of game creation to be viewed over time as well as the opportunity to revert back to a previous version of a game if necessary.  The recording and sharing of thought processes, using tools such as blogs is also a fantastic way of capturing learner engagement, creativity, enquiry and problem solving.

Adding code to your characters

The code required to make characters interact in this side-scrolling game requires a more sophisticated understanding of Kodu code. Again, the techniques included in these help videos show the basics - learners should be encouraged to adapt, change and improve.

Key Questions

  • Do you understand how to code your Kodu characters?

  • Can you de-bug and refine your algorithms if my game doesn't do what you expected?

  • Are you able to use some more advanced techniques such as:

    • ​Adding a bridge

    • Teleporting? ​

Extension/Differentiation

The following videos show how to create some 'advanced' techniques which could be considered for use by those who who have mastered the basics.  Again, these techniques are only examples - learners should be encouraged to experiment and apply their own version of them.​​

Click on the links to watch the following videos - can you work out how they work and can you replicate the techniques in your own games?

​​

Sharing & Evaluation

Plan

Exporting games

Once created, Kodu games can be easily exported and shared.  The file size of Kodu games is minimal, which means they can easily be copied to other devices or uploaded to online shared spaces.  Learners can then access their games at home (having downloaded the Kodu software) to improve and refine. 

 

To export games, simply:

  • Go to the 'Home' page

  • Find the game that you wish to export

  • left mouse click - this will bring up a menu.  Click on 'Export'

  • ​This will allow you to save this game to an external hard drive, or shared area - eg 'pupil shared'

 

Once exported, click on the Kodu icon (on an external drive or in a folder) and this will launch that particular game in Kodu on another Windows machine.

 

Sharing games 

From the same menu, you can access the 'Share' option.  This will upload the game to the Kodu Gamelab website​ for others to preview, download and play.   

Please note - the name of the game and the creator of the game will appear on the website.  If the learner has included their name in the title or if the creator name is taken by default from the learner's login, this will appear on the website too.  It is important, from an online safety perspective, that this is understood and games are anonymised before uploading.

 

​Evaluation

Self and peer evaluation is vital if games are to improve.  It is important that learners help create sets of success criteria against which they can judge their own work and that of others'.  These can be a set of simple statements based on the requirements of the game eg:

  • I can make a landscape that is viewed side-on and lock the camera view to always play the game in this view

  • I can place a range of objects to be collected, earning the character points

  • I can set a winning score and a time limit 

  • I am able to add a range of 'baddies' that interact with the main character

  • I have included an instruction screen and music

 

Online tools such as surveys or blogs or even surveys (such as SurveyMonkey) can be used to capture learners' thoughts about their own creations and to 'rate' the games of others.  Useful feedback should help learners improve their games in the future.

Links to Resources

Key Questions

  • ​Do you know what a good game looks like?

  • Can you create a set of criteria against which you can judge your own game and those of others?     

  • ​Do you understand how to export your game so that it can be shared, both in-school and beyond?

  • Do you understand the safety implications of sharing personal information online? 

checklist-box-PTH8EMY.JPG

Extension/Differentiation

For those who need support with this activity, a simplified set of success criteria could be used.  As learners often work in pairs or groups for this activity, peers should be able to support in exporting and evaluating games. 

For those learners who need to be extended, it may be that online tools such as blogs are used to capture the whole learning experience, from start to finish.  These reflective blogs can be extremely effective in capturing the learning journey and can help support both formative and summative assessment. ​​​​​​

​​

 

Assessment

 

All learners will be able to

  • ​​Be able to give reasons why they like or dislike a computer program or app. Be able to explain, in simple terms, key vocabulary in programming, including algorithm, program, code/ instruction.

  • Work independently or with other learners to design simple programs or games to be created in age-appropriate software (Kodu/Scratch) 

  • Be able to predict the behaviour of a simple program, and to test that prediction.

  • Create a simple computer program that includes multiple instructions.

  • Test a simple program, notice bugs and make changes to improve it.

  • ​Describe to other children how they created a program, and what they hoped to achieve.

  • Suggest specific reasons why a program did not work correctly, and work, with support, to solve issues.

  • ​Give feedback to other children about their programs or games.

Some learners will be able to

  • ​Use advanced programming features of software, to make make games more exciting and challenging

  • Share programs within and beyond the school community e.g. via a school website.

  • Give detailed feedback to other learners about their programming, including commentary on the structure, organisation and efficiency of programs.​​

Most learners will be able to

  • Be able to give detailed criticisms of the design (user interface) of a specific program. Be able to explain key vocabulary in programming, and give specific examples.

  • ​Work independently, and in teams, to design programs or games in response to a given problem or challenge.  Predict the behaviour of a program, giving clear reasons for that prediction.​

  • Use sequences, selection and repetition in programs. Be able to detect and correct most errors in programs.  Simplify a program by breaking it into some smaller parts e.g. using procedures / functions.  

  • Share programs within the school community e.g. via the learning platform.

  • Give feedback to other learners about their programs or games, and suggest positive steps or ideas for improvement. Suggest specific reasons why a program did not work correctly, and attempt to debug or troubleshoot.​