Game Developer

roadmap.sh: https://roadmap.sh/game-developer

Suggested path through the Game Developer nodes. Each node links to its lesson when written.

Nodes

Foundations

  • What is a game / game loop
  • History of game development
  • Game development life cycle
  • Roles in a game team
  • 2D vs 3D games
  • Game genres

Programming Fundamentals

  • Data structures & algorithms
  • Object-oriented programming
  • Design patterns
  • Memory management
  • Multithreading & concurrency
  • Debugging & profiling

Programming Languages

  • C++
  • C#
  • C
  • Lua (scripting)
  • Python (tooling / prototyping)
  • Rust

Mathematics

  • Linear algebra
  • Vectors & matrices
  • Quaternions
  • Trigonometry
  • Geometry
  • Calculus basics

Physics

  • Kinematics & forces
  • Collision detection
  • Collision resolution
  • Rigid body dynamics
  • Soft body & cloth
  • Physics engines (PhysX, Box2D, Bullet)

Graphics Programming

  • Rendering pipeline
  • Rasterization
  • Shaders (vertex / fragment)
  • Lighting & shading models
  • Textures & materials
  • OpenGL
  • Vulkan
  • DirectX
  • Metal
  • Ray tracing

Game Engines

  • Unity
  • Unreal Engine
  • Godot
  • GameMaker
  • Building your own engine
  • Entity Component System (ECS)
  • Scene & asset management

Core Game Systems

  • Input handling
  • Animation
  • Audio & sound
  • Particle systems
  • UI / HUD
  • Camera systems
  • State machines
  • Save / load systems

Artificial Intelligence

  • Pathfinding (A*, navmesh)
  • Finite state machines
  • Behaviour trees
  • Steering behaviours
  • Decision making & utility AI

Game Design

  • Core game loops & mechanics
  • Level design
  • Balancing
  • Progression & economy
  • Prototyping & playtesting

Tools & Workflow

  • Version control (Git)
  • Asset pipeline
  • Build systems
  • CI/CD for games
  • Profilers & analyzers

Platforms & Distribution

  • PC
  • Consoles
  • Mobile
  • Web (WebGL / WebAssembly)
  • VR / AR
  • Steam & storefronts
  • Monetization models

Resources

See resources.md.

Project ideas

  • Build a complete 2D platformer in Godot or Unity with input, physics, animation, audio, and a save system.
  • Write a small software rasterizer or shader in C++/OpenGL that renders a lit, textured 3D model from scratch.
  • Implement A* pathfinding plus a behaviour tree for an enemy that patrols, chases, and retreats in a top-down prototype.

1 item under this folder.