Undergraduate study
Computer Games

MComp (Hons) Computer Games Programming

UCAS code: IGK6 MComp/CGP

The combination of cutting-edge research with current industry practice prepares you for a career as a games AI specialist or to undertake advanced research in the area.

Course information

Full-time

  • Length: 4 years (or 5 years including a work placement year)

More full-time details

Entry to 2017/18 academic year

Part-time

  • Not available part-time

Contact details

Further information

£500

£500 available to kick-start your degree – for travel, accommodation or other living expenses

Eligibility criteria apply

£270m

Over £270m invested in our town-centre campus for your improved student and learning experience

More about the campus

88%

88% of students would recommend Teesside University to others
(National Student Survey 2016)

Why choose Teesside
  • Facilities

    Computer Games

    Teesside has fantastic state-of-the-art facilities for games students including high-end computers with dual screens and where appropriate Wacom graphics tablets. Highly specialised facilities include a motion capture studio, Kinect lab, a dedicated games lounge equipped with an array of consoles and life drawing studios.

 

The fourth year extends the three-year BSc (Hons) Computer Games Programming to study and apply advanced techniques following two topics illustrative of the most current industrial trends in the area of games development.

Advanced AI Applications for Interactive Entertainment will cover application of AI planning to interactive entertainment applications, such as interactive storytelling; aspects of symbolic AI relevant to games, including modelling for constraint programming and other logical formalisms and advanced techniques in natural language processing. Intelligent Multimodal Interaction will cover advanced topics in human-computer interaction relating to adaptive, intelligent and multimodal interface design and implementation, and their current and potential future use as part of games technology.

Each module applies a research informed teaching approach to present advanced AI techniques applied to current computer games. It is particularly suitable if you want to study AI to a more advanced level to develop particular expertise within game development.

Modules

Year 1 core modules

C++ Programming

You are introduced to C++ programming, focusing on the learning, development and application of algorithms and data structures within computer games, and the basics of class-based object-oriented programming using C++ language.
You demonstrate conceptual understanding and practical competence of programming by designing and implementing solutions to specific programming problems.

You study standard C++ libraries, and where appropriate one or more 3rd party libraries. You are required to demonstrate an understanding of professional practices and appropriate codes of conduct.

Game Middleware

You look at programming techniques and concepts needed to create a modern computer game using industry-standard middleware products.

You are introduced to general game programming skills, and a range of game middleware components and their utilisation.

You study the game production pipeline and the ethical and legal considerations of licencing and copyright when using industry-standard middleware.

On completion you are equipped to create a 3D interactive game environment.

Games Development with C++

You study advanced aspects of C++ language and its continual evolvement, focusing on game development.

You develop your knowledge and practical application of object-oriented programming, including exception handling, polymorphism, design patterns and templates, and the standard library for containers and algorithms.

You are required to demonstrate an understanding of professional practices and appropriate codes of conduct.

Games Studies

You study and analyse computer games and computer games development, and the contemporary and historical issues affecting the games industry and wider society. Industry speakers share their experiences of games and professional development.

Maths for Games

Knowledge of advanced mathematical concepts for building a games engine is essential for a games programmer. You learn basic and advanced mathematics in an applied context.

Systems Design and Databases

Successful, robust and user-friendly systems or applications begin with a requirements analysis and detailed design. You are introduced to the concepts and techniques of systems analysis and design, enabling you to break down and simplify complex systems and represent them visually using industry-standard approaches such as Unified Modelling Language (UML). In industry, the resulting models are used to communicate designs to developers and stakeholders prior to implementation.

You learn to design and implement fully normalised relational databases as part of an information system. Using data modelling techniques you define how the system stores data and interacts with it. You implement your design using Structured Query Language (SQL): Data Definition Language for creating tables, and Data Manipulation Language for accessing the data.

You develop professional practice and transferrable skills essential for industry, including project management."

 

Year 2 core modules

3D Graphics Programming

Essential algorithms and models used within interactive 3D computer graphics and animation and introduced in this module. It is useful for those interested in programming interactive visualisation applications such as computer games.

