CSE 788.14 - Special Topics: Advanced Game Design
Syllabus
Instructor: Roger Crawfis
Course Time / Place: TR 3:30-4:48, DL-280
Office: 683 Dreese Labs
Telephone: 292-2566
e-mail: crawfis [at] cse [dot] ohio-state [dot] edu
Course URL: http://www.cse.ohio-state.edu/~crawfis/cse788GameDesign/index.html
Course Wiki:
Course Summary
This is a project-oriented course on Game Design and Game Programming. Students
will work in teams to design, implement and test a three-dimensional game with
interactivity, animation, sound, constraints, and networking capabilities. We
assume the student is already a graphics expert and we will cover the software
engineering and control/state aspects of developing a high-end video game.
Objectives
This is a project oriented course aimed at advanced development. It should
be able to be used as a Capstone course in Engineering. In particular, the student
will emerge from the course with:.
- Mastery of event-based programming
- Mastery of resource management as it relates to rendering time, including
level-of-detail and culling.
- Familiarity with the various components in a game or game engine.
- Familiarity with leading open source game engine components.
- Familiarity of game physics.
- Familiarity with game animation.
- Exposure to network-based gaming issues.
- Exposure to AI for games
Prerequisites: CSE
581, CSE
630, and CSE
560. Fluency in C++ and object-oriented software development. Recommended:
CSE 781 and/or
CSE 682.
Texts (To be Determined)
Topics (Tentative)
These are unordered. See the Schedule page for
the presentation order.
- Game Genre (FPS, RGP, MMORPG, Racing, etc.)
- Software Engineering for games (Object-oriented, Plug-in architectures)
- Modern Game Engine components and structure
- The Ogre3D game (graphics) engine
- Skeletal animation and tools
- User input and control (keyboard, mouse, joystick, gamepad, ...)
- Three-dimensional sound (OpenAL, DirectSound, DirectMusic, FMod)
- Scene Managers (Octrees, Cell-Portals, Terrain paging, BSP-Trees)
- Collision detection
- Testing for games
- Physics engines (ODE, GanstraWrapper, etc.)
- Scripting (Lua, Python, etc.)
- Networking and cheating (Client-server, Peer-to-Peer, scaling)
- Multi-threading (Synchronization, game balance)
- Performance analysis (GPU counters, VTune, etc.)
Curriculum Committee Materials
Last Modified
January 20, 2006