04 July 2026

Building an A Level Platform Game Project — Part 1: Planning the Game and Setting Realistic Success Criteria

 


Building an A Level Platform Game Project — Part 1: Planning the Game and Setting Realistic Success Criteria

Every good programming project starts with an exciting idea.

Every successful A Level Computer Science project starts with a controlled idea.

That distinction matters.

When students say they want to write a game, they often imagine the finished product first: animated characters, moving enemies, several levels, sound effects, menus, high scores and perhaps even a storyline. That is a perfectly natural way to think as a player. It is not the best way to think as a programmer.

For this project series, we are going to build a simple retro-style platform game. The aim is not to create the next commercial console game. The aim is to produce a working, expandable, testable game that could be used as a model for an A Level project.

This first article is about planning.

Before we write a single line of code, we need to decide what the game is, what it will do, what it will not do, how success will be measured and how the student can collect evidence along the way.

That planning stage may not feel as exciting as making a character jump across the screen, but it is one of the most important parts of the whole project.

Why Planning Matters Before Programming

Many students are tempted to start coding immediately.

They open Python, Pygame, JavaScript, Unity, Godot or another development environment and begin experimenting. There is nothing wrong with experimentation, but it is not the same as a planned project.

A Level project work needs evidence. It needs to show that the student has thought about the problem, considered the user, designed a solution, tested it and evaluated the final outcome.

A game project is not marked simply because it looks fun. It needs to show computational thinking.

That means the student must be able to explain:

  • what the game is intended to do

  • who the game is for

  • what the main features are

  • which features are essential

  • which features are optional

  • how the game will be tested

  • what makes the project successful

  • how the design changed during development

Without planning, the project can quickly become a collection of half-finished features.

With planning, even a simple game can become a strong piece of evidence.

The Basic Game Idea

The project we are going to design is a simple 2D platform game.

The player controls a character who can move left and right, jump onto platforms, avoid hazards, collect items and reach an end point.

The game will be retro in style. That is deliberate.

A retro-style game allows us to focus on programming rather than complex artwork. The graphics can begin as coloured rectangles or simple sprites. The technical challenge will come from the movement, gravity, collision detection, level design, scoring and testing.

A simple project description might be:

The aim of the project is to create a 2D platform game in which the player controls a character, moves through levels, jumps between platforms, avoids hazards, collects points and reaches a finish point. The game will include increasing difficulty, clear win and lose conditions, and a scoring system.

That is clear, achievable and expandable.

It gives us enough to build a good project without becoming impossible.

What the Game Is Not

This is just as important as deciding what the game is.

The game is not:

  • a 3D game

  • an online multiplayer game

  • a realistic console-style game

  • a huge open-world adventure

  • a game with dozens of levels

  • a project mainly about graphics

  • a project copied from a tutorial without understanding

This matters because students often lose control of projects by adding too much too early.

A successful project is not the one with the longest feature list. It is the one where the features actually work and are properly explained.

A small, complete game is much stronger than an ambitious unfinished one.

Starting With the Minimum Viable Game

A useful project design technique is to begin with the smallest version that can be called a game.

This is sometimes called a minimum viable product, or MVP.

For our platform game, the minimum viable version would include:

  • a game window

  • a player character

  • left and right movement

  • gravity

  • jumping

  • at least one platform

  • collision detection with the platform

  • a way to win or finish the level

  • a way to lose or restart

That is enough to make a playable first version.

It may look basic, but it proves that the core mechanics work.

Once that is working, the student can add features gradually.

Essential, Desirable and Extension Features

A good way to keep the project under control is to divide features into three categories.

Essential Features

These are the features the game must have.

Without these, the project does not really work.

For this platform game, essential features could include:

  • player movement left and right

  • jumping

  • gravity

  • platforms

  • collision detection

  • hazards or obstacles

  • a scoring system

  • a start position

  • an end point

  • win and lose conditions

  • basic testing evidence

These should be completed first.

Desirable Features

These are features that would make the game better, but the game can still function without them.

