Apr 24, 2024  
2022-2023 College Catalog 
    
2022-2023 College Catalog [ARCHIVED CATALOG]

GAM 150 - Game Programming I

4 Credits, 5 Contact Hours
3 lecture periods 2 lab periods

Iterative game programming using Unity and intermediate C features. Includes spatial math, version control, serialization, real-time mesh manipulation, character animation, rendering, and creating multiple games.



Course Learning Outcomes
  1. Represent movement across a coordinate system using multiple control methods.
  2. Build and compile binaries for multiple platforms.
  3. Use a version control system to collaborate on software projects.
  4. Save and load data from permanent storage.
  5. Discuss how meshes are fundamentally composed and decomposed.
  6. Use intermediate C# and Unity features.
  7. Use intermediate programming design patterns.
  8. Create multiple actual games.

Outline:
  1. Spatial Math
    1. Coordinate systems
    2. Directionality
    3. Linear functions
    4. Quaternions
  2. Version Control
    1. Ignoring files
    2. Commiting
    3. Pushing
    4. Pulling
    5. Branching
    6. Merging conflicts
  3. Serialization
    1. Key value pairing
    2. Scriptable objects
    3. Binary
    4. JSON
    5. XML
  4. Rendering
    1. Camera projection
    2. Light
    3. Shaders
    4. Render textures
    5. Full screen image effects
  5. Meshes
    1. Vertices
    2. Triangles
    3. Normals
    4. Metadata
    5. Scripting mesh data
    6. Common degenerations
  6. Animation
    1. 2D characters
    2. 3D characters
    3. Bones
    4. State machines
    5. Blend trees
  7. Design Patterns
    1. Inheritance
    2. Interfaces
    3. Singletons
    4. Factories
    5. MVC
  8. Optimization
    1. Performance profiling
    2. Garbage collection
    3. Object pooling
    4. Batching