Advanced Game Programming
Advanced Game Programming course is designed to train the next generation of game programmers through real game production environment.
The students will learn game programming using various engines, tools set, CG model, and environment. Working closely with the Technical Artists and other CG artist, the game programmer will integrate various elements supplied to them and woven them into a workable game.
The course is designed to use real world game engines. It teaches prospective programmers the necessary tools and program techniques to produce games for next-generation console games and on-line games.
The game programmers will learn different games programming techniques and deployment strategies from Xbox, PlayStation, and Wii; and various mobile platforms and hand-held platforms such as Nintendo DS and PSP, to on-line MMORPG and causal games.
The Course Objectives:
A one year full time intensive course with real world production experience
To prepare an individual who want to be a game programmer
To provide students an understanding of all major CG packages, such as Maya and 3D Max
Math and Physics, AI Primitives, Graphic system, Controller Interaction, Audio, Scripting System, Networking and Multiplayer
To introduce the individuals into scripting languages such as MEL scripts and Max Scripts, C++, Java Script, Direct X, etc..
3D game programming, basic mathematic-such as Vector and Matrix Algebra, Transformations and Planes, Direct3D Foundation-The rendering Pipeline, Drawing in Direct 3D, Color, Lighting, Stenciling, Direct 3D Library, Terrain Rendering, Particle Systems, Advance Texturing, Windows Programming.
To familiar the individual with different hardware architecture such, Xbox, PlayStation, and various PC graphic system, such as nVIDIA and ATI
Implementing CG graphic pipeline with various game engines
Games engine development and its limitation
Creative thinking in resolving technical challenges and limitations
Hands-on learning of real world project and production.
Introduction to Video Game Development
ntroduces the students to the world of video game development and production.
Elements of Game Systems
Introductory module to the different subsystems contained in a computer game.
Modeling and Art Tools for Game Production
Introduces the modeling and art tools commonly used to create game assets and artwork.
The software tools include 3DS Max, Maya, Photoshop, ZBrush and BodyPainter.
Game Programming Tools & Technologies
Introduces the programming tools and technology used in game development.
The software tools include Microsoft Visual Studio 2005, NVidia FX Composer, Direct3D, HLSL and XNA.
Principles of 3D Mathematics for Games
Foundation module in basic 3D mathematics concepts and equations utilized in games.
Principles of Computer Graphics
Foundation module in basic computer graphics concepts and techniques utilized in games.
Advanced Game Programming Modules:
Advanced 3D Mathematics for Games
This module extends on the students’ knowledge gained from the module F3DM: Principles of 3D Mathematics.
Advanced 3D mathematics and how to apply these mathematical concepts in computer games are taught in this module.
Advanced Computer Graphics
This module extends on the students’ knowledge gained from the module FPCG: Principles of Computer Graphics.
Students will be taught key advanced CG techniques as well as important tools and technologies like Direct3D and GPU programming using HLSL.
Interactions between objects in the virtual game world are often modeled after real-life physical interactions.
Students will be taught Newtonian physics and the mathematics involved in resolving collision detection/response. Students will be also taught the application of these key theories to create realistic motion in computer games.
Teaches students in techniques required to create animations of objects and characters in games.
Game Scene Management
This is an advanced module that teaches students how to manage the problems of a complex virtual game world.
The module focuses on teaching key AI techniques used in computer games and its specific uses. Students will study several important AI techniques and how to apply it to game design and development.
Multiplayer & Networking
Multiplayer and networked games are common features in many modern games.
The module teaches the issues involved in the development of these features and the techniques that can be applied to resolve them.
Sound Effects & Music for Games
Sound effects and music helps to make computer games more immersive and engaging.
In this module, students will be exposed to the practical knowledge of how to include music and sound effects in games. Students will get the opportunity to apply basic sound effects in computer games.
Multithreading & Parallel Processing
With the advent of multi-core processors and the new generation of video game consoles like Microsoft Xbox and Sony Playstation, game developers have to embrace multi-threading and parallel processing in order to develop games on these advanced platforms.
This module teaches the key multi-threading and parallel processing concepts. Students will also be introduced to the architectures of the next-generation video game consoles.
Game Design & Production Modules:
Building the Game Team
This is an exercise in creating a small game development team.
Students will be exposed to team dynamics and how to create the right mix of talents for the game team.
This is an exercise in designing a new game.
Students will be guided to create interesting game mechanics or gameplay as well as to consider design issues like creating the “fun” factor and addictiveness to the game that they will develop.
This is an exercise in setting up the game production pipeline.
Game production techniques will be taught to students to help them manage the production process of their game projects.
This is an exercise in the actual development of the student’s game title.
The instructors will be mentoring the students during the actual game development process.