Game programming: an introduction

Course Pathway

Game Programming

Building the systems that make a game work

Playing games and making them are two completely different activities. This pathway is about the second one: the machinery under the surface — the rules, the loop that runs them, the state that changes as the player acts, the logic that turns code into something you can play. It is one of the most technical pathways in the course, and it rewards people who are fascinated by how games work, not only people who enjoy playing them.

Here is the honest part: beginning game programmers make beginning games. Your first projects will be text on a screen, a ball bouncing between two paddles, a grid you move around one step at a time. That is not the course holding you back — it is the real starting point of a difficult craft. Getting even a simple game to work correctly, and to feel right to someone else, is a genuine achievement.

The big idea

A game is a system: a set of rules, a loop that runs them over and over, and a state that changes with every action the player takes. Learning to build that system is a different skill from learning to play the games it produces — and it is the skill this pathway teaches.

Is this pathway for you?

Every pathway has a version that looks easy and a version that is genuinely interesting. Here is an honest read on who tends to enjoy this one.

A good fit if you...

  • are curious about how games work underneath, not just how they play
  • like building systems out of rules, loops, and state
  • are patient enough to get small technical details exactly right
  • want to watch real people play what you made and improve it

Think twice if you...

  • are choosing this mainly because you enjoy playing games
  • expect to build the kinds of games you actually play
  • dislike detailed, technical problem-solving and debugging
  • would lose interest once the work becomes logic rather than play

None of these are permanent. But this is the pathway where the gap between "sounds fun" and "is fun to do" is widest, so it is worth being honest with yourself before you choose it.

What you would actually work on

You will not do all of these — they are examples of the kind of problem this pathway contains, so you can picture the work. Each one starts simple and can go as deep as you want to take it.

Make a story branch on the player's choices A text adventure where different decisions lead to different scenarios and endings. It looks simple, but it teaches how player choices control the flow of a program — the foundation everything else is built on.
Build the loop that makes a game run Every game is a loop: read what the player did, update the state, show the result, repeat. Building this "event loop" yourself — and tracking a player's position and win condition inside it — is the single most important idea in the whole pathway.
Make things move, collide, and respond in real time A text-based Pong game: a ball that moves on its own, bounces off walls and paddles, and an opponent that follows it. This is where a game stops waiting for you and starts running — with collisions, timing, and a simple computer opponent to build.
Generate a world that is different every time Using a grid, randomness, and a set of rules, you can generate a map with walls, treasure, and a start point that is never the same twice. A first taste of procedural generation — how games build worlds without a designer placing every piece by hand.

The tools you would use

Everything here is done in Python, the same language you are already learning — and, at this level, no game engine and no graphics libraries. You build the game machinery yourself: the loop, the state, the collisions, the rendering as text on the screen. That is deliberate. Building it by hand is how you actually learn how games work, instead of relying on tools that hide the hard parts. Your early games run in the terminal, in text and grids, not in 3D.

Grade 9 and Grade 10 in this pathway

The pathway is the same in both years. What changes is the difficulty of the systems you take on.

Grade 9

You build small, playable systems from scratch — a branching story, a working game loop, a simple real-time game, a generated map — focusing on getting the rules and the loop correct, and testing them on real players.

Grade 10

You take on deeper systems: smarter computer opponents, pathfinding, physics, performance, or the architecture behind a larger game. The systems grow more complex, and keeping them correct under that complexity becomes the real challenge.

What makes a strong project here

A good game project starts with the rules on paper, becomes a small playable version, and gets better because real people tested it. As you think about ideas, these questions help:

  • What game mechanics will you build, and how will they actually engage a player?
  • Could you build an AI to control a non-player character, or a pathfinding system?
  • What will you do to keep the game running smoothly as it grows?
  • Could physics or realistic interaction make the experience better?
  • What did real players do when they tried it — and what will you change because of it?

The honest truth of this pathway

Beginning game programmers make beginning games, and that is exactly right — a simple game that runs correctly and that a real person enjoys playing is a real accomplishment. The measure here is never how impressive your game looks. It is whether the system works, and whether the people who play it have the experience you designed. Testing your game on real players, and changing it based on what you see, is not an extra step — it is the core of the craft.

If you are fascinated by how games work underneath, and ready for work that is technical and precise rather than just fun, this is your pathway.