Examples include:

  • collectable coins or stars

  • multiple levels

  • lives

  • a start menu

  • a pause screen

  • a high score table

  • simple sound effects

  • improved graphics

  • moving enemies

  • moving platforms

These are useful because they provide development opportunities once the main game works.

Extension Features

These are more advanced features that should only be attempted if the core project is already working.

Examples include:

  • level editor

  • user-created levels

  • saved progress

  • difficulty settings

  • animated sprites

  • different player characters

  • enemy artificial intelligence

  • timed challenges

  • file-based level loading

  • controller support

These could be excellent additions, but they should not be allowed to damage the main project.

A sensible student should not begin with extension features. They should earn the right to add them by first completing the essential game.

Setting Realistic Success Criteria

Success criteria are one of the most important parts of project planning.

They define what the program should do. They also provide a basis for testing and evaluation.

Weak success criteria are vague.

For example:

  • The game should be fun.

  • The graphics should be good.

  • The player should be able to move.

  • The game should have levels.

These are not useless, but they are not precise enough.

Better success criteria are specific and testable.

For example:

  • The player can move left and right using keyboard input.

  • The player falls downwards when not standing on a platform.

  • The player can jump only when standing on a platform.

  • The player cannot pass through solid platforms.

  • The player loses a life when touching a hazard.

  • The score increases when the player collects an item.

  • The level ends when the player reaches the finish point.

  • The game displays a final score at the end of the level.

These can be tested.

That is the key.

If a success criterion cannot be tested, it is probably not clear enough.

Example Success Criteria for the Platform Game

Here is a possible set of success criteria for the first version of the project.

Player Movement

  1. The player can move left when the left arrow key is pressed.

  2. The player can move right when the right arrow key is pressed.

  3. The player stops moving horizontally when no movement key is pressed.

  4. The player cannot move beyond the edge of the game screen.

Jumping and Gravity

  1. The player falls when not standing on a platform.

  2. The player can jump from the ground or a platform.

  3. The player cannot repeatedly jump while already in the air.

  4. The player lands on platforms without falling through them.

Platforms and Collision Detection

  1. The game contains at least three platforms.

  2. The player can stand on the top of each platform.

  3. The player cannot pass through solid platforms from above.

  4. The player respawns or loses when falling below the screen.

Hazards and Collectables

  1. The game includes at least one hazard.

  2. The player loses a life or restarts after touching a hazard.

  3. The game includes at least one collectable item.

  4. The score increases when a collectable is collected.

Level Completion

  1. The level has a clear finish point.

  2. The player wins the level by reaching the finish point.

  3. The game displays a win message when the level is completed.

  4. The game allows the player to restart after winning or losing.

User Interface

  1. The score is visible during the game.

  2. The number of lives or attempts is visible during the game.

  3. The game has a simple start screen or instruction screen.

  4. The controls are explained to the player.

Testing and Evaluation

  1. Each main feature is tested using normal, boundary and error test cases where appropriate.

  2. At least one user tests the game and gives feedback.

  3. The game is improved in response to testing or feedback.

  4. The final evaluation compares the finished game against the original success criteria.

These success criteria give the project structure.

They also give the student a ready-made testing framework.

Turning Success Criteria Into Evidence

A Level projects need evidence of development, not just the final program.

For each success criterion, the student should be able to collect proof.

That proof might include:

  • screenshots of the game working

  • code snippets with explanation

  • test tables

  • user feedback

  • before-and-after improvements

  • notes explaining bugs and fixes

  • diagrams showing how the game logic works

For example, if the success criterion is:

The player can jump only when standing on a platform.

The evidence might include:

  • a screenshot of the player standing on a platform

  • a screenshot of the player jumping

  • a test showing that pressing jump in mid-air does not create another jump

  • a code explanation showing how the program checks whether the player is on the ground

  • a note explaining any bug that occurred during development

This is much stronger than simply saying “jumping works”.

The Main Technical Problems We Expect to Face

It is useful to predict problems before they happen.