You will be able to design and implement applications capable of the interactive visualisation and animation of a virtual 3D environment using C++, a graphics library such as OpenGL or Direct3D, and a shading language such as GLSL or HLSL.

Algorithms for Games

Complex coding and scripting for a computer game requires an understanding of problem solving, data structures and algorithms needed to define the contents and behaviour of a virtual 3D world. You are introduced to these topics using an informal yet rigorous approach. The algorithms range from simple to advanced, widely used in AAA games. Recreational problems, like games and puzzles, are used to convey the important algorithmic concepts.

Game Jam

You are provided with an intensive game-studio experience relying on agile development methodologies in a controlled environment.

Game Jam concentrates on the skills and knowledge required in the development of a computer game, including important key transferable skills such as the ability to work in a team, the ability to follow a game design specification, and the ability to adapt to change.

Teams are drawn at the start of the module. You are then provided with a game design document written by a member of staff who act as the client throughout. Lecturers support the teams through practical sessions and lectures.
Lectures are delivered on topics to prepare you for the team working agile development process as well as covering standard gameplay programming techniques.

Games Engine Construction

You will gain an in-depth view into the design of core computer game architectures and implementation using an Application Programming Interface and object oriented programming. You will develop your own computer game engine, which involves implementing and integrating computer game engine core systems eg graphics, simulation. Subsequently you will extend your existing C++ software engineering skills by integrating design patterns commonly used in game engine development.

You will be required to implement efficient C++ algorithms, both in terms of performance and memory use, and use profiling tools to inform your design choices and demonstrate knowledge of the underlying architecture.

Network and Multiplayer Gaming

This module will give an overview of networking protocols, and their quality of services, and related APIs. It will also introduce you to concurrent and distributed programming paradigms. Issues faced when developing a concurrent or distributed application will be tackled, including security and synchronisation issues.

Suitable abstractions will be studied (design patterns, distributed objects models and architectures), and case studies will be used to illustrate the theoretic content of this module with appropriate technologies, eg distributed architectures for online games, cloud, AJAX.

 

Year 3 core modules

AI for Games Engines

You consider artificial intelligence (AI) and its application in computer games and explore advanced AI techniques.

Beta Arcade

You gain experience of working as a member of a games development team that is as close to industrial practice as possible. Beta Arcade simulates the working criteria and mix of development skills that are required to produce a polished prototype of a computer game concept which would be suitable for publication.

Game Programming Project

You undertake a large scale piece of work, supervised by a member of academic staff. You also produce a substantial computing artefact and compile a report and a viva with a presentation, demonstration and discussion of the artefact. You develop work-discipline and a professional outlook. You are responsible for the planning and execution and consider legal, social, ethical and professional issues. You explore a chosen subject and analyse, synthesise, and creatively apply what you have studied on the programme, demonstrating critical and evaluative skills and professional awareness.

Mobile and Gaming Devices

You expand your knowledge and skills of games programming, computer architecture and software development to include native development on mobile or gaming hardware. You build upon existing programming skills in C/C++ and knowledge of computing architecture and expand your games software programming skills, focusing on developing, analysing and optimising code for limited gaming devices.

Physics Simulation

You explore the physical laws and numerical methods necessary for the development and enhancement of physical realism in 3D games, and are introduced to new concepts such as rigid bodies, moment of inertia and soft body dynamics, with an emphasis on physics realism versus computation speed, stability and accuracy.

 

Year 4 core modules

Advanced Game Prototyping

You build upon fundamental concepts involved in the creation of a game prototype as part of a small team, and examine the contrast between the creation of a strong core mechanic, which is immediately tactile, and how it can be expanded upon through player learning, subtractive design and variety to provide longevity – ultimately providing an accessible, engaging and substantial gameplay experience informed by playtesting.
You enhance your skills both inside and outside of a contemporary game engine. Inspired by the structure of relevant titles, you are encouraged to rigorously plan tasks from a macro and micro perspective prior to development.

AI for Games

Integrating AI into game engines can be difficult due to the fact that game engines typically do not use symbolic or declarative representations of characters, settings, or actions.

