If you want to learn how to make a video game, YouTube is a strong place to begin, but only when you treat it as a course, not a feed. Thousands of free tutorials exist. Most beginners still never finish a game, and the reason is almost always the same: they watch too much, build too little, and pick projects that are far too large. This guide shows you how to choose a tutorial series that finishes, how to stop following along at the right moment, what a tiny first game looks like in code, and how AI tools in Sorceress can shorten both the build and the video side if you want a channel of your own.
What goes into making a video game
Before you pick a tutorial, it helps to know what you are actually learning. Video game development is a mix of several disciplines: programming, design, art, audio and testing. In a big studio each one is a separate team. As a solo beginner, you wear every hat, which is why scope matters so much.
Here are the parts every game has, even a tiny one:
- The game loop: the code that runs many times per second, reads input, updates positions and draws the screen.
- Mechanics: the rules. Jumping, shooting, collecting, dying, scoring.
- Assets: everything the player sees and hears. Sprites (2D images of characters and objects), tilesets (grids of small reusable images that build levels), 3D models, music and sound effects.
- The engine: a game engine is the software framework that handles rendering, physics, input and audio so you do not write all of it from scratch.
- A build: the packaged, playable version you can share.
Good tutorials teach all five in order. Weak ones show off one clever trick and stop. Knowing this list lets you judge a series in the first few minutes.
How to make a video game: YouTube series worth following
The single most useful decision you make is which series to commit to. Use these filters:
- One engine, chosen first. Decide the engine before the tutorial, not the other way round. Godot is open source and released under the MIT License, so it costs nothing and has no licensing surprises. Unity and GameMaker have huge tutorial libraries. Scratch is the gentlest start for kids and complete beginners. Browser frameworks like Phaser suit anyone who wants to learn JavaScript.
- It finishes a game. Look at the playlist. Does the last episode end with a playable build, a title screen and a game-over state? If the series trails off at episode six, skip it.
- It is recent. Engines change their menus and APIs. A tutorial filmed on an old version can leave you stuck on a button that no longer exists.
- The game is small. The classic progression (Pong, then Breakout, then Space Invaders, then a simple platformer) exists for a reason. Each one adds one or two new ideas.
- The creator explains why. You want “we use a timer here so enemies do not all fire at once,” not just “type this.”
A quick test: watch the first ten minutes at normal speed. If you understand roughly what happened and why, the pace fits you. If you are pausing every few seconds just to copy text, find a slower series.

How to avoid tutorial hell
“Tutorial hell” is the loop where you finish tutorial after tutorial but cannot build anything without one. It happens because following along feels like progress while skipping the hard part: deciding what to do next on your own.
The fix is a simple rhythm: follow, rebuild, change.
- Follow: complete the series once, exactly as shown.
- Rebuild: start a fresh project and rebuild the same game with the video closed. Only reopen it when you are fully stuck, and note what you forgot.
- Change: add three things the tutorial never covered. A second enemy type, a high-score counter, a pause menu. This is where real learning happens, because you have to read the docs and solve problems yourself.
A worked example: a first horror game
Say your goal is to make a horror video game, a popular first ambition. Do not start with a full haunted mansion. Take a top-down movement tutorial and change it:
- Make the screen dark and draw a small circle of light around the player.
- Add one enemy that slowly moves toward the player’s last noise.
- Place one key and one exit. Grab the key, reach the exit, you win.
- Add footstep sounds and a low ambient drone.
That is a complete horror game built on a beginner movement tutorial. Horror is mostly atmosphere: what the player cannot see, and what they hear. The mechanics can stay tiny.
If you are planning to work alone end to end, our guide on how to make a video game on your own covers scoping and scheduling in more depth.
What a tiny first game looks like in code
Many tutorial series bury the core idea under twenty minutes of setup. Here is the heart of a platformer in Phaser, a free JavaScript framework for browser games. It creates a ground, a player rectangle, gravity, left and right movement, and a jump that only works when you are standing on something.
const config = {
type: Phaser.AUTO,
width: 800,
height: 600,
backgroundColor: '#1d2433',
physics: { default: 'arcade', arcade: { gravity: { y: 600 } } },
scene: { create, update }
};
let player, cursors;
function create() {
const ground = this.add.rectangle(400, 580, 800, 40, 0x4a5d23);
this.physics.add.existing(ground, true); // true = static body
player = this.add.rectangle(100, 400, 32, 48, 0xffcc00);
this.physics.add.existing(player);
player.body.setCollideWorldBounds(true);
this.physics.add.collider(player, ground);
cursors = this.input.keyboard.createCursorKeys();
}
function update() {
const body = player.body;
if (cursors.left.isDown) body.setVelocityX(-200);
else if (cursors.right.isDown) body.setVelocityX(200);
else body.setVelocityX(0);
const onGround = body.blocked.down || body.touching.down;
if (cursors.up.isDown && onGround) body.setVelocityY(-400);
}
new Phaser.Game(config);
Load Phaser in an HTML page with a script tag, add this file after it, and open the page in a browser. Notice the structure: create runs once to set up the scene, update runs every frame. Almost every game tutorial, in any engine, teaches some version of those two functions. Once you see that, long tutorials become much easier to follow. For a fuller JavaScript path, see JavaScript for game development.





