Program Menu

Video Game Development

Course Descriptions

- Programming-

Note: To view a course syllabus, click on any course that has a red, bold title.
 
This course serves as an introduction for any student in the Video Games Program to the role of the programmer in the development of a game, what games look like from a programmer's viewpoint, and how programmers translate game designs, artistic specifications and production requirements into code. It will include hands-on programming using C# on the Microsoft XNA Platform(for Windows and Xbox 360) to drive the concepts home. Cross-discipline collaboration, communication and compromise are key concepts in game development.
Prerequisites: None
Required Textbook (Available at the ACC Bookstore): None
 
 
Every game development team will write or adapt tools for making the development easier. They could be simple tools for gathering the game program and data and pushing it to the target device, or could be complex tools like level editors. Since bad tools can sometimes be worse than no tools at all, it is important for a well-rounded game programmer to have thought about the role of tools in a game's development. That is the reason this course is a requirement. Topics include: When should you make a tool?; Common tool patterns; Commercial tools and components; Open source tools and components; Making your user's life easier, even if it makes your job harder; The responsibility of maintenance; Pipelines; Cross team tool issues.
Prerequisites: Video Game Programming, C/C++ Programming Experience or consent of instructor.
Required Textbook (Available at the ACC Bookstore): The Game Asset Pipeline, by Ben Carter, Charles River Media, ISBN: 1584503424
 
This course focuses on optimizing both the games you create and the process by which you create them. Therefore, it covers areas such as performance tuning, debugging, designing for test, software architecture design, AI for game play, object oriented practices for game play, asset management, and coding best practices. It also covers areas such as user metrics and multi-lingual localization techniques.
Prerequisites: Video Game Programming, C/C++ Programming Experience or consent of instructor.
Required Textbook (Available at the ACC Bookstore): None
 

This course is intended for programmers who want to enter the field of game design and development, but who do not have training in game programming techniques including 2D and 3D graphics, sound, and animation needed to complete a game programming project. Topics covered in the course include: Object oriented design of games, discrete event simulation and state machines, managing game time, game GUI implementation, and introduction to 2D and 3D graphics, sound programming, and game design.

Prerequisites: Video Game Programming, C/C++ Programming Experience or consent of instructor.
Required Textbook (Available at the ACC Bookstore): Required: Game Programming in C++: Start to Finish by by Erik Yuzwa, ISBN: 1584504323; Recommended: Computer Graphics, Principles and Practice by Foley, van Dam, et al. ISBN: 0-20-184840-6
 
This course is intended for those students who have a strong desire to be a programmer in the games industry. Topics covered in the course include: implementing multiplayer games using peer to peer and client server models, DirectPlay vs. sockets, creating, transmitting and processing network messages, reliable vs. unreliable message delivery, creating and maintaining a consistent world state, measuring network activity and performance, dealing with high latency/packet loss situations, hacking/cheating detection and prevention.
Prerequisites: Video Game Programming, C/C++ Programming Experience or consent of instructor.
Required Textbook (Available at the ACC Bookstore): None
 
GAME2016 Multiplayer Programming II
This course focuses on programming for Massively Multiplayer (MMP) PC or other large-scale network (XBOX live, for example) platform. Topics include bandwidth management, game security/hack and cheat detection, and supporting a game as a service, including evolving/refreshing content over a long period of time, building patches/versions to the entire game (client and server) and applying them, server architectures, and seamless servers vs. zoned worlds. Also covered are database management systems and their role in the back office of MMP game companies (account management, billing, customer support) as well as in the game (player data persistence, data driven game system, trend analysis).
Prerequisites: Multiplayer Programming I or consent of instructor
Required Textbook (Available at the ACC Bookstore): None
 
This course covers the issues associated with developing for a console, focusing on the unique constraints and requirements. Topics for this course include: dev kits and how to use them, how the debugging cycle is different from other platforms, memory limits, user interface differences, and how to maximize use of what's available on the console.
Prerequisites: Video Game Programming, C/C++ Programming Experience or consent of instructor.
Required Textbook (Available at the ACC Bookstore): Code Complete, Second Edition, by Steve McConnell. ISBN: 0735619670
 
GAME2017 Mobile Programming
This course's focus is on mobile phones and handheld gaming devices. This includes the current spectrum of platforms and APIs, as well as more general information like short development cycles, small screens, player expectations, and cross-platform development.
Prerequisites: Video Game Programming, C/C++ or Java Programming Experience or consent of instructor.
Required Textbook (Available at the ACC Bookstore): tbd
 
This course teaches fundamentals of game audio programming. It will consist of a combination of lectures and programming labs. Lectures will cover basic sound and signal processing theory. Labs will focus on programming audio hardware to load and play 2D and 3D sounds as well as stream audio from external devices. The final project will consist of creating a simple sound library and integrating it into an existing game.
Prerequisites: Video Game Programming, C/C++ or Java Programming Experience or consent of instructor.
Required Textbook (Available at the ACC Bookstore): None
 
GAME 2023 AI/Pathfinding
A working knowledge of what game AI is capable of is essential in designing a game that is both fun to play and challenging to the player. This course will discuss many of the AI challenges involved in the creation of video games. Having an understanding of concepts such as path finding, movement, flocking, agents, scripting, strategy and others will allow the designer to implement smarter features from unit formations and squad strategy, to level of detail and smart camera systems. Other topics include keeping AI runtime overhead low, how developing AI for a single player vs. multiplayer, vs. massively multiplayer game differ. The class will also dissect current games to see how they either 'did' it or 'faked' it.
Prerequisites: Video Game Programming, C/C++ Programming Experience or consent of instructor.
Required Textbook (Available at the ACC Bookstore): tbd
 
GAME 2019 Game Engines
This is a survey of the available commercial and open source gaming engines. Students finishing this course should be able to make educated recommendations for a game engine to fit a specification.
Prerequisites: Video Game Programming, C/C++ Programming Experience or consent of instructor.
Required Textbook (Available at the ACC Bookstore): tbd
 
GAME 2018 Mathematics in Games
This course offers a foundation in the theory and practice of mathematics and physics for 2D and 3D video games. For 2D games: coordinate systems and spaces, geometric primitives, vectors and vector operations, matrices and transformations, and basic physics concepts related to modeling and simulation. For3D games:3D vectors, 3D matrices and matrix transformations, general four-dimensional transforms and 3D engine geometry; ray tracing, lighting, visibility, polygonal techniques, forces, rotational physics and collisions, numerical methods, differential equations, fluid simulation, real-time simulation, and real-world physics. Also covered are efficiency improvements and "fooling" the system.
Prerequisites: Video Game Programming, C/C++ Programming Experience or consent of instructor.
Required Textbook (Available at the ACC Bookstore): Fundamentals of Math and Physics for Game Developers, by Wendy Stahler, Pearson Prentice Hall, 2006, ISBN 0-13-168742-5; 3D Math Primer for Graphics and Game Development, by Fletcher Dunn and Ian Parberry, Wordware, 2002, ISBN 1-55622-911-9
 
ITSE 1007 C++ Programming for Game Programmers [Preparatory course only. Not applicable towards certificate.]
Introduction to the basics of C++ for the new game programmer, covering such topics as pointers, arrays, input/output, and loops. Instruction and practice in the use of language features that support an object-oriented approach to writing large and complex applications and systems. Emphasizes syntax and constructs of C++. Upon completion the student will be able to write a complete application in C++.
Prerequisites: Programming experience
Required Textbook (Available at the ACC Bookstore): C++ For Game Programmers by Mike Dickheiser. ISBN: 1-58450-452-8