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.