You cover the wide variety of software technologies applied to the integration of AI techniques within the context of industry standard game engines, as well as forthcoming technologies developed within AI-based research (such as interactive storytelling systems). You explore the design and implementation of AI-based systems applied to the wide variety of game engines technologies and applications, including multi-platforms specifics desktop-based and immersive virtual reality systems, as well as web-based and mobile gaming platforms.

Games Programming MComp Project

You undertake a major, in-depth, individual study in an aspect of your course. You research and investigate a chosen area of games programming before producing a significant deliverable (the product). Example areas include AI, graphics, physics, game software engineering, gameplay mechanics, networking, multiplayer and concurrent programming.
The project management process gives you supported opportunities for goal setting, reflection and critical evaluation of achievement.

Real-time Graphics

You extend your understanding and abilities in graphics programming to include efficient high-speed rendering of high-quality imagery. Your emphasis is on the rendering of 3d virtual environments, particularly useful if you are interested in creating interactive, high-quality graphical applications such as computer games.
After completing the module you are able to research and select appropriate algorithms and techniques to solve a problem and then construct an implementation using C++, a graphics library such as OpenGL or Direct3D, and a shading language such as GLSL or HLSL.

Studio Development

You focus on the computer games industry and how to plan a game development studio. You investigate how to develop a seed game idea into an attractive business proposal in an appropriate and viable games publishing market, then deliver a product pitch for the new concept that fits within your planned business organisation.

 

Modules offered may vary.

How you learn

It is essential for you to gain experience in being a programmer. Your modules use a combination of lecture sessions to study the theory, computer lab sessions to put theory into practice with tutor guidance, and controlled studio environments to practice your professional and teamwork skills.

How you are assessed

Our course focuses on the application of the knowledge and skills you acquire. Most of your modules require you to design and develop software to demonstrate your new abilities. Your assignments are set by your tutor and you work on them throughout the academic year whilst receiving valuable feedback to guide your work.


Our Disability Services team helps students with additional needs resulting from disabilities such as sensory impairment or learning difficulties such as dyslexia
Find out more about our disability services

Find out more about financial support
Find out more about our course related costs

Career opportunities

You are ideally suited for employment in the games development industry and similar creative industries. There are a variety of programming roles within these industries such as gameplay programmer, tools programmer, middleware developer and mobile application programmer. The course gives you a strong foundation in computer programming also allowing for a career in mainstream software development.

Professional placement
Being able to include work experience on your CV makes you a much more attractive applicant. You have a much higher chance of improving your degree classification and the boost in confidence will give you the edge in job interviews.

98% of our students who complete a work placement achieve a high level degree classification and are offered a graduate job within six months of graduating.

We have established excellent long-term relationships with businesses giving you the opportunity to apply for summer, year-long and graduate placements with key organisations such as: Microsoft, Rare, Team 17, ZeroLight, R8 Games, Hammerhead VR, Dojo Arcade, Schlumberger, Sumo Digital and Coastsink.

Student selection is carried out by the employers through competitive interviews and often skills tests. Placements are not compulsory but are assessed and contribute to your final degree award.

Our placements team gives you help and support throughout the placement process, including guidance on applications and interviews, to help you get a placement that suits you.

Entry requirements

A typical offer is 104-120 tariff points including at least one A level (or equivalent) in a technical, science or numerate subject such as computing, physics or maths. GCSE maths (grade C or equivalent) is essential. Key Skills Level 2 in Application of Number isn't accepted as an equivalent.

You are invited for an interview, which also gives you an opportunity to visit our facilities and ask questions regarding the course.

For additional information please see the entry requirements in our admissions section

International applicants can find out what qualifications they need by visiting Your Country


You can gain considerable knowledge from work, volunteering and life. Under recognition of prior learning (RPL) you may be awarded credit for this which can be credited towards the course you want to study.
Find out more about RPL

What is KIS?

How to understand the Key Information Set

Course information

Full-time

  • Length: 4 years (or 5 years including a work placement year)

More full-time details

Entry to 2017/18 academic year

Part-time

  • Not available part-time

Contact details

Further information