Unleash your creativity in Game Programming
Game Programmers drive the game development process; creating the framework, functionality and interaction in the game. Regarded as the essential ingredient in the development process, game programmers are highly valued and continually in demand.
The course teaches students languages and technologies used in the games industry, including C++, C#, OpenGL, game engines as well as developing problem-solving skills. This program has been developed in response to industry needs and runs for two years, full-time.
Why study game programming with AIE?
Education is only the first part - we want to help our graduates achieve their dreams - initiatives like the AIE Incubator Program make it possible.
We support industry
We invest in our students, grow the industry and support graduate career opportunities.
Get a Job!
Graduates can be found working in some of the worlds leading games studios, independent games studios and also creating their own digital content through the AIE incubator.
Other graduates are working in serious games/simulations for Defence and simulations for major mining companies.
Industry software you will learn
Your career in Game Programming starts through the hands-on Advanced Diploma or take your knowledge to the next level with the Bachelor Degree. Both programs have been closely developed with the game industry and leverage the latest game industry software including:
AIE graduates have worked on
Hear from our graduates
Bachelor Degree Curriculum
In GDC101 Introduction to game art, you will learn the fundamentals of the game art pipeline. You will develop an understanding of key areas within the game art pipeline including 3D modelling, texturing, materials, rigging, animation, and lighting.
In this subject, you will create two 3D models textured and presented in Unity, one of which includes animation. The assessment also includes a peer review report and completion of weekly tutorial tasks.
Introduction to Game Design introduces the methodologies and common language used by designers to make games. You will understand how to analyse and respond to feedback objectively when presenting ideas and concepts to your peers.
You will create and maintain design documentation, effectively identify, communicate and resolve technical issues, refine mechanics, scope and gameplay requirements through design iteration.
You will learn how to identify and analyse your target market understanding business models for distribution, monetisation and player retention.
GDC100A is a cross-disciplinary unit that focuses on game development in a team-based environment. In this unit, you'll learn the basic concepts of project management and the different roles involved in game development. You'll explore the pre-production stage of game development, including prototyping, proof of concept methodologies, and game documentation.
Through this unit, you'll develop essential skills in communication, teamwork, and self-management. You'll gain an understanding of different game development methodologies and learn how to work efficiently in a development environment. You'll also learn how to effectively manage a game project, creating some of the pre-production documents that AAA game studios use during game development.
GDC103 offers an introduction to rapid prototyping and game programming using visual scripting. You will learn about the process of developing games in the Unity game engine, as well as foundational programming logic and design concepts. The subject emphasizes rapid prototyping using visual scripting, ethical considerations related to software licensing, and programming for diversity, including supporting disabled players through input and user interface design. You will be introduced to the theoretical and practical aspects of programming games in Unity, including scripting events, processing player input, building for different hardware, software licensing, IP rights, graphical user interfaces, and implementing basic game mechanics using visual scripting.
Welcome to the exciting world of C++ programming! As one of the most powerful and high-performance programming languages, C++ is extensively used in the game development industry and beyond. This subject will equip you with valuable skills in C++ programming, along with industry-standard practices and techniques that you can apply in any programming career, regardless of the language.
In this subject, you will master skills in memory management, debugging, version control, and object-oriented programming concepts like classes, inheritance, and polymorphism. You will not only gain skills that are highly valuable in the gaming industry, but also transferable skills that are useful in other fields like engineering, science, robotics, military, real-time control systems, and communications.
Through a series of fun and creative assessments, including a report on modern C++ features, a project to save high-score data, creating a text adventure game, and a written exam, you will be challenged to apply your newfound skills and knowledge. Whether you want to develop games or pursue a career in programming, this unit will give you a solid foundation in C++ and equip you with skills that will be useful throughout your programming career. Get ready to unleash your creativity and embark on an exciting journey into the world of programming with C++!
In GDP102, you'll learn the advanced mathematical techniques used to create immersive virtual worlds. This subject teaches you how to implement vital mathematical concepts and algorithms used in game development with the C++ programming language, such as vector and matrix math, collision detection and resolution, and probability and randomness. By mastering these foundational mathematical operations and techniques, you'll be equipped to optimally implement gameplay functionality in a commercial game engine or perhaps even an engine you create from scratch.
The skills you'll develop are in high demand in the gaming industry, and the practical applications for maths programming in games are endless. You'll create a reusable mathematical library and develop a graphical demonstration program to showcase your skills, giving you a competitive edge in the field. Prepare to delve into the exciting world of game and simulation programming, where you'll leverage your mathematical skills to unlock the secrets beind creating immersive virtual worlds that meet the needs and expectations of today's gamers.
In GDP103, you'll delve into the exciting world of graphical programming techniques to create stunning 3D graphics, and develop a solid foundation in computer graphics principles. By mastering the essential concepts that underpin all game graphics engines, you'll be able to create immersive, visually striking games that captivate players' imaginations.
Through practical exercises, you'll learn how to apply transformations and graphical operations in a game engine, explore principles of animation, texture mapping, and global illumination techniques, and write shader programs to control the rendering pipeline. By the end of the subject, you'll have the skills to write performant programs that optimize system resources to create visually stunning real-time 3D programs.
With engaging assessments that include creating a playable 3D animated game character and implementing visual effects and animations in a 3D environment, this subject will give you a solid foundation in graphics programming. Equipped with these skills and knowledge, you'll be well-positioned to excel in the competitive games industry by creating immersive, visually striking games that meet the demands of players.
In this unit, you will learn how to develop a 2D game prototype using agile development methodologies and effective teamwork. Building upon skills learnt in GDC100A, you will use a game engine to design a basic level and iteratively produce a game prototype with other team members who have diverse skills in game art, design, and programming.
Through the group project, you will gain fundamental knowledge of group dynamics, problem-solving, and version control repository management. You will learn to communicate and work effectively in a team environment, evaluate team performance, and provide constructive feedback to your peers in a professional manner.
This unit is crucial for anyone interested in pursuing a career in the game industry. It will teach you the skills required to work effectively in a game studio environment, including agile development methodologies, playtesting, and game prototype development. You will be assessed on your ability to create an initial game prototype and a final game prototype as a team, as well as present your work and evaluate your team's performance.
GDP201 is a subject that provides practical training in advanced programming techniques required for the video game industry. This course builds on the programming skills and techniques learned in GDP101 Introduction to object-oriented programming and C++. It explores advanced programming methodologies commonly used in real-time game development, including memory management, test-driven development, asynchronous programming, regular expressions, and data-oriented programming. Through practical assessment tasks, students will analyze and solve complex problems commonly found in games using advanced programming techniques.
The focus of GDP201 is on developing advanced programming language features and concepts necessary for cutting-edge game development. Students will leverage the features of the C# programming language and Unity 3D game engine to create games system components, analyze memory management features, and apply test-driven development methodologies to comprehensively test and debug their projects. Students will also learn how to use the profiling features in Unity to analyze and optimize code and system runtime performance. The course emphasizes the importance of understanding the consequences of various methodologies, techniques, and concepts for real-time applications and games. By developing these skills, students will become better equipped to handle the technical challenges that come with developing video games, making them valuable assets to the industry. Students will be assessed through a report on memory management, an inventory system project using Unity, and optimizing a boid flocking demonstration using ECS for Unity.
GDP202 is an exciting subject that will teach you how to design and implement efficient algorithms and data structures, essential skills for modern programming. This unit will build upon the object-oriented programming principles you have learned in GDP101 and equip you with the knowledge to implement static and dynamic data structures such as arrays, linked lists, stacks, queues, graphs, trees, and hash tables. You will also learn sorting and searching algorithms, algorithm efficiency, and the appropriate use of various data structures and algorithms.
By the end of this subject, you will be able to apply fundamental data structures and algorithms to implement real-time games and applications. The skills and knowledge you acquire in GDP202 will be crucial to optimizing code and enhancing the performance of game projects. This subject will provide you with practical training, including implementing different sorting algorithms, creating a binary tree, and recreating a classic arcade game using various data structures. A final short-answer and multiple-choice exam will also test your knowledge and understanding of the subject.
In this unit you will explore the key principles and theories of human-computer interaction (HCI) and study user experience (UX), user interface (UI) and gamification concepts to design interfaces for interactive systems. You will learn about input/output (I/O) channels, interaction models and frameworks, memory and information processing in humans and computer systems for the development of intuitive interfaces that users can easily grasp and control.
You will also develop skills in articulating and critically evaluating UX design ideas and practice wireframing to creatively solve UI design and gamification problems by redesigning and prototyping new experiences. You will adapt your UX knowledge and skills across diverse enterprise contexts that underpin the development of digital games and applications.
Building on the knowledge and skills gained in GDC100B Game development project 2, you will work in a team to design and develop a 3D narrative-based game and produce more complex game documentation including a game design document, art bible and technical design document, and evaluate other teams’ games through pilot playtesting and critique. You will adapt the scope and focus of your project using iterative system design principles throughout development, focusing on an initial, simplified implementation that progressively gains more complexity and a broader feature set until the final system is complete. You will obtain weekly feedback from a supervisory team of academics, regarding the project in progress and utilize this feedback to develop next iteration of the prototype.
You will further develop your teamwork skills forming an interdisciplinary team and demonstrate intermediate level design skills through the creation of a game concept. Your team will draft the system architecture and produce a level of the game prototype using a commercial-level game engine. The group project will utilise the individual skills of team members in game art, design and programming to collaborate effectively on the final product in a studio-simulated environment. Your individual contributions will form part of your professional portfolio.
GDP203 Software Engineering is an essential unit for anyone looking to become a skilled game developer. This unit delves into the software development methodologies and software design patterns commonly used in game development. You'll learn how to describe the design of systems using the Unified Modelling Language (UML), estimate software complexity, and integrate proven solutions to common architectural problems. By studying contemporary system design and software engineering methodologies, you'll develop critical thinking and problem-solving skills required to develop solutions to complex problems in game development.
This unit takes a software design-centric approach to game development, providing students with the knowledge and skills needed to develop effective solutions to complex problems. You will explore various software development methodologies, including test-driven development, and writing technical documentation. Additionally, you will learn how to design and implement game systems using common programming patterns. Through a series of programming exercises and technical documentation assignments, you'll gain hands-on experience applying the skills and knowledge acquired throughout the course.
GDP204 Network Programming for Connected Games is a dynamic and hands-on unit that builds on advanced programming techniques for games and delves into the world of connected games. Connected games are highly successful and generate significant revenue, making it crucial for game developers to understand how to build them. This unit covers both programming and networking concepts, giving students a broad understanding of how games are built and how they function online.
Students will learn about networking fundamentals for game development, including internetworking methods, protocols, and specifications. Through practical experience, they will gain knowledge in designing for global scale and dedicated servers, building a minimal client and server, and exploring security, cheating, and ethical considerations in connected games. By the end of the unit, students will have created a network multiplayer game prototype using a game engine, putting their skills into practice and preparing them for a career in the exciting and rapidly growing field of online game development.
GDP205 is a fascinating subject that explores computer graphics using shaders, an essential component of modern video games. The subject delves into the techniques and algorithms used in real-time rendering of computer graphics, with a strong focus on shader programming. Shaders are user-defined programs that run on a graphics processor and execute a programmable stage of the rendering pipeline. Students will gain a thorough understanding of how graphics are created and displayed in modern games and learn how to take control of graphics hardware to optimize performance. They will also get hands-on experience in writing graphics shaders using GLSL and HLSL shader programming language within the Unity 3D game engine.
GDP205 is highly relevant to the video game industry, as advanced techniques and algorithms used in modern real-time rendering are necessary to create high-quality visuals in modern games. Shaders and optimized performance are crucial skills for graphics programmers to have to take control of graphics hardware and provide players with an efficient and visually stunning experience. Students will gain these essential skills and knowledge through GDP205, and the practical assessments, such as writing a surface shader, a terrain shader, and a shader optimized for mobile platforms, will provide them with the experience and portfolio of work that they can use to showcase their abilities to potential employers.
In this unit, you will build upon the 3D prototype designed in GDC200A Game development project 3. You will gain intermediate level knowledge of project development while leveraging technical skills in your area of specialisation to complete and deliver the vertical slice and produce detailed game documentation and a post-mortem. In a studio-simulated environment, you will work in groups to manage the continued production of a 3D narrative-based game using a commercial-level game engine, exploring the quality assurance process and the production and post-production stages of game development such as scheduling, budgeting, marketing and playtesting to produce a vertical slice of the game.
You will adapt the scope and focus of your project using iterative system design principles and utilising weekly feedback from a supervisory team of academics regarding the project in progress, you will develop the next iteration of the prototype.
You will further develop your teamwork skills through the creation of a game concept. In addition to developing your project you will be involved in providing constructive feedback to your peers in a professional manner at the end of this unit.
The GDP301 Systems programming and cross-platform development course is an essential course for students interested in the video game industry. This course focuses on designing and developing games that can be deployed across multiple platforms using the Unity game engine. Students will gain valuable knowledge on GUI design, data and resource management, mobile optimization, and profiling, which are essential skills for cross-platform game development. The course covers a wide range of topics such as hardware constraints and platform design considerations, input devices, mobile shaders, and native application programming interfaces (APIs).
The importance of this course lies in the complexity of deploying games across different platforms. It equips students with the necessary skills and knowledge to efficiently deploy games using cross-platform tool chains, continuous integration, and automated build generation. Through this course, students will develop problem-solving skills and consolidate their knowledge in cross-platform game development. The course will be assessed through the creation of a technical design document for a cross-platform game, setting up a continuous integration workflow, and developing and deploying a cross-platform game project. By understanding the requirements and constraints of different platforms, students will be well-prepared for various job opportunities in the video game industry.
This unit builds on the concepts of gameplay introduced in GDC102 Introduction to game design and explores digital games and their social, cultural, psychological and ethical impacts on society. You will be introduced to theories of the social context of play and examine its relationship to digital gameplay, the player experience and human wellbeing, and evaluate how games can be used as positive tools for wellbeing.
Through a critical examination of existing literature, you will identify an area of societal wellbeing where games are not being applied to address social, cultural, psychological or ethical issues. To bridge this gap, you will design a game concept to meet the needs of this particular population. You will also develop skills in articulating ideas for innovative game concepts for wellbeing and be able to reflect upon and document your own ideas with reference to existing theories.
Virtual reality (VR) provides highly interactive and seamless immersive experiences and augmented reality (AR) technology allows users to interact with virtual objects, people and settings that have been overlaid onto real-world environments, augmenting user experience with computer-generated imagery and sounds. In this unit you will explore the pioneering developments in visualisation, immersion, and interaction to investigate innovative concepts and implementations in VR and AR. You will learn how simulation techniques are used to build virtual worlds in which users are immersed to deceive the human senses so that the perceptual cues that reach the brain are aligned with an alternative reality.
You will develop knowledge of a range of hardware and software available to game developers to produce immersive experiences in mixed media and examine state of the art methods for real world motion tracking to enable augmented spaces. Through a critical analysis of contemporary VR and AR technologies and applications in advergaming you will explore the design principles and content creation process for developing VR and AR applications by designing and deploying your own innovative concept in a group project.
This unit is the first part of the capstone project in which you will work in a studio-simulated environment on the production of a potentially commercially viable product. You will consider human computer interaction and user experience design in game development, applying the tools and techniques necessary to design novel gameplay experiences. You will explore technological advances, propose new techniques for human-computer interaction in a game development project.
You will work through aspects of the industry-based game development cycle, building on the knowledge and skills gained in GDC200B Game development project 4 and GDC201 Human-computer interaction and user experience design to further develop your teamwork skills and demonstrate advanced level design skills through the creation of an alpha version of an original and innovative game. The group project will utilise the individual skills of team members in game art, design and programming in collaborating effectively on the final product in a studio-simulated environment. Your individual contributions will form part of your professional portfolio.
You will be working more independently, while receiving feedback from your supervisor as a group, and utilising the skills you have gained to create a game that will form the heart of your portfolio. You will also provide constructive feedback to your peers in a professional manner and reflect upon and document your own performance and role in this project.
This unit provides an opportunity for students to complete work-integrated learning (WIL) through a full-time internship (36hrs/week) over the course of a semester. The unit will help you gain local professional experience in the game industry and choose from a diverse range of roles. You will need to apply for an internship position with an industry partner of AIE Institute or present an organisation and project for approval. If selected, you will undertake professional responsibility for a range of tasks and duties at a workplace in the game industry. For the major part of the unit, you will work with both an Industry Mentor (the nominated representative of the internship location) and an AIE Institute WIL Coordinator to complete a major internship project or a few smaller game development projects.
Project topics will be agreed between the AIE Institute, the student and the industry partner, and will also include playtesting. The specific work projects/ and related duties you will undertake will be determined in consultation between you, your Industry Mentor and AIE Institute to ensure appropriate standards are maintained and the internship project/s and related tasks align to the course learning outcomes.
Throughout the internship, you will be expected to maintain communication with your WIL Coordinator via email. You will be required to submit internship reports that reflect on your learning during the internship.
OR complete GDC300B Major game production 2 and two Elective Units
This unit is the second part of the capstone project building upon skills learnt in GDC300A Major game production 1 and progressing the alpha version of the game your team developed. You will progress through the industry development cycle to the completion of a publishable gold version. You will demonstrate advanced level knowledge of project development while leveraging technical skills in your area of specialisation, deliver game documentation and a post-mortem. You will apply professional level teamwork and project management skills and demonstrate advanced level design skills during the development and completion of the game.
You will also apply basic business planning skills to pitch a business plan, explore production and post-production stages, and complete your individual professional portfolio. You will be working more independently, while receiving feedback from your supervisor as a group, and utilising the skills you have gained throughout your study.
The final stage of the project requires you to provide constructive feedback to your peers in a professional manner and reflect upon and document your own performance and role in this project from initial design in GDC300A to final completion.
This unit will explore the nature of entrepreneurship and the role of the entrepreneur in pursuing innovative game concepts and technologies. You will extend your enterprise and business planning skills to cultivate and exemplify your identity as a professional practitioner by pursuing innovative game concepts, together with learning how to analyse case studies and conduct market analysis to develop strategic business plans.
This unit will include seminars and guest lectures given by established game development entrepreneurs, who will touch on key challenges experienced by start-ups including funding. Through multi-disciplinary teamwork, oral and written communication, and self-management skills you will collaborate on developing a business plan for a game start-up or technology and deliver a game pitch to an industry panel. You will also evaluate and peer review other teams’ business plans and pitches.
GDP302 Physics Engineering for Games is an exciting subject that teaches students about the techniques and algorithms used in modern physics simulations. As game developers continue to push the boundaries of realistic simulations, integrating physics into game mechanics can significantly enhance player immersion and engagement within the game world. This unit builds on GDP202 Algorithms and Data Structures and explores the theory and practice of implementing a custom physics engine. The course covers theoretical content on position, velocity, acceleration, force, mass, momentum, angular momentum, torque, inertia, and collisions, and practical demonstrations on how to implement these concepts into a real-time physics simulation. Students will learn how to write their own custom 2D physics engine and gain experience using a commercial physics engine. The unit also covers how to implement physics in modern game engines, including motors, ray casting, ragdolls, kinematics, player controllers, fluids, and soft bodies.
Understanding the physics behind game mechanics is crucial for game developers to create authentic and accurate simulations. Physics engines are a fundamental component of modern game engines, so learning how to use them optimally is an essential skill. Additionally, knowledge of physics engines can also be applied in other fields, such as virtual reality, simulation, and scientific research. Throughout the course, students will be assessed in multiple ways, including a multiple-choice and short-answer test of core physical concepts, formulae, and their application. They will also create a custom 2D real-time physics simulation and demonstrate advanced physics interactions using a third-party physics system within a game engine. This ensures that students have a comprehensive understanding of the material and can apply their knowledge to practical situations. By the end of the course, students will have developed valuable skills in physics simulation and game development.
Databases are fundamental to the video game industry and are essential for storing and querying player information in multiplayer games. GDP305 Data Management is an exciting introduction to data management that teaches students how to design, create, query, and modify databases using Structured Query Language (SQL) in modern computer games. Ethical design and use of data systems, security, and cryptography are also covered, which are crucial for protecting sensitive player data. This subject gives students practical experience working with databases in a gaming context to prepare them for a career in the gaming industry.
Assessment is based on performing a series of exercises to extract and format data from a database, designing and writing a back-end program that queries a data set, designing a database to a client brief, and writing a report outlining the design and consideration of ethical and privacy issues. Upon completion of this unit, students will have created a connected game project that queries and displays highscore data from an online database, showcasing their skills and knowledge in data management in the video game industry.
In GDP304, you will learn about various AI techniques and algorithms that allow game developers to create immersive and engaging games. You will build on your existing knowledge of programming techniques for games and learn about pathfinding, decision-making, planning, navigation, and more. By applying these concepts to help the AI agents in your simulated game worlds achieve specific goals, you will gain the skills to create more efficient and effective game systems.
Understanding AI techniques and algorithms is crucial for creating convincing and challenging AI opponents, which enhances the player experience and adds realism to games. By mastering AI for games, you will be able to develop more polished and engaging games. You will be assessed on your practical implementation of various AI algorithms and techniques. You will program pathfinding algorithms, create a finite state machine-based AI system, and write a real-time application that demonstrates AI agents implementing artificial intelligence behaviours and decision-making techniques. By the end of the course, you will have the skills and knowledge necessary to create efficient and engaging AI systems for modern games.
GDP306 Multi-threaded programming is a fascinating subject that teaches students about multi-core architecture and how to create a system that can complete more tasks simultaneously, optimizing overall system performance. This subject is crucial to modern video game design, allowing designers to create more realistic graphics, embed smarter artificial intelligence in game characters, and create more complex game worlds with a higher density of game objects. GDP306 builds on the knowledge learned in GDP201 Advanced programming techniques for games and delves into multi-threaded program design and development within modern game development.
In GDP306, students will learn how to communicate between threads, thread synchronization, and hazards in multi-threaded programming, and they will gain an understanding of hardware support for multi-threaded programming in modern console and computer hardware, including cores, processors, and threads. The subject also covers advanced multi-threaded capabilities of modern game engines, such as Entity Component System, C# Job System, and the Burst Compiler in Unity 3D.
The skills and knowledge developed in GDP306 are in high demand in the gaming industry, making this subject valuable for students pursuing a career in game development. Learning is assessed through practical assignments such as designing and implementing a game project using a custom multi-threaded game engine and utilizing the multi-threaded architecture of Unity to design gameplay mechanics and functionality. Students are also required to write a report analyzing multi-threaded game engine architecture.
The Advanced Diploma is a practical and career-focused qualification studied over two years. It focuses on skills required by Game Artists and working as part of game development team. Advanced Diploma graduates who are interested in starting their own studio can continue into the Graduate Diploma.
A Bachelor Degree offers a stronger academic foundation and covers a broader base of knowledge and analytical skills over three years. A degree often allows for more opportunities in terms of career growth and prepares graduates for further postgraduate study at Masters level.
Both programs – Advanced Diploma and Bachelor Degree – will get you industry-ready. Both cover practical skills required by industry and the knowledge required by game programmers. If you are interested in working overseas, having a degree is often a requirement of a work visa.
We hold an interview with every applicant for the Advanced Diploma and Bachelor Degree. We’d love to see what creative and technical work you have produced to understand the skills and knowledge you currently have and your career goals. Most of all we'd like to see code that you have written or software, including games, you have made using any programming language or software tool. If you don’t think you have any relevant work – talk with our Admissions Team who help.
Yes. AIE Institute and the Bachelor of Game Development is accredited by the Tertiary Education Quality and Standards Agency (TEQSA), Australia’s independent national quality assurance and regulatory agency for higher education, regulating the public and private university sector.
In these programs you will develop code for a wide variety of applications including graphics and shaders, game engines, network code, virtual reality applications, calculate interactions in complex 3D simulations. You will develop a series of games with teams of artists, designers and programmers. You will pitch and plan out your game experiences and have a large portfolio of work to impress prospective employers.