warming up your workspace

C# Foundations through Game Development

Learn C# through the values a game actually changes: identity, position, time, health, score, input, collections, vectors, entities, collision, deterministic randomness, and replay. The project ends with a state trace that the browser can animate and the grader can verify frame by frame.

Your First Frame

  1. Give the player an identity
  2. Advance position through time
  3. Measure separation without a square root
  4. Keep an object inside the arena
  5. Mini-project: capture one frame

Rules Become State

  1. Decide whether an entity is alive
  2. Apply damage without impossible health
  3. Turn a streak into a score multiplier
  4. Resolve facing from input
  5. Mini-project: report a damage event

A World Has Many Entities

  1. Add every score event
  2. Count only active enemies
  3. Select the nearest enemy
  4. Advance every entity without rewriting history
  5. Mini-project: summarize an enemy wave

Types with Spatial Meaning

  1. Add two displacement vectors
  2. Measure vector length
  3. Normalize direction safely
  4. Move an entity through its own state
  5. Mini-project: detect circle overlap

Deterministic Replay

  1. Convert timestamps into frame time
  2. Count fixed simulation steps
  3. Build an input snapshot
  4. Generate reproducible spawn positions
  5. Mini-project: produce a replayable trajectory

Explore the full field