skip to main content

Summary

This module will introduce you to algorithms and programs. You will also consider the coding requirements of your game and choose a suitable game development platform to use.

a young man sitting on chair wearing headphones and using a laptop

Documents used in this module

Before you start

Before starting these activities, it is recommended that you have:

  • Developed a basic idea of your game (see Module 3. Game Overview for guidance).

Tasks

Once you have a basic idea of your game (this could be your storyboard from the previous module) you’ll need to develop elements such as images, characters, icons, sounds, music, levels and an interface.

When considering the programming for your game, you need to think about these questions as you go:

  • What happens in your game?
  • How do you want your game to work?
  • What do you expect someone who plays it to do?
  • What are the elements you will need for your game?
  • How do you want the game elements to interact and be used?

Programs control the game’s elements. They tell the game elements what to do at different times during the game in response to different actions by the game player: where, when and how to move; what points to add or subtract; what enemies to make appear or disappear; which level to load; what music or sound to play; and so on.

Programs are written with specific programming languages using either words and symbols or visual code blocks.

To design and create successful programs, developers often start by using algorithms and pseudocode.

Algorithms

An algorithm is a step-by-step instruction to solve a problem. For example, a cake recipe is an algorithm to solve the problem ‘how do I bake this cake?’

Algorithms can be explained in flow diagrams or written in words.

Example of an algorithm – game-screen flowchart



Consider these questions for this algorithm:

  • What are the different outcomes? List these.
  • Which outcomes have multiple pathways?
  • Are there any cycles that never reach a final outcome? Can this cause an issue? Is there a way to resolve this?

Pseudocode

Pseudocode is a way to design algorithms and describe processes using plain language. It is a structured format that resembles programming logic. It is designed to bridge the gap between your planned game mechanics and the actual code you write in a programming language.

Example of pseudocode – losing a life in a game


Programs

A program is an implementation of an algorithm or pseudocode, written using a specific programming language.

Example – Block programming

Block programming example

Example – Python

Python example

Example – C#

C# example

Consider these questions:

  • What is/are the outcomes(s) of this program?
  • Which parts of the block code and the written code match?
  • Which parts of the block code and the written code are different?

Developing algorithms and pseudocode

You can develop your algorithms and pseudocode on paper.

There are lots of online tools that you can use to help create algorithms. Here are two examples:

  • draw.io – free online diagramming tool that allows users to create flowcharts, mind maps, and other visual representations. Does not require users to create a login.
  • Canva – free online graphic design platform that enables users to create professional-quality visuals, presentations, and social media content with ease, using a variety of templates and design tools. Requires users to create a login.

Game development platforms

Before you begin programming, you need to decide which game development platform is right for your game. Check out the Information about recommended platforms table on the Challenge landing page. You need to review each platform and select one that will best suit your skills and game ideas.

Don’t forget to record which platform you have chosen and why in your GDD.

Level-up activities

You might find it helpful – especially if you’re working as part of a team – to use an online organisation tool to help manage your game development project.

There are a lot of these, including some that are especially useful for game development. Here are a couple:

  • Nuclino
    This app helps with the organisation of game design documents, storyboards, game assets and game development tasks. A team of game developers can collaborate on their work through the Nuclino and track their progress through the design of their game.
  • FigJam
    FigJam is an online whiteboard app that team members can use together to brainstorm, diagram and help organise a complex project – like creating a game.