This programme will give you the skills to design and develop games with state-of-the-art tools and technologies. You'll learn about the latest developments in artificial intelligence and machine learning, and how they are being applied in the games industry.
Video games are a $140bn+ global industry where creativity meets computing. We are home to a world-leading research group in Games and AI, as well as the IGGI PhD programme, a UK-wide community of over 60 PhD students in games research.
- Design and develop your own games using industry-relevant approaches.
- Work with the most up-to-date technologies being pioneered by our leading research groups.
- Engage with our games industry partners through regular networking events and guest lectures.
What you'll study
- Our world-class teaching, research and industrial contacts will support you as you learn to describe, compare and apply a range of AI, machine learning and data science methods to the development and design of games.
The taught modules aim to teach you to:
- Programme computer games using industry-relevant technologies.
- Compare and select appropriate technologies in the context of game development.
- Identify theories and principles of game design and apply them to analyse specific games.
- Describe, compare and apply computational approaches to game-playing, interactive agents, content generation, and player modelling.
- Identify current trends in the games and AI industries.
You will work closely with your lecturers and supervisors to carry out a major project on a computer games topic that you want to specialise in.
Structure
- Eight compulsory modules.
- Core final project.
- Compulsory/Core modules
Artificial Intelligence in Games
- This module covers a range of Artificial Intelligence techniques employed in games, and teaches how games are and can be used for research in Artificial Intelligence. This module has a strong programming component. The module explores algorithms for creating agents that play classical board games (such as chess or checkers) and real-time games (Mario or PacMan), including single agents able to play multiple games. The module gives an overview of multiple techniques, such as Monte Carlo Tree Search, Evolutionary Computation, Deep and Machine Learning applied to games.
Multi-platform Game Development
- This module covers the fundamentals of game development in a multi-platform (consoles, PC, Web and mobile devices) environment. The course focuses on development of 3D games, covering all aspects of game development: the game loop, math, physics, audio, graphics, input, animations, particle systems and artificial intelligence. This module has a strong programming content, required for laboratories and assignments. The practical aspects will be taught using a popular game development platform. The main assignment of this module consists of the development of a full game at the student's choice.
Advanced Game Development
- This module covers games programming in C++, assuming the student has experience with object-oriented programming. The module introduces the C++ language and uses it to explores a range of topics in games programming, including 2D and 3D graphics, OpenGL, physics, input systems, and the use of C++ in modern game engines. It emphasises a practical approach to programming, with the students developing playable games for the final assessment.
Fundamentals of Game Design
- This module covers the fundamental principles of game design and provides a practical introduction to the game design process, relevant to both physical and digital games. It examines games in terms of their formal and dramatic elements, and how these combine to create experiences for players. Students are guided through the process of developing their own non-digital games, from initial concept, through prototyping and playtesting, to a final design.
Interactive Agents and Procedural Generation
- Modern video games employ various agents that interact with the player as opponents or characters, and that generate new content. This module covers the broad range of computational approaches developers currently use to create these in-game agents. The first part deals with techniques for authoring agent behaviour. The second part explores approaches procedural content generation for environments, narrative and others forms of game content.
Computational Game Design
- This modules explores computational and data-oriented approaches to game design, drawing on both latest academic research and games industry practice . Topics include formal models of games, applications of game theory, game description languages, player modelling, gameplay and experience metrics, games user research, game analytics, and automated playtesting and game tuning The module is taught through a mixture of lectures, labs and seminars, with guest speakers from academia and the games industry.
Computational Creativity
- There will be two main areas of content for this module: (i) creative AI procedures and practice and (ii) philosophical issues of Computational Creativity. The first area will cover the application of well-known AI techniques such as Deep Learning and Markov Models to generative projects, as well as ad-hoc techniques. These will be illustrated with applications in music, the visual arts and video game design, considering issues of human-computer interaction in these domains. The second area will raise and discuss questions around the value of having autonomous and semi-autonomous creative AI systems in society, drawing on philosophy, sociology, psychology and cognitive science, as well as engineering disciplines.
Project
- The MSc project gives you an opportunity to apply the techniques and technologies that you have learnt to a significant advanced project. Projects will either be significantly development based or have a research focus that will require you to undertake practical work. All projects will be expected either to investigate or to make use of techniques that are at the leading edge.
Computer Graphics
- This course is concerned primarily with computer graphics systems and in particular 3D computer graphics. The course will include revision of fundamental raster algorithms such as polygon filling and quickly move onto the specification, modeling and rendering of 3D scenes. In particular the following topics may be covered: viewing in 2D,data structures for the representation of 3D polyhedra, viewing in 3D, visibility and hidden surface algorithms, illumination computations. Some attention will be paid to human perception of colour and interactive 3D such as virtual reality.
Assessment
- Modules are assessed through a combination of coursework and written examinations.
- You will also be assessed through a final project module.
Research project
- Individual projects are undertaken during the summer months, under the supervision of an academic member of staff, with whom there are weekly consultancy meetings. These are used for students to report on their progress, discuss research and design issues, and plan their future work.
- The Projects Coordinator also runs a thread of taught sessions to support the project module. A number of industrial-linked projects are offered each year, which students can apply for.