What is the Bachelor of Software Engineering - Game Programming?
Breathe life into unimagined worlds.
Learn a range of programming languages from C++ to Swift, enabling you to succeed in the games industry and beyond. Our teaching style not only gives you the knowledge of tools, but the kit to work in a team, an essential but overlooked necessity. Hone your abilities in interviewing, presenting and communicating while you craft a masterpiece with your small team. Be amongst the most sought-after graduates for New Zealand’s gaming industry, forging alliances with the likes of Rocketwerkz, Pik-Pok and Outerdawn.
Why study Game Programming?
You should study Game Programming in 2023 if you are passionate about studying, analysing and creating video games. As a game programmer, you will learn how to use coding languages like C++, collaborate with artists and game designers, and transform ideas into living, breathing, and functional worlds that beg to be explored.
Course Outline
What you'll cover in this course
Start your learning with the essential theories, principles and knowledge needed for game programming and development, which includes an overview of C++ programming and practical mathematical skills. You will also gain experience constructing, testing and debugging simple computer games.
Component Name | Credits | Toggle |
---|---|---|
Introduction to Software Engineering for Games
|
15
|
|
Year one begins with an introduction to the C++ programming language. Once basic programming skills have been mastered students get the opportunity to construct simple games. They begin by solving easy problem-based tasks with C++ programming and progress on to learn how to construct, test, and debug simple computer games.
The lecturers will provide modern theoretical perspectives and demonstrate approaches to the tasks with examples. To demonstrate their understanding, students are presented with a brief to create a text-based game using the skills and knowledge that they have gained in this component. Level 5
GD1P01
PC3992
|
||
Algorithms and Data Structures
|
15
|
|
This component teaches the fundamental data structures and algorithms that are needed to solve common gaming problems. Wherever possible, lecturers will show examples and use analogies to explain and make the principles easier to understand. Students improve their learning throughout this component by working on a large number of projects; they solve common gaming problems by designing, developing, implementing, testing, and enhancing a collection of data structures and algorithms.
Level 5
GD1P02
PC3992
|
||
2D Game Programming
|
15
|
|
More advanced programming concepts are introduced including a basic introduction to user-interface design and software engineering management methods. Students will follow a predetermined plan and track their progress throughout this component with the experience that they gain assisting in the development of future projects.
Teaching approaches incorporate theoretical lectures and practical project-based learning. Lecturers provide game frameworks for students to read and understand which are then followed to solve progressively more complex problems. By the end of this component students will develop simple 2D games with effective user-interface design strategies. Level 5
GD1P03
PC3992
|
||
3D Graphics Programming
|
15
|
|
3D Graphics Programming introduces students to the fundamental topics of core computer graphics, 3D graphics programming and the stages of the rendering process. Topics included are the transformation pipeline, device states, primitive rendering, basic camera systems, lighting, texturing and alpha techniques as well as software engineering design principles and testing strategies. By the end of the component, students will create a game utilising 3D graphics concepts to demonstrate their understanding and put the theory in to practice.
Level 5
GD1P04
PC3992
|
||
Creative Technologies: Game Studies I
|
15
|
|
Game Studies I offers an introduction to the study of video games as texts situated within wider cultural and theoretical settings. Students will explore the history of video games as creative technologies and as cultural artefacts. These ideas will be framed through critical analysis of specific case studies, informed by a wider reading of contemporary games scholarship.
Level 5
GAT160
PC3993
|
||
Maths 1
|
15
|
|
This component introduces you to foundational mathematical concepts necessary for specialisation components in your degree. The main topics covered are – Linear Algebra, Discrete Maths, and Geometry. The delivery consists of theoretical elements, a demonstration, and then you'll be able to put these skills into practice. You'll collaborate and share mathematical problem-solving approaches during frequent in-class discussions and will be expected to provide these solutions for class reviews.
Level 5
MAT101
PC4133
|
||
Mathematics for Graphical Games
|
15
|
|
Building on the foundations provided in previous components, students learn to construct mathematical solutions to common gaming problems. They design, develop, test, and enhance a game that requires a significant degree of mathematics. Trigonometry is used to solve problems for 2D games and, as students progress these 2D physics problems will become more complicated.
Software engineering models and notations are used to represent mathematical questions and students learn to write these for all mathematical code. This component then throws in an additional dimension introducing principals used in 3D games (vectors and matrices). Groups work together to solve the more challenging mathematical problems and in-class discussions are held and encouraged to assist students in their understanding of the concepts. Level 5
GD1M02
PC3992
|
||
Game Design Principles
|
20
|
|
Introducing ethics and social issues to gaming, students will learn to analyse games from a nontechnical viewpoint. They learn about various target platforms that support games and to identify real-world game design problems. Lecturers teach this component with in-class demonstrations and lectures on design and game design principles. The class collaborates to produce a game design document that justifies decisions made across a broad range of design and game design elements.
Level 5
GD1J01
PC3992
|
||
Introduction to Gameplay Programming
|
15
|
|
Introduction to Gameplay Programming introduces students to the concepts of gameplay programming and the use of mathematics for this purpose. The component is project-based with scenario based workshop practices and assignments where students get the opportunity to explore mathematical concepts in relation to their application in gameplay while practicing and applying strategies to building gameplay functionality by using a game engine.
Level 5
GD1P05
PC3992
|
Prepare for a major game production by learning the management strategies needed for a collaborative project. You will also learn software engineering principles, advanced graphic programming and advanced game programming strategies.
Component Name | Credits | Toggle |
---|---|---|
Artificial Intelligence
|
15
|
|
Artificial intelligence systems are ever evolving. In order to pinpoint the correct tool for each job, students identify the strength and weaknesses of various software engineering strategies and evaluate their effectiveness. Lecturers provide case studies and theoretical foundations of various contemporary artificial intelligence engineering practices. They also facilitate in class discussions, debates and critiques of these practices. Learning is achieved through debating how real world problems should be approached.
Level 6
GD2P01
PC3992
|
||
Software Engineering for Games
|
15
|
|
Building on the project management principles from earlier components, students learn a theoretical modelling system for formal analysis of correctness and quality in the production of a game. They will also gain knowledge of software product assurance, experimenting with a variety of product assurance strategies. For each defect, students ascertain the cause and attempt to prevent similar scenarios in future game development projects.
Once they have enough experience, students create defect prevention strategies for a sizeable game development project. The economics of software development is also considered with students solving problems in multiple ways to ascertain the value and cost implications of various strategies. Level 6
GD2S02
PC3992
|
||
Physics Programming
|
15
|
|
The application of physics to in-game objects has a massive impact on the user experience. This component introduces a variety of technologies and software development strategies for game development with students applying their software process skills, knowledge and modelling techniques to create a simple physics system for a game.
Fundamental techniques include, among others, how to apply Newtonian physics for game development; rigid body dynamics; evaluating and applying various collision detection techniques; and using modelling principles for deterministic physics modelling. Level 6
GD2P02
PC3992
|
||
Technology Leverage for Games
|
15
|
|
A broad range of game development technologies are explored and examined in-depth. Using an existing game framework, students will practice solving simple and complex gaming problems that include looking at a multithreaded game engine, databases and network-based games.
Students gain insights into using assembly for debugging and optimizing purposes along with the ability to write multi-threaded code that can enhance the performance of a game on multicore machines. They will also reflect on the implications of developing software with legacy systems and prebuilt assets, and experiment with their integration. Level 6
GD2P03
PC3992
|
||
Advanced Graphical Games Programming
|
15
|
|
Advanced Graphics Games Programming takes an in-depth look at the more complex graphical programming and introduces students to tool construction. The required analysis techniques for tools are discussed to streamline design and increase the likelihood of a positive result.
Students expand on already existing libraries and create plug-ins for pre-existing technologies. Additionally, students will design, construct, test, and evaluate a 3D scene - drawing on a collection of human-computer interaction, visual design, and game design elements to enhance it. Both visual and non-visual elements that enable the creation of the 3D scene are evaluated. Level 6
GD2P04
PC3992
|
||
Software Engineering Principles and Practices
|
15
|
|
This component focuses on the skills required to produce a game both on time and on budget. You'll be introduced to project management, design patterns and produce game management approaches for simple projects using a software engineering framework. You'll be presented with a range of software project management methodologies and contemporary methods, as well as effective/ineffective planning and effective/ineffective management examples (using case studies).
You'll learn to separate project management considerations from the wider context of game development. You'll be given game design and technical design documents to review in terms of project management, task allocations and stakeholders’ roles and responsibilities. Level 6
GD2S01
PC3992
|
||
Advanced Software Engineering and Programming for Games
|
15
|
|
This component teaches students how to create a collection of game asset tools for development teams. Lecturers provide theoretical and practical examples of hardware and software technologies for the rapid development of games. Contemporary technologies are used and student learning is facilitated with in-class debates regarding the usefulness of each technology.
Students will design, construct, test, assess, and enhance an integrated game asset export tool. They then evaluate their own software development and implementation processes against widely accepted software engineering principles and practices. Level 6
GD2S03
PC3992
|
||
People and Games
|
15
|
|
People and Games examines the nontechnical, human issues (societal and cultural) of the game industry. A history of the game development industry is taught, which students critically analyse from a historic and contemporary perspective. Lecturers provide theoretical and conceptual frameworks for game design and investigation. In-class discussions are held around game design and technical limitations, with students debating their ideas and defending their decisions. Students’ abilities to identify key design features will improve, which is used in later components when students propose design features for games.
Level 6
GD2J01
PC3992
|
||
Game Mini Project II - Rapid Game Prototype
|
20
|
|
Students’ skills and knowledge are used to plan, produce, test, enhance and manage a group game that can be exhibited in a public forum. Working in teams, students collaborate to self-manage this project utilising an effective software engineering strategy. Undertaking this project will enhance students’ design and management skills, by utilising a variety of software engineering processes (including software design, project management, software processes, bug tracking, etc.).
Level 7
GD2J03BSE
PC3992
|
The final year focuses on creating a major game production in conjunction with Bachelor of Creative Technologies (Game Art) students. You'll also begin developing for PlayStation platforms Vita and PS4. Just picture your portfolio at the end of it!
Component Name | Credits | Toggle |
---|---|---|
Game Engine Development
|
15
|
|
In this component students study the fundamentals of real time software systems in the form of a game engine with its enclosed components. Building on the foundations created so far in the programme, students design and develop a game engine collaboratively to facilitate their production of the final year project.
The components of a game engine - optimisation issues, systems flow and the “how’s” and “what’s” of the development are extensively discussed. Student learning is now advanced significantly to the point where they can start specialising in areas of their choice and expressing more individuality in their work. Level 7
GD3P01
PC3992
|
||
Software Engineering Capstone Project
|
30
|
|
The Software Engineering Capstone Project enables you to investigate specific areas of interest towards the application of software engineering principles, practices and expertise in your major production.
You'll be encouraged to study the interaction between software engineering and its associated disciplines (e.g. computer science, management, mathematics, and systems engineering). This knowledge can then be applied to enhance and integrate with information from scholarly sources, forming academic research and creating the path towards higher educational opportunities. Level 7
GD3S01BSE
PC3992
|
||
Software Engineering Game Development Capstone Project
|
20
|
|
The Software Engineering Game Development Capstone Project allows a student to select a technical area of game development to specialise in by researching a specific topic. Students select a specialisation in an area of technical game development (e.g. game design, game play, mathematical programming, 3D programming and artificial intelligence programming).
The research topic will enhance a student’s understanding of complex technical solutions and will allow them to evaluate, interpret, and appraise the game development theories and concepts within their chosen field of study. Level 7
GD3S02BSE
PC3992
|
||
Preproduction
|
15
|
|
In this component students develop comprehensive design documents to be used in the production of a game, enhancing their skills in the areas of industry procedures and game design principles. Learning of previous materials is drawn on and students debate and justify the contents of their design documents. Lecturers act as producers and assist in the solution of team dynamic problems when needed.
Students should now possess all the skills, knowledge and abilities to undertake this component alone and assistance is primarily provided to ensure the game design is produced within the set timeframe. During this preproduction period, the environment is studio based, helping students prepare for industry realities. Level 7
GD3J02
PC3992
|
||
Game Development Team Production Alpha
|
30
|
|
Students collaborate on a major production in this component, with individuals specialising in their chosen areas of game development and software engineering. They manage, produce, test and enhance a game that matches an agreed specification and design; the game must demonstrate major in-game functionality. Individual students will document their investigatory findings for major problems.
This learning gives provides the analytical skills and knowledge necessary for higher study. Again, whilst support is provided, students are expected to demonstrate the necessary skills to undertake this component on their own. During the production period, students will be based in a studio environment to simulate the realities of a real world situation. Level 7
GD3J03BSE
PC3992
|
||
Game Development Team Production Gold
|
15
|
|
In their final component students produce a release-candidate game that has already gone through several test cycles. In preparing the game for open testing a wide variety of problems will need to be solved both individually and as a team.
Identifying these problems, investigating, discovering solutions, and testing possible solutions throughout the testing phase will enhance the technical skills acquired throughout the course. The final game will be feature complete and have no show-stopper bugs. As with the previous two components, the environment is studio based, again helping prepare students for the realities of game development and production. Level 7
GD3J05
PC3992
|
||
Professional Practice
|
15
|
|
Professional Practice teaches the knowledge, skills and strategies to undertake a collaborative production that is based on sound management theories and advice.
Students use creative and critical thinking methodologies to form a production investigation. Using project management methods, they are taught to plan and manage a project through to completion and gain commercial acumen and understanding of business realities in the process. There is an emphasis on personal responsibility during production because the knowledge, skills and attitudes that are developed are aimed at assisting postgraduate study. Level 6
GD3J01
PC3992
|
Part-time Study
Our part-time study options are designed with flexibility in mind, allowing you to balance your education with other life commitments. With part-time study at Media Design School, you can tailor your learning experience to fit your unique schedule and needs. We’re here to support you in achieving your academic goals while accommodating your busy lifestyle.
Career Opportunities
To be a game developer you'll need both the experience and practical skills to be able to work across multiple game platforms and the ability to collaborate in a group that simulates the industry environment.
Our graduates go to work in game studios here and around the globe, such as Game Loft, Grinding Gear Games, Pik Pok and Krome Studios.
Gameplay Programmer
Tools/Engine Programmer
AI Programmer
Course Requirements
To apply for this degree, you'll need a minimum qualification of NCEA University Entrance or equivalent, such as an appropriate qualification from an overseas secondary school or tertiary institution, deemed by Media Design School to be sufficient for admission into a bachelors programme. CIE (University of Cambridge International Examination) IB (International Baccalaureate)
Plus, you will need to have fulfilled the following credit requirements:
NCEA | 28 NCEA Credits* at Level 3, in a range of the following subjects: Mathematics, Physics, Computing and Technology. *Note: Students completing NCEA Level 3 in 2020 will only require 24 credits in the above subjects. If you are enrolled at a New Zealand secondary school and have not yet completed your NCEA (CIE or equivalent) qualification, you can still apply now for admission. When your NCEA results are available in January, we will check them and contact you. |
Special Entry, Discretionary Entry and Cross Credits | You may be eligible for discretionary entrance if you have: - Excellence Endorsement(s) in Mathematics, Physics, Computing or Technology subjects at Level 2, AND - Literacy and Numeracy requirements (i.e.: 10 credits in Maths at Level 1 and 10 credits in English at Level 2 (5 reading/5 writing)) You may be eligible for Special Admission if you: - Are over 20 years old - Have relevant experience or can demonstrate mathematic knowledge Click the title for more info! |
International Students | To apply for this degree, you'll need a minimum qualification of NCEA University Entrance or CIE (University of Cambridge International Examination) or IB (International Baccalaureate) or equivalent overseas secondary school qualification or have completed one year of tertiary study from recognised institution. Please Note: Entry requirement may vary based on your country of citizenship. Please refer to our International Page for entry requirements at mediadesignschool.com/international-students. If you country is not on the list, please email international@mediadesignschool.com for further information. All international students must be 18 years of age when the programme commences (on- campus or online). International applicants can start their application before they turn 18 years of age. |
Quotas | Please note, quotas may apply to some programmes. Where demand exceeds the number of available places, applicants who meet entry requirements will be admitted on a first-come-first-served basis. |
NCEA |
28 NCEA Credits* at Level 3, in a range of the following subjects: Mathematics, Physics, Computing and Technology. *Note: Students completing NCEA Level 3 in 2020 will only require 24 credits in the above subjects. If you are enrolled at a New Zealand secondary school and have not yet completed your NCEA (CIE or equivalent) qualification, you can still apply now for admission. When your NCEA results are available in January, we will check them and contact you. |
Special Entry, Discretionary Entry and Cross Credits |
You may be eligible for discretionary entrance if you have: - Excellence Endorsement(s) in Mathematics, Physics, Computing or Technology subjects at Level 2, AND - Literacy and Numeracy requirements (i.e.: 10 credits in Maths at Level 1 and 10 credits in English at Level 2 (5 reading/5 writing)) You may be eligible for Special Admission if you: - Are over 20 years old - Have relevant experience or can demonstrate mathematic knowledge Click the title for more info! |
International Students |
To apply for this degree, you'll need a minimum qualification of NCEA University Entrance or CIE (University of Cambridge International Examination) or IB (International Baccalaureate) or equivalent overseas secondary school qualification or have completed one year of tertiary study from recognised institution. Please Note: Entry requirement may vary based on your country of citizenship. Please refer to our International Page for entry requirements at mediadesignschool.com/international-students. If you country is not on the list, please email international@mediadesignschool.com for further information. All international students must be 18 years of age when the programme commences (on- campus or online). International applicants can start their application before they turn 18 years of age. |
Quotas |
Please note, quotas may apply to some programmes. Where demand exceeds the number of available places, applicants who meet entry requirements will be admitted on a first-come-first-served basis. |
As an international student, you'll need to prove you have sufficient English language skills in order to complete this course. We'll be looking for Academic IELTS overall score of 6.0 (minimum) with no band less than 5.5, or equivalent test result.
We accept a range of internationally recognised English Language proficiency test. Find out more on the NZQA website or download the NZQA list HERE.
A portfolio is not required if you are applying for Game Programming (Bachelor of Software Engineering). See the video on entry requirements and tips for your application.
Before you begin your study with us, you will need to have a suitable device that has the functionality to run the programmes required for your course.
Click the link below to find course-specific requirements and recommendations, along with links to more information about hardware specifications. We have prepared these recommendations to help our students equip for flexible, blended learning.