All roadmaps

Roadmap to a job

Game Developer

A game developer builds the interactive systems behind games, gameplay mechanics, physics, AI, rendering, and tools

5 stages · 22 skills · 41 free resources

Core stack

UnityGodotC++CGit

Track your progress

0 / 27 done

  1. Stage 01

    Stage 1, Programming Foundations

    Get genuinely fluent in ONE language (C# for Unity/2D, or C++ for engine/AAA) so you can write, run, and debug real programs without copying tutorials line by line.

    Commit to one language: C# or C++Essential

    C# is a statically typed, garbage-collected language developed by Microsoft and used as the primary scripting language in Unity and Godot. C++ is a high-performance systems language that underpins Unreal Engine and most AAA engine internals. Both languages support object-oriented and generic programming, but differ significantly in memory management, compile model, and runtime overhead.

    Why it matters · Every major engine is driven by one of these, and deep fluency in one beats shallow exposure to both; choose C# for fast results (Unity/Godot) or C++ if you are aiming at AAA/engine work.

    Core programming conceptsEssential

    Core programming concepts encompass variables, data types, control flow (conditionals and loops), functions, and object-oriented principles such as classes, inheritance, and polymorphism. They also include how values and references behave in memory. These fundamentals form the shared vocabulary across all game engines and programming languages.

    Why it matters · Variables, control flow, functions, classes and inheritance, and how references/memory behave are the vocabulary of all gameplay code; without them, every engine tutorial is just transcription.

    Data structures and algorithms (working knowledge)Recommended

    Data structures are organized formats for storing and accessing data, including arrays, linked lists, dictionaries (hash maps), queues, and stacks. Algorithms are step-by-step procedures for solving computational problems, often evaluated by Big-O complexity. Working knowledge of both is required to write efficient gameplay logic and tools code.

    Why it matters · Arrays, lists, dictionaries/maps, and a feel for Big-O recur constantly in gameplay and tools code, and they show up explicitly in postings and interviews.

    Command-line and debugging basicsRecommended

    The command line is a text-based interface for running programs, navigating file systems, and invoking build tools. Debugging is the process of locating and fixing errors in code using techniques such as reading stack traces, setting breakpoints, and stepping through execution in an IDE debugger. These skills are foundational for diagnosing runtime failures in any development environment.

    Why it matters · Reading a stack trace, setting breakpoints, and stepping through code is what separates people who finish games from people who get stuck; debugging fluency is assumed in nearly every team.

  2. Stage 02

    Stage 2, Game Math and Core Concepts

    Internalize the small, high-leverage math behind movement, collisions, and 3D space, and understand how a game runs under the hood (the loop, delta time, frames).

    Vectors, dot/cross product, basic trigEssential

    A vector is a mathematical object with magnitude and direction, used in games to represent positions, velocities, and orientations in 2D or 3D space. The dot product measures the angle between two vectors, and the cross product produces a vector perpendicular to both, enabling calculations for facing direction, surface normals, and line-of-sight. Basic trigonometry (sine, cosine, tangent) provides the tools for circular motion, angle conversion, and spatial reasoning.

    Why it matters · Vectors encode position, direction, and velocity, while dot and cross products power aiming, facing, line-of-sight, and surface normals, this is the math you reach for every day.

    Matrices and transforms (translate / rotate / scale)Recommended

    A matrix is a rectangular array of numbers used in 3D graphics to represent spatial transformations. Translation, rotation, and scale operations are encoded as matrices and combined by multiplication to produce a single transform that describes an object's position and orientation in world space. Understanding matrices is essential for working with cameras, hierarchical scene graphs, and coordinate space conversions.

    Why it matters · Every object's position and orientation is a transform; grasping matrices demystifies cameras, parenting, and why rotations behave the way they do.

    The game loop, frames, and delta timeEssential

    The game loop is the central execution cycle of a game, repeatedly processing input, updating game state, and rendering each frame. A frame is one complete pass through this cycle, and frame rate measures how many pass per second. Delta time is the elapsed duration of the previous frame, used to scale movement and physics so behavior remains consistent regardless of frame rate.

    Why it matters · Understanding the update/render cycle and frame-rate-independent movement (scale by delta time) is the concept beginners most often get wrong, producing physics that breaks on faster machines.

    Basic game physics and collision detectionRecommended

    Game physics simulates real-world forces such as velocity, acceleration, and gravity to produce believable object motion. Collision detection determines when two objects occupy overlapping space, using techniques such as axis-aligned bounding boxes (AABB) and raycasts. Most engines provide built-in physics solvers, but understanding the underlying concepts is necessary to configure and extend them correctly.

    Why it matters · Velocity, acceleration, gravity, and AABB/raycast collisions underpin almost every genre; you will lean on the engine's physics but must understand what it is doing.

  3. Stage 03

    Stage 3, Pick and Learn One Engine

    Reach real productivity in a single engine: move around the editor, script behavior, wire up scenes, handle input, build UI, and run a project end to end. Resist engine-hopping.

    Unity 6 (C#), strongest market for generalistsEssential

    Unity is a cross-platform game engine that uses C# for scripting and supports 2D, 3D, AR, VR, and mobile targets. Unity 6 introduced improved rendering pipelines, better multiplayer tooling, and a more stable version of the Entity Component System (ECS/DOTS). It is widely used for indie, mobile, and mid-tier commercial projects, and its asset store and learning resources make it accessible for new developers.

    Why it matters · Unity has the deepest pool of junior openings and the most beginner-friendly free curriculum, and its Junior Programmer pathway is built specifically to take you to job-ready.

    Unreal Engine 5 (C++ plus Blueprints), AAA / high-fidelity trackRecommended

    Unreal Engine 5 is a high-fidelity game engine developed by Epic Games, primarily written in and extended through C++. Blueprints is its visual scripting system, allowing logic to be authored as node graphs without writing C++ directly. UE5 features include Nanite virtualized geometry, Lumen global illumination, and a robust toolset for large-scale AAA and cinematic productions.

    Why it matters · Unreal dominates AAA and high-fidelity studios, and pairing visual Blueprints with C++ mirrors how real UE teams work, opening the door to the highest-paying roles.

    Godot 4 (GDScript / C#), indie, 2D, fully open-sourceOptional

    Godot 4 is an open-source, MIT-licensed game engine that supports both 2D and 3D game development. It offers GDScript, a Python-like language designed for the engine, alongside official C# support and GDExtension for C++ bindings. Godot uses a node-and-scene architecture and is well suited for indie developers and small teams due to its lightweight footprint and lack of licensing fees.

    Why it matters · Lightweight, free, and ideal for 2D and solo work; a fast path to actually finishing games, though it carries fewer corporate listings than Unity or Unreal.

    Input, scenes, prefabs/nodes, and UIEssential

    Input systems in game engines map hardware events (keyboard, mouse, gamepad) to named actions that gameplay code responds to. A scene is a discrete, saved collection of objects that forms a level, menu, or reusable asset. Prefabs (Unity) and packed scenes or nodes (Godot) are reusable object templates, while UI systems provide tools for building heads-up displays, menus, and interactive overlays.

    Why it matters · Wiring player input, composing scenes from reusable objects, and building menus and a HUD are the day-one mechanics of any game, where engine knowledge becomes real output.

  4. Checkpoint

    Don't wait, start applying

    You don't have to finish the path to begin. Early applications and interviews show you exactly what to learn next.

  5. Stage 04

    Stage 4, Gameplay Architecture and Production Skills

    Move from 'I can script a tutorial' to 'I can structure a maintainable game.' Learn the patterns, tooling, and workflow that keep a project alive past the prototype stage.

    Game programming patterns (state, component, observer, object pool)Essential

    Game programming patterns are reusable solutions to recurring structural problems in game code. The state pattern manages objects that shift between distinct modes (idle, running, attacking). The component pattern composes behavior from small, independent modules. The observer pattern decouples event producers from listeners, and the object pool reuses pre-allocated instances to avoid frequent memory allocation at runtime.

    Why it matters · These patterns are the line between spaghetti scripts and extendable code; the state-machine and component patterns alone resolve most beginner architecture pain.

    Entity Component System (ECS) and data-oriented designRecommended

    Entity Component System (ECS) is an architectural pattern that separates identity (entities), data (components), and logic (systems), replacing class hierarchies with composition. Data-oriented design arranges component data contiguously in memory so that systems can process large arrays of homogeneous data efficiently, reducing cache misses. Unity's DOTS (Data-Oriented Technology Stack) and custom engines such as Bevy use ECS as their primary runtime model.

    Why it matters · Modern engines (Unity's ECS/DOTS, custom engines) lean on ECS for performance at scale, and composition-over-inheritance is increasingly expected for systems roles.

    Version control: Git with Git LFS (plus awareness of Perforce)Essential

    Git is a distributed version control system that tracks changes to source code and enables branching and merging across teams. Git Large File Storage (LFS) extends Git to handle binary assets such as textures, audio, and 3D models efficiently by storing them outside the main repository history. Perforce Helix Core is a centralized version control system widely used in AAA game studios for managing large binary asset repositories.

    Why it matters · Non-negotiable on every team and named explicitly in postings; use Git plus LFS for binary assets when solo, and know that many studios, especially Unreal shops, run Perforce/Helix Core.

    Profiling, optimization, and in-engine debuggingRecommended

    Profiling is the process of measuring where a running program spends its CPU and GPU time, memory, and other resources. Game engines provide built-in profilers that show frame timing, draw call counts, garbage collection events, and per-system costs. Optimization uses profiling data to identify and resolve bottlenecks so the game consistently meets its target frame budget.

    Why it matters · Games have to hold a frame budget, and reading the profiler to hunt CPU/GPU/garbage-collection spikes is a core professional skill that pure tutorial-followers never build.

    Asset pipeline basics (Blender import, sprites, audio)Optional

    An asset pipeline is the workflow for creating, processing, and importing raw media files (meshes, textures, sprites, audio clips) into a game engine in a form it can use at runtime. Blender is an open-source 3D application used to author and export meshes and animations in formats such as FBX or glTF. Understanding import settings, texture compression, and audio format trade-offs allows developers to control asset quality and build size.

    Why it matters · Even programmers must import and wire up art and audio, so light Blender and 2D-asset literacy makes you self-sufficient on prototypes and jams.

  6. Stage 05

    Stage 5, Specialize, Ship, and Build a Portfolio

    Finish and publish several small games, then go deep in ONE specialization (gameplay, graphics, AI, or networking). A portfolio of three to five completed, polished projects is the actual job ticket, far more persuasive than any credential.

    Finish and publish small games (scope management)Essential

    Scope management in game development is the discipline of defining and constraining a project's features to a set that can realistically be completed and polished within available time and resources. Finishing a game requires iterating toward a shippable state: cutting features, fixing bugs, and releasing publicly through platforms such as itch.io or the app stores. Completed, playable projects serve as concrete demonstrations of a developer's end-to-end skills.

    Why it matters · Teams trust shipped, playable work over credentials; finishing tiny games trains scoping, the most make-or-break habit in this field, and builds a public portfolio.

    Gameplay programming (mechanics, systems, controllers)Recommended

    Gameplay programming is the discipline of implementing the rules, interactions, and feedback systems that define how a game is played. It covers character controllers (movement, jumping, collision response), core mechanics (combat, inventory, dialogue), and the systems that connect them. Gameplay programmers work closely with designers to translate design intent into responsive, bug-free runtime behavior.

    Why it matters · The most common junior specialization: implementing the moment-to-moment mechanics, character controllers, and systems that decide how a game feels to play.

    Graphics / rendering and shadersOptional

    Graphics programming involves writing code that controls how geometry, lighting, and post-processing effects are rendered to the screen using GPU hardware. Shaders are small programs written in languages such as HLSL (DirectX) or GLSL (OpenGL/Vulkan) that run on the GPU to determine the color and appearance of surfaces. Rendering engineers work with rasterization pipelines, ray tracing, physically based rendering (PBR) materials, and engine-level graphics abstractions.

    Why it matters · A high-value, hard-to-fill specialization; learning the GPU pipeline and writing shaders (HLSL/GLSL) is the road to graphics and engine-programmer roles.

    Game AI (pathfinding, state machines, behavior trees)Optional

    Game AI refers to the algorithms and systems that govern non-player character decision-making and movement. Pathfinding algorithms such as A* compute optimal routes through a navigation mesh (navmesh) to move agents around obstacles. Finite state machines and behavior trees are hierarchical structures used to model complex NPC logic, allowing characters to transition between goals and actions in response to game state.

    Why it matters · Enemy behavior, navmesh pathfinding (A*), and decision systems form a distinct, in-demand niche that postings list under 'AI'.

    Multiplayer / networkingOptional

    Multiplayer game networking involves synchronizing game state across multiple clients connected over a network, typically through a client-server or peer-to-peer architecture. Core techniques include client-side prediction (applying input locally before server confirmation), lag compensation (correcting for network latency when resolving hit detection), and state interpolation. Developers use dedicated transport layers, relay services, and engine-provided networking frameworks such as Unity Netcode or Unreal's Online Subsystem.

    Why it matters · A specialized, well-paid track; client-server architecture, client-side prediction, and lag compensation are the canonical techniques behind responsive online play.

  7. Land the job

    Turn these skills into offers

    ResuMax takes you from skilled to hired: a resume that proves it, applications tailored per role, and interview reps.

Train on this path

Atlas reads your resume, shows what you already have on this path, and coaches the gaps in order.

Map my resume