How to start making games: choosing an engine, a first project and game jams
TUREFF• •0
Making your first game is one of the most satisfying ways to learn programming, art and design all at once. It is also easy to get lost in over-ambitious plans. This guide covers choosing a tool, scoping your first project so you actually finish it, and where to go next.
Choosing an engine
A game engine handles the hard, repetitive parts (drawing graphics, physics, input, sound, exporting to different platforms) so you can focus on the game. Any of these four is a sound starting point, and the skills transfer.
- Unity: hugely popular for 2D and 3D, especially mobile and indie games. You write scripts in C#. There is a vast amount of tutorials and assets. In 2023 Unity announced a per-install "Runtime Fee", which caused a strong backlash from developers; in September 2024 it cancelled the fee for games. Read the current licence terms yourself before you commit to any engine.
- Unreal Engine: known for high-end 3D graphics and used for many large commercial games. It offers visual scripting with Blueprints, so you can build logic without writing code, and C++ for deeper work. It is demanding on your computer and has a steeper learning curve for small 2D projects.
- Godot: free and open source, lightweight, with no licence fees. Strong for 2D and increasingly capable in 3D. It has its own Python-like language, GDScript, which is friendly for beginners, and also supports C#. Its community has grown fast in recent years.
- GameMaker: built around 2D games, with a gentle start and its own scripting language. Good if you want to make a 2D game quickly.
Also worth knowing: simpler tools exist for specific kinds of game, such as visual novels or retro-style projects, and you can make games in a browser with JavaScript frameworks or in Python with libraries such as Pygame.
How to choose: if you want 2D and something light, try Godot or GameMaker. If you want mobile games or the largest pool of tutorials, Unity. If you want realistic 3D and have a powerful PC, Unreal. Try two for a weekend each and keep the one that feels comfortable.
Your first project: smaller than you think
The most common beginner mistake is starting with a dream game, an open-world RPG or an online multiplayer shooter. These take experienced teams years. Start with a classic you can finish in a week or two:
- Pong or Breakout: movement, collision, scoring.
- A simple platformer with one level: jumping, gravity, an enemy, a goal.
- A top-down shooter or a Flappy Bird-style game: spawning objects, increasing difficulty, a game-over screen and restart.
Finishing matters more than anything else. A finished small game teaches you menus, sound, saving, polish and exporting, the parts tutorials skip, and gives you something to show people.
A learning path
- Weeks 1 to 2: follow the engine's official beginner tutorial end to end.
- Weeks 3 to 6: rebuild a classic game on your own, using documentation and searching for specific problems rather than following a full tutorial.
- Then: make a small original game by changing one rule of a classic. A platformer where gravity flips, a Breakout where the bricks fight back.
- Alongside: learn basic programming concepts properly, plus a little about game feel: screen shake, sound effects and small animations make a huge difference.
Use free or placeholder art and sound at first. Squares and circles are fine; the gameplay is what you are learning.
Game jams
A game jam is an event where people make a game in a short, fixed time, often 48 or 72 hours or a week, around a theme announced at the start. Many are online, free and open to beginners, and itch.io lists a constant stream of them.
- The deadline forces you to cut scope and finish.
- You see what others made with the same theme and get feedback on your own.
- You can team up with artists, musicians or programmers.
For your first jam, aim for one simple mechanic done well, and plan to have something playable halfway through the time limit.
Sharing your game
Upload finished games to itch.io, where you can publish free browser or downloadable games easily. Ask friends and other developers to play, watch where they get stuck, and note it for next time.
What engine are you trying, and what is your first game going to be? Share your progress or questions in the comments.