This is not being negative. It is good project planning.

A platform game is likely to create problems such as:

  • the player falling through platforms

  • the player getting stuck inside platforms

  • jumping feeling too high or too low

  • collision detection working from the top but not from the side

  • the player being able to jump repeatedly in the air

  • moving platforms causing strange behaviour

  • the score not resetting properly

  • levels becoming too easy or too difficult

  • the game running at different speeds on different computers

  • sound or graphics taking too much development time

These problems are not reasons to avoid the project.

They are reasons the project is worthwhile.

A project with no problems gives the student very little to discuss. A project with genuine problems and sensible solutions gives the student excellent development evidence.

Deciding the Tools

Students can build this type of game in several ways.

Possible tools include:

  • Python with Pygame

  • JavaScript with HTML5 Canvas

  • Godot

  • Unity in 2D mode

  • Java

  • C# with a simple framework

For an A Level project, the best tool is usually the one the student understands well enough to explain.

That is important.

A student using a powerful game engine without understanding the code may struggle to produce a strong write-up. A student using a simpler environment but explaining the algorithms clearly may produce a better project.

For this series, the ideas will be kept general enough to apply to different languages, but Python with Pygame or JavaScript with Canvas would both be realistic options for many students.

The important point is not the tool. The important point is the thinking.

Designing the First Version of the Game

The first version should be deliberately simple.

A sensible first design might include:

  • screen size: 800 by 600 pixels

  • player: simple rectangle or sprite

  • controls: left arrow, right arrow and space bar

  • platforms: rectangles stored in a list

  • gravity: applied each frame

  • jump: allowed only when standing on a platform

  • hazard: one red block or spike area

  • collectable: one coin or star

  • finish point: one flag or door

  • score: displayed at the top of the screen

This gives us enough to build a basic level.

A possible first level could be:

  • the player starts on the ground at the left

  • there are three platforms at increasing heights

  • one collectable is placed on a platform

  • one hazard is placed on the ground

  • the finish point is placed on the final platform

That is a complete level.

It is small enough to build, but it contains all the core ideas.

A Simple Project Brief

Students often benefit from writing a short project brief.

Here is an example.

I will create a 2D platform game for students aged 11–16 who enjoy simple retro-style games. The player will control a character who must move through a level, jump between platforms, avoid hazards, collect items and reach a finish point. The game will begin with a simple level and may be expanded to include multiple levels, lives, high scores and improved graphics. The project will focus on movement, gravity, collision detection, scoring, testing and user feedback.

This is a good starting brief because it is clear and realistic.

It identifies:

  • the type of program

  • the target users

  • the main features

  • possible extensions

  • the programming focus

That is much better than simply saying, “I am going to make a game.”

User Requirements

Even a simple game needs users.

For this project, the likely users might be younger students, friends, classmates or beginner gamers.

Possible user requirements could include:

  • The game should be easy to understand.

  • The controls should be simple.

  • The player should know what the objective is.

  • The difficulty should increase gradually.

  • The game should restart easily after losing.

  • The score should be visible.

  • The game should not require complicated instructions.

  • The game should run on a normal school or home computer.

These requirements help shape the design.

For example, if the target user is a younger student, the controls should be simple and the first level should not be too difficult. If the user is another A Level student, the game might include more challenging levels and a high score system.

Avoiding the Common A Level Project Trap

The common trap is trying to make the project impressive too early.

Students sometimes spend days choosing sprites, drawing backgrounds, finding sound effects or planning a storyline before the basic game works.

That is the wrong order.

The first priority is not making the game beautiful.

The first priority is making the game function.

A sensible order is:

  1. Get the window working.

  2. Get the player on the screen.

  3. Add left and right movement.

  4. Add gravity.

  5. Add jumping.

  6. Add platforms.

  7. Add collision detection.

  8. Add a win condition.

  9. Add hazards.

  10. Add scoring.

  11. Add levels.

  12. Improve appearance and sound.

Graphics and sound can come later.

