roadmaps / game-developer
How to become a game developer
A practical, stage-by-stage path from beginner to shipping your own games — pick an engine, learn the craft, and build a portfolio. Free tools and resources at every step.
› Work the stages in order — and above all, finish small games. Shipping tiny games beats starting a dream one.
› Every tool and resource here is free. Godot is fully free and open source — the ideal first engine.
› Scope down, always. Your first game should be finishable in a weekend, not a year.
Game development is one of the most rewarding ways to learn programming — you build something you can actually play, and a portfolio of finished games is your ticket in. It combines code, art, and design, which makes it broad; the secret that separates people who make it is simple: finish and ship small games. These eight stages take you from your first line of code to a published game and the skills to get hired.
STAGE 01 / 08
Programming foundations
Games are code, so learn to program. The core concepts — variables, loops, conditionals, functions, and object-oriented programming — are what every engine builds on. The language depends on your engine (GDScript or C# for Godot/Unity, C++ for Unreal), but the fundamentals transfer.
Don't get stuck in theory: learn just enough to start making things move on screen, then keep learning as you build.
STAGE 02 / 08
Choose a game engine
An engine handles the hard parts — rendering, physics, input — so you can focus on your game. Godot is completely free, open source, and beginner-friendly (the ideal first engine). Unity powers a huge share of indie and mobile games and is the most-hired skill; Unreal is the powerhouse behind AAA visuals. Pick one and commit.
Install it, follow the "make your first game" tutorial, and get a sprite moving. That's the moment it becomes real.
STAGE 03 / 08
Game dev fundamentals
Games share common building blocks regardless of engine: the game loop, handling input, collision detection, basic physics, sprites and animation, sound, and managing game state (menus, levels, scores). Learn these concepts and the patterns that keep game code clean.
Harvard's free CS50 Games course teaches these by rebuilding classics like Pong and Mario — a fantastic, structured foundation.
- CS50's Intro to Game Development (Harvard) ↗Harvard's free course — build clones of Pong, Mario, and Zelda while learning the fundamentals.cs50.harvard.edu
- Game Programming Patterns (free book) ↗A free, beloved book on the design patterns that keep game code clean and fast.gameprogrammingpatterns.com
STAGE 04 / 08
Build a 2D game
Start in 2D — it's far simpler than 3D and lets you focus on making a game fun rather than fighting cameras and models. Build a small, complete 2D game: a platformer, a top-down shooter, a puzzle. Add a start menu, a win/lose state, sound, and a score. Finishing it — even if it's tiny — teaches you more than any tutorial.
GDQuest's free tutorials are excellent for Godot; Unity and Unreal have great free 2D learning too.
STAGE 05 / 08
3D & art with Blender
When you're ready for 3D, the concepts extend: 3D space, cameras, lighting, and models. Games also need art, and the industry-standard tool is Blender — free and powerful enough for professional work. Learning to model and texture even simple assets makes you far more self-sufficient.
3D is a bigger undertaking; take it once you've shipped a 2D game and want to level up.
STAGE 06 / 08
Game design principles
Technical skill makes a game work; design makes it fun. Learn the fundamentals: core loops, player feedback, difficulty and pacing, progression, and "juice" (the small effects that make actions feel satisfying). Study games you love and ask why they're enjoyable.
Great design is what separates a tech demo from a game people want to play — and it's a skill you build by making and playtesting.
STAGE 07 / 08
Ship a game
Finishing and releasing a game is the milestone that matters most. Polish a small game, export it, and publish it — itch.io is the free, indie-friendly platform where most first games launch. A great way to force yourself to finish is a game jam: build a small game in a weekend around a theme.
A public game people can play is worth more than any amount of half-finished projects. Ship early, ship often.
STAGE 08 / 08
Specialize & land the job
Game dev is broad — as you go, lean into what you love: gameplay programming, graphics, tools, AI, or design. Studios hire specialists. Build a portfolio of finished games (quality over quantity), with the code on GitHub and playable builds online.
Whether you aim for a studio or independent releases, a body of shipped work is your résumé. For studio roles, also prep for technical interviews (data structures, algorithms, and engine-specific questions). You're ready when you can point to games you finished and shipped.