CSC 470 - Game Programming

American University | Fall 2024

Professor Mike Treanor, PhD, MFA

Dates

8/26/2024 - 12/14/2024

Time: Tuesday and Friday 12:55 PM - 2:10 PM

Location: Kogod School of Business 233

Office Hours

Time: Directly after most classes Location: DMTI 112B

Don Myers Building - TBD

Description

This course introduces students to design and production-oriented aspects of game development as well as technical and programming skills. Technical topics include key game algorithms, physical simulation, artificial intelligence, and interface design.

Assignments

Assignment Due
1. Interactive Fiction (Introduction to C#) 9-3-24
2. Environment Setup 9-6-24
3. Rube Goldberg Machine 9-13-24
4. Flight Simulator 9-24-24
5. Emergence Game 10-15-24
6. Platformer 10-29-24
7. Units 11-22-24
8. Final 12-13-24

Examples

Date Topic Code Playable
8-30-24 C# Basics link N/A
9-3-24 First Unity Project link play
9-6-24 Component-based Game Engine Pseudocode link N/A
9-6-24 Rolling Turkey link play
9-10-24 Basic triggers, and changing UI text link play
9-13-24 / 9-17-24 / 9-20-24 Moving game objects with code, forward vector, positioning the camera with code, terrain ‘collision’, invisible walls, updating simple UI link play
9-24-24 Instantiating prefabs, positioning objects using sine, changing colors using HSB link play
9-27-24 Instantiating a grid of clickable cells, counting neighbors in the grid, evolving the grid with the rules of Conway’s Life, a first person controller link play
10-15-24 Platformer controls (with CharacterController), basic dash, basic fine tuning of controls link play
10-29-24 through 11-15-24 Clicking on Units, Raycasting, Populating UI, AI Navigation (NavMesh), Observer Pattern (Actions) link play
11-22-24 Timed events, sequencing code using Coroutines, UI Meters link play

Rough Topic List

Topic
C# and Interactive Fiction
Unity: Interface, Assets, Hierarchy, Using Physics
Components, Using External Code Assets
Components: Input / Physics
Collisions and triggers, basic UI
Flight sim. Instantiation, prefabs
Terrains, ProBuilder
3d platformer, custom controller
Clicks, Inter-GameObject Communication
Animation
UI
Simulation and UI
2d platformer

Previous semester

Link to a previous semester’s website