Help Icon

ETG8014

Course
ETG8014
Course Title
Video Game Design and Development

Description

Video game design and development is challenging, but the rewards are worth it. With this unparalleled comprehensive training program, you’ll master skills that open doors to the growing video game industry.

Using a comprehensive and analytical approach to game engine architectures, this program offers you the opportunity to learn how to effectively implement game ideas. The curriculum is divided into eight modules covering five major areas of study: programming languages, mathematics skills, 3D graphics pipeline programming, real-time game engine architectures, and artificial intelligence algorithms. Developing and managing the complex environments for games and related visualization applications is a challenging task, but with the right training and professional guidance, the challenge becomes much less daunting.  Offered in partnership with ed2go. 

To enroll in this program, you need to have a reasonable familiarity with computers and a background in high school-level mathematics. No prior game or graphics programming experience are necessary.

The Video Game Design and Development program is for you if you seek a professional career as a game developer. It’s also well-suited for enthusiastic amateurs and gamers looking to explore this exciting field as a recreational endeavor.

Objectives

Upon successful completion of this program, you’ll:

  • Understand the core programming language skills necessary for game development
  • Have a sufficient level of proficiency in the areas of mathematics common to almost all game projects
  • Gain a thorough understanding of the main concepts involved in real-time 3D graphics programming

Content

I. C++ Programming for Game Developers I
A. How to Create a C++ Program, Console Input and Output, Variable, and Arithmetic Operators
B. Logical Operators, Controlling Program Flow, Repetition, and Arrays
C. Functions
D. References and Pointers
E. Classes and Object-oriented Programming Design
F. Strings
G. Operator Overloading
H. File Input and Output
I. Inheritance and Polymorphism

II. C++ Programming for Game Developers II
A. Template Classes and Template Functions
B. Error Handling
C. Number Systems, Data Representations, and Bit Operations
D. The Standard Template Library
E. Introduction to Windows Programming
F. Menus and Drawing With GDI
G. Dialog Boxes
H. Timing, Animation, and Sprites
I. Designing and Implementing a 2D Game

III. Math Primer
A. Real Numbers
B. Algebra
C. Analytic Geometry
D. Triangles

IV. Graphics Programming With DirectX 9 I
A. 3D Mathematics
B. The Transformation and Lighting Pipeline
C. Initializing Direct3D
D. Vertex and Index Buffers
E. Single and MultiTexture Effects
F. Camera Management Systems
G. Compressed Textures
H. Texturing and the Texture Blending Cascade
I. Alpha Blending
J. Loading GILES Scenes

V. Game Mathematics
A. Set Theory and Functions
B. Polynomials
C. Trigonometry
D. Vector Mathematics
E. Matrix Mathematics
F. Quaternion Algebra
G. Linear Transformations
H. Analytic Geometry

VI. Graphics Programming With DirectX 9 II
A. The D3DX Mesh Containers
B. Progressive Meshes
C. Scene Hierarchies
D. Keyframe Animation
E. Indexed and Non-indexed Vertex Blending
F. Software and Hardware Skinning Techniques
G. Skeletal Animation
H. Tree Animation and Rendering
I. X Files
J. Motion Blending
K. Collision Detection and Response
L. Quadtrees, Octrees, and kD-Trees
M. Binary Space Partitioning (BSP) Trees and Potential Visibility Sets (PVS)

VII. Artificial Intelligence for Game Developers
A. Decision Making
B. Grid Traversal and Search Algorithms
C. Path finding with A*
D. Flocking Behaviors
E. Finite State Machines
F. Scripting
G. Squad Level AI
H. Waypoint Networks
I. AI Engine Integration

Method of Instruction

Online

Evaluation

Class participation