CIS 580 - Foundations of Game Programming

GitHub Classroom

For this semester, we will be utilizing Github Classroom for distributing and turning in project files. You can find the classroom here.

Lecture Notes

  1. Syllabus
  2. Thinking in Grids
  3. Basic Collisions
  4. Frame-based Animation
  5. Managing Entities
  6. Resource Management
  7. Transformations
  8. Vector Library
  9. Separating Axis Theorem

External Resources

  1. Game Programming Patterns (Online Textbook)
  2. Math for Game Developers (Youtube Channel)
  3. Separating Axis Theorem (Blog Post)

Software

  1. Tiled Map Editor

Example Code

  1. Pool
    • Newtonian Mechanics
    • Multiphase Collision Detection
    • Simplified Axis Lists
    • Mouse Events
  2. Helicopter Game
    • Parallax Scrolling
    • World/Screen Transformations
    • Object Pools
    • Sprite Rendering
    • Mouse and Keyboard Events
  3. Lightbikes
    • Networked gameplay with websockets 4. Tilemap
    • Tilemaps
    • Loading tilemaps created with Tiled
  4. Pathfinding
    • A-Star, Best-First, Greedy, and Breadth-first pathfinding visualizations
    • Enhanced tilemap engine using Tiled maps.