| 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 |
| |
| |
| |
| |
| 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
|
| |
| |
| |