Academy of Interactive Entertainment
Advanced Diploma
Professional Game Development (Programming)
Introduction to C++
-
Introduction to Programming
-
Introduction to C++
-
Variables
-
Conditional Statements
-
Loops
-
Functions
-
Comments
-
IDE Usage
-
The Callstack
-
Arrays
-
Character Arrays
-
Constants and Typedef
-
Structures
-
Memory, the Stack and Heap
-
References
-
Classes
-
Constructors and Destructors
-
Inheritance and Polymorphism
-
Operator Overloading
-
Templates
-
Function Pointers
-
Standard Template Library
-
File I/O
-
STL String
-
The auto Keyword
Code Design and Data Structures
-
Pseudocode
-
Object Orientated Data
-
UML
-
Algorithms
-
Algorithm Efficiency and Big-O
-
Sorting
-
Search
-
Containers and Dynamic Arrays
-
Lists
-
Stacks and Queues
-
Graphs
-
Trees
-
Heaps
-
Hashing and Hash Tables
-
Design Patterns
-
Unit Testing
-
Version Control
Maths for Games
-
Libraries
-
Binary
-
Math Formula
-
Graph Functions
-
Trigonometry
-
Interpolation and Curves
-
Probability and Curves
-
Points and Vectors
-
Matrices
-
Matrix Hierarchies
-
Frame Independent Movement
-
Linear Motion
-
Geometry
-
Intersection and Collision Detection
-
Collision Resolution
Introduction to C#
-
Managed Languages
-
Introduction to C#
-
Interfaces
-
.NET Memory Management
-
Properties
-
Type Conversion
-
Delegates and Event Handling
-
WinForms
-
Serialization
-
GDI
-
Reflection
-
Attributes
-
LINQ
-
Managing Errors
Artificial Intelligence
-
Artificial Agents
-
Finite State Machines
-
Steering Behaviour
-
Blackboards
-
Pathfinding
-
Decision Trees
-
Behaviour Trees
-
Flocking
-
Advanced Navigation Techniques
-
Planning
-
Game Trees
Computer Graphics
-
Introduction to Open GL
-
Cameras and Projections
-
Rendering Geometry
-
Textures
-
Direct Lighting
-
Procedural Generation
-
Graphical User Interfaces
-
Particle Systems
-
Quaternions
-
Animation
-
Scene Management
-
Render Targets
-
Post-Processing
-
Shadows
-
Physically-based Lighting
-
Deferred Rendering
-
High Dynamic Range
-
Image-based Lighting
-
GPU-based Particle Systems
-
Tessellation
-
Volume Rendering
Cross-Platform Development
-
Writing Documentation
-
Introduction to Unity 3D
-
MonoBehaviours
-
Prefabs
-
Input
-
Unity Collision
-
Cameras
-
Effects
-
Canvas
-
Mechanim
-
Sprites
-
Nav Mesh
-
Deploying a Build
-
Deploying to PC
-
Creating an Installer
-
Deploying to Android
-
Deploying to iOS
-
Deploying to Web
-
Extending the Editor
-
Optimisations
-
Case Study: 2D Platformer
-
Case Study: 3D Platformer
-
Case Study: Driving Game
-
Case Study: 2D Puzzle Game
Physics For Games
-
Introduction to Physics
-
Linear Force and Momentum
-
Projectile Physics
-
Collision Detection
-
Collision Response and Friction
-
Rotational Force
-
Joints and Springs
-
Rigid Body Dynamics
-
Collision Shape Hierarchies
-
Mesh-based Collision Detection
-
Motors and Impulse
-
Ragdoll Physics
-
Kinematics and Player Controllers
-
Fluid Dynamics
-
Soft Bodies
-
Swept Collision Detection
-
Performance Optimisations
Complex Game Systems
-
Threading
-
Cache Coherence
-
GPGPU
-
Behavioural Mathematics
-
Fuzzy Logic
-
Machine Learning
-
Networking
-
Audio
-
Automated Build Systems
-
Analytics
-
Scripting
-
Markov Chains
GROUP UNITS (Working in teams with other Programmers, Artists and Designers)
-
Production Teams
-
Self teaching Premiere Pro
-
-
Practice Production
-
Extra tasks: Level Design
-
Extra tasks: Enemy Art
-
-
Proof of Concepts
-
Wrote detailed Technical Design Document
-
-
Major Production
-
Wrote detailed updated Technical Design
Document -
Wrote updated Design Document
-
Extra Tasks: Concept Art
-
Extra Tasks: Sound Integration
-