Introduction to Game Programming

Course NFPGPI001

Course Requirements

Students should have had experience using a modern computer and software; no other knowledge is required. Students will need access to any computer system that can run a text editor and a web browser. All software used is freely available online.

(Total course length: appr. 6hrs (4 X 90min) + online installments)


This introductory game programming course covers all fundamental aspects of game programming and aims to provide a solid grounding for future learning. Beginning with a brief history of games and their evolution, the course delivers examples of various programming paradigms and shows the design and implementation of various game styles.


From knowledge learnt in the Programming NFPITP001 course, this course will give participants a great starting point to choose more complex development paths. The focus is on practical examples and participation, using modern tools and programming environments.


The course is designed as a complete introduction for any students wishing to gain the knowledge required for designing and building computer games. No previous knowledge of game programming is required, but it’s assumed students have some knowledge of basic computer programming.


The presentation portion of the course will be conducted by Nick Fletcher, a freelance web developer and programmer with 10 years+ experience. The course is mostly interactive and real-world examples are used to help students gain a broad understanding of the topic. The finer details of the topic will be learnt during the following weeks of the presentation where the students will receive weekly online presentations on how to continue the work started in the class. Nick will also be available via email to help with any aspects needing clarification.

Following is a more detailed outline of the in person presentation class

SECTION 1 (120min)

History of Computer Games
  • A look at the earliest days of electronic computer games and some popular examples.
  • From the beginnings to what we have now, we’ll see some of the main stages game development has passed through.
Development Environments
  • We’ll explore various ‘environments’ used for developing various types of computer game software.
Parts of a Computer Game
  • From initialising the game state to the game loop and collision detection, we’ll see the building blocks of a game up close.

SECTION 2 (120min)

Examples of Game Components
  • We’ll take a deeper look at what happens when a game executes on a computer system.
  • Explore data structures.
  • Explore memory, pointers and variable types.
  • Take a practical look at game states and keeping track of game data.
  • Deal with user input and error handling.
  • An introduction to debugging and design paradigms.

SECTION 3 (120min)

Building Software
  • We’ll design and begin building a playable game together.
  • We’ll see how browser and the compiler can be your biggest allies when things don’t seem to be working correctly.
  • We’ll look at some great online resources to help you find the information you need.
  • We’ll decide on a final project and begin work on it. From there, the project will be completed in stages via online presentations and correspondence.

Downloads Course Outlines

  • Web Design and Development - (download PDF)
  • Indroduction to Programming - (download PDF)
  • Indroduction to Game Programming - (download PDF)