Physics-Based Games

The details
Computer Science and Electronic Engineering (School of)
Colchester Campus
Postgraduate: Level 7
Sunday 17 January 2021
Friday 26 March 2021
30 July 2020


Requisites for this module



Key module for

MSC G61012 Computer Games

Module description

This module covers the fundamentals of simulating physical systems and teaches how to use physics engines to simulate a wide range of physical interactions. The course also covers many examples of implementing physics-based games, and students learn to do this both by using physics engines, and by implementing physics directly for simpler examples.

The module teaches the necessary mathematics, algorithms and data structures used in modelling and building efficient simulations of physical systems. The mathematics is covered in an accessible hands-on way and supported with many illustrative examples and accompanying graphical computer simulations where appropriate.

Module aims

The course aims to provide students with a solid knowledge of writing physics-based games by briefly covering the underlying physics models and mathematical equations, showing how these can be translated into code in a high-level language, or simulated using a physics-engine.

Several example physics-based games will be covered. Each week the students will create a small physics-based game, which will allow practice of the concepts taught in that week’s lecture. The course concludes with students designing and implementing a larger physics-based game.

Module learning outcomes

On successful completion of the course students should be able to:

1. Write equations to model physical systems
2. Implement simulations of simple physical systems in a high-level language
3. Implement simulations of complex physical systems in 2D or 3D using an appropriate engine
4. Design and implement a physics-based game

Module information


A refresher on vectors and matrices as used in the course

A refresher on physics principles such as velocity, acceleration, collisions, forces, gravity, elasticity.

Modelling physical systems: the differential equations and their numerical integration: rigid bodies, connected bodies.

Writing software to directly implement simple simulations in a high-level language

Collision detection and collision reaction

Spring-Mass models, Rag-Doll Physics,

Architecture of a physics engine, 2D and 3D engines

Implementing simulations using a physics engine

Example simulations ranging from simple to complex: cart-pole systems, 2D physics games, car racing, aeroplane flight, snooker.

Game Case Studies
Physics Game Design

Physics Game Implementation

The course will be taught via lectures and extensive laboratory exercises, using Java as the main programming language, and will include the use of open-source physics simulators such as JBullet and JBox2D. Note students should either be strong programmers or have some previous Java programming experience to take this module.

Learning and teaching methods

2 hours of lectures and 2 hours of labs per week Weekly Moodle Quizzes


This module does not appear to have any essential texts. To see non-essential items, please refer to the module's reading list.

Assessment items, weightings and deadlines

Coursework / exam Description Deadline Weighting
Coursework   Progress Test 1 - Week 20    20% 
Coursework   Progress Test 2 - Week 25    20% 
Coursework   Lab exercises    10% 
Coursework   Main Assignment    50% 

Overall assessment

Coursework Exam
100% 0%


Coursework Exam
100% 0%
Module supervisor and teaching staff
Dr Michael Fairbank, email: m.fairbank@essex.ac.uk.
Dr Michael Fairbank, Dr Jon Chamberlain
School Office, email: csee-schooloffice (non-Essex users should add @essex.ac.uk to create full e-mail address), Telephone 01206 872770



External examiner

Dr Robert Mark Stevenson
University of Sheffield
Senior Lecturer
Available via Moodle
Of 39 hours, 17 (43.6%) hours available to students:
22 hours not recorded due to service coverage or fault;
0 hours not recorded due to opt-out by lecturer(s).


Further information

* Please note: due to differing publication schedules, items marked with an asterisk (*) base their information upon the previous academic year.

Disclaimer: The University makes every effort to ensure that this information on its Module Directory is accurate and up-to-date. Exceptionally it can be necessary to make changes, for example to programmes, modules, facilities or fees. Examples of such reasons might include a change of law or regulatory requirements, industrial action, lack of demand, departure of key personnel, change in government policy, or withdrawal/reduction of funding. Changes to modules may for example consist of variations to the content and method of delivery or assessment of modules and other services, to discontinue modules and other services and to merge or combine modules. The University will endeavour to keep such changes to a minimum, and will also keep students informed appropriately by updating our programme specifications and module directory.

The full Procedures, Rules and Regulations of the University governing how it operates are set out in the Charter, Statutes and Ordinances and in the University Regulations, Policy and Procedures.