Apply for this course
Please select when you would like to start:
If you're a UK applicant wanting to study full-time starting in September, you must apply via UCAS unless otherwise specified. If you're an international applicant wanting to study full-time, you can choose to apply via UCAS or directly to the University.
If you're applying for part-time study, you should apply directly to the University. If you require a Student visa, please be aware that you will not be able to study as a part-time student at undergraduate level.
Why study this course?
Our Games Programming BSc degree will enable you to develop the specialist knowledge and key skills needed to join this thriving industry. You’ll be joining a supportive and friendly community of highly motivated games students who work hard to achieve their goals.
Gain expertise in lots of aspects of games programming
You'll develop specialist skills in physical computing, virtual reality and artificial intelligence while becoming proficient in a range of relevant programming and scripting languages
Show off your work
We actively encourage you to engage in public competitions and gaming events such as Game Jams and we hold an annual Summer Show where students at all levels have the opportunity to showcase their work to a wider professional audience
Gain a solid grounding in game design before developing your skills further
You'll start by building a strong base in C++ programming, with mathematics and physics for game development, as well as gaining skills in console hardware architecture and game design
Course modules
The modules listed below are for the academic year 2024/25 and represent the course modules at this time. Modules and module details (including, but not limited to, location and time) are subject to change over time.
Year* 1 modules
Year 2 modules
Year 3 modules
C++ Game Programming
This module currently runs:spring semester - Monday afternoon
(core, 15 credits)
This module introduces students to graphics programming, using standard libraries to integrate graphics and other media to console applications. They will learn how to design and develop simple games, including use of state machines, user control systems, animated interactions, collision detection and maintenance of scores and inventories.
AIMS
• introduce students to standard libraries and media libraries.
• develop skills in graphics and audio programming
• deploy simple maths and physics in code
• enable students to design and produce simple 2D games to a high standard
C++ Programming
This module currently runs:autumn semester - Monday afternoon
(core, 15 credits)
This module is essentially an introduction to programming, explaining basic concepts for designing and creating interactive systems and complex functionality. It is intended to build students' confidence and interest in technical aspects of application development. Students will develop an understanding of the skills required to build apps and games for different platforms, including console, web, computer and mobile.
AIMS
• introduce students to C++, basic programming control structures and concepts.
• develop skills in object-oriented programming, function writing and problem-solving.
• develop the necessary communication skills required for working in industry as part of a team of developers.
• understand and apply user-testing and development life cycles
Computer and Gaming Hardware Architectures
This module currently runs:spring semester - Thursday afternoon
(core, 15 credits)
You will be introduced to the basics of Information Technology and past, current and future trends in computer and gaming systems. The detailed design of a small scale gaming system will be presented where students have the opportunity to directly program the hardware. You will learn how a knowledge of assembly language and different compilers should inform the development of higher level programming languages, such as C++, in order to produce optimal code. You will develop expertise and transferable skills in writing for a particular handheld gaming platform. You will learn how to program the GPU and present animated 3D graphics on screen.
The module aims are:
To introduce students to the fundamental concepts of Information Technology and basic networking,
To provide a working technical knowledge of modern computer and gaming systems and their respective components,
Build awareness of assembly and compilers so as to inform the development of optimal programming code
Gain skills in interfacing assembly with a high level language for a console emulator
Gain skills in interfacing assembly with a high level language on a PC.
Gain skills in sending graphical data to the screen via the GPU.
provide an understanding of the mathematics associated with 3D space
introduce 3D graphics and audio pipelines
Game Design
This module currently runs:autumn semester - Tuesday morning
(core, 15 credits)
This module provides an introduction to the topic of computer games from a variety of perspectives. It is designed to help students understand and appreciate many of the different technical and psychological approaches games designers and developers use in their work.
It will also facilitate the development of the skills needed when developing gaming applications using contemporary tools.
Students will work in teams on a range of game design challenges, creating and testing non-digital games in various media. They will engage with asset creation and simple scripting, to produce a web-based portfolio.
AIMS
- Provide an understanding of the complexity and potential of computer game design, including the technology required for developing responsive multimodal interactive systems.
- Develop creative and lateral thinking in response to a range of stimuli, with particular reference to game design.
- Develop communication and study skills.
- Offer opportunities for teamwork and professional development.
- Equip students for employment in the games industry, web and digital media industries.
Game Design and Development
This module currently runs:spring semester - Tuesday morning
(core, 15 credits)
This module facilitates the development of the skills needed by programmers and technical artists when developing gaming applications using contemporary tools.
Students will learn how to manage a workflow in order to create a casual game that runs on devices across multiple platforms, using a professional game engine. They will import their own assets, work in teams to troubleshoot challenges and test prototypes, and finally design and deliver a fully functional small game.
They will understand how to publish and promote mobile games, create engaging adverts and integrate basic principles of monetisation into projects.
AIMS
- Provide an understanding of the casual games market, including how to attract and retain players, manage advertising and interpret stats.
- Develop creativity and confidence in relation to tackling a playful brief.
- Develop technical skills around the use of a professional game engine, to showcase game assets and game play functionality.
- Offer opportunities for teamwork and professional development.
- Equip students for employment in the games industry, web and digital media industries.
Introduction to Game Prototyping
This module currently runs:autumn semester - Thursday afternoon
(core, 15 credits)
You will learn the basics of Game Development, with an introduction to programming in C++ and visual scripting languages and you will implement Level Design principles and landscape for large environments. Additionally, you will learn how to implement basic AI, VFX and Animation in games. You will also learn how to implement a working user interface and bring a game project to working prototype level.
The aims are:
To introduce new students to the principle and basic applications of game development.
Gain skills in Level design for games.
Build awareness of logic and programming principles.
To provide a working technical knowledge of industry standard software utilised in the development of video games.
To Build skills in teamwork, project planning and time management.
Logic and Mathematical Techniques
This module currently runs:all year (September start) - Thursday morning
(core, 30 credits)
This module develops a range of mathematical techniques including set theory, logic, relations and functions, algebra, differentiation and integration. The techniques provide the foundation for further study of Mathematics, Computer Science and Computer Games Programming and Computer Systems Engineering.
Read full detailsAdvanced C++
(core, 15 credits)The module provides further development of programming skills at application and system level across a range of platforms. Some of the problems of system independence will be addressed along with inclusion of library applications in different environments.
Students cover the intermediate part of C++ and consider how to optimise code for different platforms.
Students will be introduced to more advanced features of C++ such as operator overloading, templates, the STL, file handling and game/system design principles.
AIMS
• to make students aware of the features in a programming language which makes it suitable for use in systems programming;
• to enable students to compare programming languages thus reinforcing transferable programming skills;
• to enable students to apply problem solving techniques in a specialised application area.
• develop practical skills by practical coursework implementation;
• build awareness of coding practice for different platforms with respect to optimisation.
Advanced C++ for Games
(core, 15 credits)This module builds on CU5011a, furthering students’ skills in game design and development using C++ and graphics libraries.
AIMS
• develop practical skills by practical coursework implementation
• practice effective communication and project sharing within programming teams
• manage deadlines and develop oral skills with code presentations
• foster creativity through design and development of games
• prepare students for standard C++ exams offered by games companies to programming applicants
Game Implementation
(core, 15 credits)In this module you will work in a team with other games programming students and game art students in order to take a game prototype all the way to a fully working 3D game.
You will gain insight into designing for large game worlds and expand your knowledge visual scripting.
You will gain an understanding of further techniques such as the employment of splines in game development.
You will utilise LODs in other to further optimise your game project.
Additionally, in this module you will be exposed to intermediate Artificial Intelligence techniques for game development.
Finally you will gain a better understanding of how Fuilds VFX are implemented for games
Game Prototype Development
(core, 15 credits)This module builds on the knowledge and skills acquired in Level 4, introducing you to additional 3D graphics programming, using managed code. During the module, you will work in a team with other programming students and game art students to design and develop a 3D game prototype and consider some of the economic and marketing issues associated with production.
The module aims to:
• Develop strong teamwork and communication related skills.
• Foster your programming and asset utilisation skills.
• Develop creative skills by producing a 3D game prototype.
• Increase your knowledge of the graphics and gameplay pipeline.
• Develop your profile of personal/professional development
Programming Graphical Special Effects for Games
(core, 15 credits)This module builds on Shaders and Graphics Programming 1, moving towards advanced programming for computer graphics and image processing, including an introduction to computer vision techniques.
AIMS
- provide an advanced level of knowledge and understanding of the entire programming workflow and relevant API for rendering computer graphics, image processing and visualisation;
- introduce students to techniques for computer vision, using still and moving image data;
- equip students for employment in the variety of industries relying on computer graphics and image processing (computer games, Virtual Reality, simulations, aerospace or automotive industry, engineering, CAD/CAM and machine/robotic vision, medical applications, geo-survey, security and etc applications).
- help students to continue development of a personal portfolio that demonstrates understanding of the key principles and practical skills to use industry standard API for 2D/3D computer graphics programming and image processing in a variety of applications.
Shaders and Graphics Programming
(core, 15 credits)Students will gain an overview of the physical processes of graphics/image enhancement and processing, as well as an understanding of the software framework necessary to produce graphics/images and shaders including for mobile devices.
AIMS
- enable students to understand the 2D/3D graphics API, the processes of computer graphics programming, storage, and visualisation of graphics/images on various display devices;
- develop communication and practical skills with particular reference to graphics programming and image processing, as well as their visualisation;
- design and implement mathematical concepts and programming structures as well as algorithms in the area of graphics and image processing;
Sound Design for Games
(core, 15 credits)In this module you will gain a strong understanding of the impact of audio for games, combined with attaining the skills needed to develop audio assets and implement them in industry standard middleware.
You will be introduced to an overview of audio post-production theory, practice, and technologies, including their uses and applications.
This module will give you the opportunity to experience real-world working practices, by working in small production groups, collaboratively towards common goals.
The module will put you in the role of a Sound Designer, wherein you will design and experiment with aspects of sound including recording, synthesis, and effects, so that when combined, you are able to generate a unique auditory experience.
You will have the freedom to explore and develop individual ideas in the context of sound for game genres of your choosing, resulting in the production of a project that displays creative expression, as well as technical achievement.
Using effective sound design techniques and openly collaborating with your peers and game developers, you will have the opportunity to create unique soundscapes, effects, and textures, all geared towards implementation.
This in turn will form a piece of practical work, for your show-reel, which can be used for future promotion and collaboration within the gaming industry.
This module aims to:
• Enable you to capture, manipulate, and produce game audio.
• Explore middleware/DAW implementation.
• Enhance creative sound design techniques.
• Understand the role of music for gaming.
• Develop recording studio, mixing and production skills.
• Apply core concepts and techniques relating to sound design and music.
Virtual Reality Game Development
(core, 15 credits)You will work in teams of artists and programmers to design and develop a playful VR experience using an industry standard game engine and industry standard VR headset (hardware).
The module fosters critical thinking by addressing challenges in VR game design and encourages teamwork through collaborative project development. Emphasis is placed on staying current with industry trends and emerging technologies, fostering a culture of innovation.
Aim
The aim of this module is to provide students with a comprehensive understanding of the principles, technologies, and development practices related to virtual reality in the context of game development. They will learn what makes a VR game. This module can provide students with a well-rounded education in virtual reality game development, preparing them for careers in the rapidly evolving field of immersive technologies.
Advanced Game Implementation
(core, 15 credits)In this module you will work in a team with other games programming students and game art students in order to design a game and implement a working game based on your design; you will continue developing your game ideas and take them from the prototype stage all the way to completion.
In this module, you will further develop your knowledge and understanding of game development processes such as:
QA - evaluation techniques, the importance of playtesting.
Work to professional standards with focus to marketing and publicity.
Learn to implement advanced techniques such as vehicles.
Advanced environmental VFX such as snow, rain and materials that modify the environment assets based on the weather system.
Fracture and Destruction VFX, Advanced Materials and GPU Programming.
Advanced Prototype Development
(core, 15 credits)This module is designed to give you the responsibility for working together as a large team, in order to design and build a 3D game. Students will work in smaller sub-teams focusing on design or programming techniques or asset production.
The module provides students with the opportunity to advance their knowledge in a variety of disciplines related to their chosen sphere of expertise.
You will be expected to develop professional quality work to a specialist brief.
This module aims to:
- enable you to understand workflow models, styles of project management and the necessity of good communication skills in a team-based work environment
- implement programming capabilities in the area of computer games and digital media
- develop communication skills with particular reference to computer games and digital media
- equip you for employment in the area of computer games and digital media.
Artificial Intelligence
(core, 15 credits)This module provides an introduction to the field of Artificial Intelligence, from its historical context to its current state. Students will research an aspect of AI and work in teams to design an intelligent system and develop a simple prototype.
The module aims to:
• build students’ knowledge and understanding of AI and its range of applications;
• enable students to use their skills and knowledge to design a contemporary intelligent system;
• develop students’ critical faculties with respect to the ethics and the issues surrounding AI;
• to build skills in software engineering and prototype development.
Artificial Intelligence for Games
(core, 15 credits)This module looks at the use of AI in the development of computer games from a variety of perspectives, offering students an opportunity to build skills with the latest AI tools in professional game engines. Students will work collaboratively to produce a small prototype of an AI system, and then integrate it into a fully functional game.
This module is designed to further develop game design and development skills. The module aims to:
• develop students' awareness of artificial intelligence and its current and potential applications in the field of computer games, digital media and product design;
• enable students to solve problems in designing and building replayability and dynamic challenges in single player games;
• implement the production of complex game systems;
• develop communication skills with particular reference to artificial intelligence;
• develop independent research, development and presentation skills;
• equip students for employment in the games industry.
Creative Practice Dissertation Project
(core, 15 credits)This module allows students to put into practice their research and project planning, based on learnings from the Autumn semester research module. They will develop a final project that encapsulates the learnings and aspirations from previous years of their course.
The project module should encase their own investigations and interests while targeting a specific audience defined in advance. The final output will happen in coordination with their course supervisor and will be course-specific.
This module allows students to demonstrate academic and/or professional skills compatible with their level of study as the project stimulates experimentation and innovation as part of their preparation for future academic or professional life.
The module aims to:
• deliver and plan a professional-level project in their area.
• help students choose areas of interest or affinity in their professional practice.
• enhance writing, research, pitching skills, as well as the development of specific artefacts specific to their course.
• equip students with the skills necessary to produce an independent body of work relating to their discipline that can enhance their employability by showcasing an independent body of work.
• prepare students for future independent practice.
Creative Research Dissertation Project
(core, 15 credits)This module allows students to develop research and project planning that encapsulates learnings and aspirations developed throughout their course. It is expected that students can demonstrate a range of skills and techniques acquired during previous years. The project module should encase their own investigations and interests while targeting a specific audience defined in advance. This module allows students to demonstrate academic and/or professional skills compatible with their level of study as the project stimulates experimentation and innovation as part of their preparation for future academic or professional life.
The module aims to:
• develop skills of planning, research, and delivery of a professional-level project in their area.
• help students choosing areas of interest or affinity in their professional practice.
• enhance writing, research, and pitching skills.
• equip students with the skills necessary to produce an independent body of work relating to their discipline
• prepare students for future independent practice.
Networking for Games
(core, 15 credits)This module builds students’ skills in building multiplayer games on a variety of platforms. They will understand the terminology and complexity of networking and learn how to use appropriate tools and libraries to create networked applications.
AIMS
• appreciate networking theory
• be able to apply theory to practical networked applications through writing server-side and client-side code
• design and build multiplayer games
Audio Plug-in Coding
(option, 15 credits)In this module, you will be introduced to the field of coding for audio plug-ins, a fast-growing employment market. By taking this module you will have the opportunity to develop simple plugins for audio applications such as Logic, Ableton Live, Pro Tools and Cubase, using VST, VST3, AU, AUv3, AAX and LV2 formats in an accessible way.
You will cover digital signal processing concepts in the context of coding and producing them within the JUCE framework. By doing so, exploring their application in music and audio scenarios, ultimately working towards developing them into audio plugin devices.
Throughout the course of the module, you will explore the JUCE framework and basic C++ coding for audio plug-ins in a series of workshops and exercises, where you will work to develop a range of simple audio devices for a final portfolio submission.
This module aims to:
• Introduce student's to C++ programming for music.
• Develop skills working in the JUCE framework, in order to create audio plugins.
• Develop skills in digital signal processing.
• Enable student's to produce simple audio plugins.
Career Development Learning
This module currently runs:spring semester - Wednesday afternoon
autumn semester - Wednesday afternoon
(option, 15 credits)
The module enables students to undertake an appropriate, short professional activity related to their course at level 6 with a business or community organisation and to gain credit for their achievements. The activity can be professional training or certification, a volunteering activity, employment through internal or external work-based placements, research-related activities, business start-up projects, entrepreneurship programs and more. Please see the complete list of accepted activities on WebLearn.
Students are expected to engage in any one or combination of career development learning activities for a total of ~70 hours which should be recorded clearly in a tri-weekly learning log – part of the portfolio. The ~70 hours can be completed in ~30 working days in FT mode or spread over a semester in PT mode.
Students are expected to complete a total of ~150 hours, 70 hours of which is direct engagement in any one or combination of career development learning activities. Progress should be recorded clearly in tri-weekly learning logs which are part of the portfolio. The ~150 hours can be completed in ~35 working days in FT mode or spread over a semester in PT mode.
Students should register for the module to be briefed, undergo induction and module planning and have their career development learning activity approved before they take up the opportunity. Students must be made aware that both the "Learning Agreement" (LA) and relevant "Health and Safety (H&S) checklist", where applicable, must be approved before starting the learning activity. Activities started without prior explicit supervisor approval will not be accepted.
The module aims to provide students with the opportunity to:
• Gain a valuable experience of the working environment and the career opportunities available upon graduation.
• Sharpen critical thinking, creative problem-solving and the ability to articulate solutions correctly to decision-makers and budget-holders alike.
• Undertake a career development learning activity appropriate to their academic level to gain exposure and access to professional networks.
• Extend learning experience by applying and building on their academic skills and abilities by tackling real-life problems through enrichment and extracurricular programs related to student subject areas.
• Enhance existing skills and master new ones through a structured personal and Professional Development Plan (PDP).
Documentary Filmmaking
(option, 15 credits)You will develop professional practices by working in small groups to produce a short documentary. The module will give an overview of the commissioning process and will include input from industry professionals.
You will be required to research, pitch, and develop a documentary proposal following industry guidelines and legal frameworks.
There will be an emphasis on how to film and work with documentary subjects (or characters) in an ethical way.
You will learn about a range of documentary modes, genres and techniques via screenings, discussion, and practice. Key figures and films will be explored as well as emerging styles and formats.
The module aims to:
• Provide students with an overview of approaches to documentary filmmaking.
• Give students practical experience of a range of documentary techniques such as sit-down interviews, vox pops and observational filming.
• Develop students’ understanding of how to research, develop and present a concept for a documentary for film or TV.
• Enable students to shoot, structure and edit a short documentary using appropriate audio and camera equipment and editing software.
Interaction Design for Non-Humans
(option, 15 credits)This module explores issues related to designing systems, environments, enrichment toys and tools for non-human animals, taking into account context, welfare needs and species-specific characteristics.
We will discuss briefs from animal experts, often in the contexts of zoos, sanctuaries and domestic settings, but also in other managed environments and in the wild. Students will collaborate in teams to work on designs and develop physical prototypes in response to the briefs.
You are expected to embrace a hands-on approach to design and development, as well as undertake relevant field trips and document your progress using a variety of media.
The module aims to provide you with the opportunity to:
• gain knowledge in the fields of Animal-Computer Interaction, Animal-Centred Computing and Experience Design for Non-human Animals.
• collaborate on a design project involving the development of an enriching experience for a non-human species.
• develop skills in ecological awareness, and species-specific physical, sensory and cognitive capabilities.
• enhance professional and personal development.
Please note that this optional module may become unavailable if the student intake numbers are lower than 10.