A plain rectangle that moves correctly is better than a beautiful character that falls through the floor.

Planning the First Few Development Stages

The project can be broken into weekly development stages.

Stage 1: Planning and Success Criteria

Define the idea, users, features and success criteria.

Stage 2: Game Window and Player Movement

Create the game window and allow the player to move left and right.

Stage 3: Gravity and Jumping

Add vertical movement, falling and jumping.

Stage 4: Platforms and Collision Detection

Allow the player to land on platforms and prevent falling through them.

Stage 5: Hazards, Collectables and Scoring

Add danger, reward and a visible score.

Stage 6: Level Design

Create a full playable level and possibly a second level.

Stage 7: Menus, Lives and Restarting

Add structure around the game.

Stage 8: Testing and User Feedback

Test features properly and improve the game.

Stage 9: Evaluation and Further Development

Compare the finished game with the success criteria and suggest improvements.

This is a controlled route from idea to working game.

It also gives students a strong structure for their project log.

What Should Be in the Student’s Project Folder From Day One?

A good project folder should not just contain code.

From the beginning, students should collect evidence.

A sensible folder structure might include:

  • Project Brief

  • User Requirements

  • Success Criteria

  • Design Notes

  • Algorithms

  • Development Log

  • Testing

  • User Feedback

  • Screenshots

  • Final Evaluation

  • Source Code

This helps avoid the last-minute panic of trying to recreate evidence after the project is finished.

The best evidence is collected while the project is being developed.

Practical Task for Students

Before writing the game, students should complete the following task.

Platform Game Planning Task

Write a one-page plan for your platform game.

Include:

  1. The title of the game.

  2. The target user.

  3. The basic objective.

  4. The controls.

  5. The essential features.

  6. The desirable features.

  7. The extension features.

  8. At least ten clear success criteria.

  9. Three possible technical problems.

  10. How you will collect evidence during development.

This task turns a vague idea into a project.

It also forces students to think realistically before they start coding.

Example Mini Plan

Game Title

Escape the Platforms

Target User

Students aged 11–16 who enjoy simple retro games.

Objective

The player must move across platforms, collect stars, avoid hazards and reach the exit flag.

Controls

Left arrow: move left
Right arrow: move right
Space bar: jump
R key: restart level

Essential Features

  • player movement

  • jumping

  • gravity

  • platforms

  • collision detection

  • hazards

  • collectables

  • score

  • finish point

  • restart option

Desirable Features

  • multiple levels

  • lives

  • simple sound effects

  • high score table

  • moving enemies

Extension Features

  • level editor

  • animated sprites

  • difficulty settings

  • saved high scores

  • moving platforms

Example Success Criteria

  1. The player moves left and right using the keyboard.

  2. The player jumps when the space bar is pressed.

  3. The player falls when not supported by a platform.

  4. The player lands on platforms correctly.

  5. The player cannot jump repeatedly while in the air.

  6. The player loses when touching a hazard.

  7. The score increases when a star is collected.

  8. The level ends when the player reaches the flag.

  9. The player can restart the level after losing.

  10. The game displays the score during play.

This is not a complete project, but it is a very good starting point.

Final Thoughts: A Good Game Begins Before the Code

A platform game is an excellent A Level project idea if it is kept under control.

It gives students real programming problems to solve: movement, gravity, jumping, collision detection, level design, scoring and testing.

But it only works as a project if it begins with clear planning.

The student must know what they are building, who it is for, what features are essential and how success will be measured.

The first version does not need polished artwork. It does not need sound effects. It does not need twenty levels.

It needs one thing above all else.

It needs to work.

Once the basic game works, everything else can be improved.

In the next article, we will move from planning to building the first working version: creating the game window, placing the player on the screen and getting simple left and right movement working.

No comments:

Post a Comment

Building an A Level Platform Game Project — Part 1: Planning the Game and Setting Realistic Success Criteria

  Building an A Level Platform Game Project — Part 1: Planning the Game and Setting Realistic Success Criteria Every good programming projec...