warming up your workspace

Game Development with C#

Build complete browser games from the game loop upward. Learn C# through motion, collision, animation, AI, procedural worlds, game feel, and deterministic state that can be tested instead of guessed from a screenshot.

11 projects, 275 hands-on levels, run in your browser.

Syllabus

  • Foundations: C# Through Game State: 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.
  • Pong from the Game Loop Up: Build a replayable Pong match by connecting fixed-step timing, responsive paddle control, discrete contact, shaped bounces, scoring, seeded serves and point phases. Inspect complete state and event traces while keeping rendering separate from simulation.
  • Breakout and Collision Geometry: Build a deterministic Breakout level from broad-phase candidates, exact circle contact, ordered swept responses, brick health, drops and effects, lives and inspectable replay state.
  • A Responsive Platformer Controller: Compose a responsive controller from gravity, slope tangents, jump timing, ground and air response, translating supports, drop-through, checkpoints and adjustable profiles, with input-attributed replay evidence.
  • Animation and Game Feel: Connect animation state, continuous pose phases, impact timing, live particles, sound requests and camera framing. Build a deterministic scene with independent effect controls and trace each effect to its source event.
  • Enemy Minds and Combat: Build an enemy that senses and remembers targets, chooses known goals, steers, and fights through explicit attack windows. Trace legal state changes, actor-specific health, once-per-attack hits and applied difficulty settings in a replayable encounter.
  • Paths, Waves, and Tower Defence: Build a tower-defence encounter that connects weighted grid routing, scheduled and deferred enemies, target policy, projectile interception and contact, legal purchases, independent slow effects, unique rewards/leaks and an audited replay.
  • Procedural Dungeons: Build a seeded dungeon from room layouts and cave updates, repair all floor components, place content under budget and spacing rules, and inspect the map, routes, stage history and replay evidence.
  • Inventory, Dialogue, and Saving: Build item-specific inventory and crafting, equip owned instances, connect dialogue and quest rewards, retain complete action history, and verify versioned save migration and recovery.
  • Performance and Data-Oriented Worlds: Build reusable object pools, coherent spatial queries, bounded motion scheduling and dense component storage; assemble a replayable crowded world with actual state, trace-derived integrity checks and optional measured frame-time observations.
  • Complete Browser Game: Signal Courier: Design, implement, balance, make accessible, test, and publish Signal Courier: a deterministic top-down extraction game whose controls, combat, content, progression, performance, replay, and release evidence all run in the browser.

Key concepts

  • Collision predicate: A Boolean test over spatial state that decides whether shapes overlap or contact, without relying on their rendered pixels.
  • Delta time: The elapsed time supplied to an update so motion and timers advance by time rather than by an assumed frame count.
  • Deterministic replay: Reconstructing the same state sequence from the same initial state, inputs, time steps, and random seed.
  • Fixed timestep: A simulation update policy that advances state in equal time intervals and carries unused elapsed time into the next render frame.
  • Game state: The complete data required to describe a game at one moment, independent of how that moment is rendered.