Computer Science and Electronic Engineering (School of)
Postgraduate: Level 7
Sunday 17 January 2021
Friday 26 March 2021
30 July 2020
Requisites for this module
MSC G61012 Computer Games
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.
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.
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
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.
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
||Progress Test 1 - Week 20
||Progress Test 2 - Week 25
Module supervisor and teaching staff
Dr Michael Fairbank, email: email@example.com.
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
Dr Robert Mark Stevenson
University of Sheffield
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).
* 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.