"I'm brand new to Game Dev, where do I start?" - Starting from the Ground Up
Nov 21, 2024
6 min read
0
8
0
I got a message a few months back from someone looking to start into game dev. Their question?
"If you were learning game dev from fresh right now, where would you personally start?"
It was a great way to phrase the question, it got my mind working trying to picture myself starting all over again. And much to their dismay, my answer could be summed up in the two most annoying words that I find answer almost every question in game development.
"It depends".
Now while this is true, don't worry. I didn't just leave it at that and send them on their way.
Game dev is a massive field with many many specialties, and it all comes down to personal preference where you want to focus your energy. Making games is an amalgamation of all creative disciplines, meaning no matter where you start or what you learn, it's going to benefit you in the long run.
And this doesn't mean you have to be great at everything either. Some of the best indie games have been made by one person with very little knowledge or experience in certain fields. Take a look at this site from Pirate Software covering the same topic. He goes through great examples of successful titles like Undertale and Thomas Was Alone where the dev made do with their limitations and created games loved by millions. (and read through the rest of it too, it's a great source of info)
Personally, before I started trying to make games I thought my passion would be on the art side. I loved art in school, so why would game art be any different? How cool would it be to start animating characters for games?
Within a week I realized I wanted nothing to do with animating.
What drove me instead was the game engine itself. I loved exploring Unreal and what it offered. I loved blueprints (Unreal's visual scripting tool) and figuring out how to make things function as I wanted them to, despite the fact that meant breaking things constantly and banging my head against a wall until I found a solution. The reward of solving it in the end is what brought me out of the initial learning process as a technical designer, somewhere between game design and programming.
So my advice is to dive into whatever intrigues you the most. You might find that what interests you changes, just keep pulling on that thread and see where it takes you.
Now that's all well and good, but how about some more concrete steps? Alright fine, here we go.
1. Pick a game engine
Learn how to navigate it and how to interact with it. All game engines work slightly different but the fundamentals are usually pretty similar.
There's not any 'best' game engine. All game engines have their advantages and disadvantages. The two biggest ones right now are Unreal and Unity, but don't discount Godot or GameMaker.
A very basic synopsis of each are;
- Unreal:
Has Visual Scripting making mechanics very easy to implement. Little to no coding experience required. Plenty of tutorials on YouTube and elsewhere online to get you started, though official documentation is poor.
- Unity:
A more versatile engine to start with. Better support for 2D compared to Unreal. Plenty of tutorials online and good official documentation with examples on what code does what. Will require learning a little C# to begin.
- GameMaker:
An easy to pick-up engine thats generally pretty good for learning. Great for 2D, not great for 3D. Can't speak too much for it as I don't have much knowledge on it.
- Godot:
Relatively new to the scene so probably lacking behind Unreal/Unity in tutorials/docs, but lightweight and handles 2D/3D well. On the rise in popularity in indie dev. Open source so when you dive into things later down the line you can customize it to your hearts content.
Personally I'd recommend Unreal, but thats just because I'm used to it. As mentioned, its all personal preference.
Also important to note is that while one might be theoretically better for a certain style of game, it doesn't mean you can't make that game in another engine. Don't get bogged down early trying to decide an engine for your specific game - instead pick one that appeals to you in general and go from there. I've made many 2D games in Unreal for example because I know Unreal.
2. Start small and build up.
Almost everyone starting in games starts because they have an amazing game idea in their head. They want to dive in and create their masterpiece, and immediately find things overwhelming. Making a game is a slow and sometimes tedious process. You need to learn to focus on overcoming each hurdle as they are presented instead of focusing solely on the big picture. How do you climb a mountain? One step at a time. Start with the basics, making a character move, building up a little level, and then slowly adding features on top of it.
3. Tutorials are great, but they also suck.
I see a lot of people getting stuck in what's known as 'tutorial hell', where they just follow a tutorial from A -> B, get the outcome, but don't really learn WHY they did the things they did. This means when they try to then use what they learned for something else, they don't know how to adapt it to the new scenario. The best way to learn is to break down a problem into the smallest pieces possible before looking up solutions to each problem. This way you learn the building blocks from which you can piece together your own logic, rather than simply implementing a solution at large and not understanding the reasons behind the decisions made.
Let's take a chest in Zelda for example. Instead of searching for "How to add a treasure chest in Unreal Engine", define what you are wanting to do with the chest and google the individual problems.
Character approaches chest
Character presses button to open chest
Chest gives character an item
Chest becomes unavailable to retrigger
And now the problems become smaller and easier to search for;
"UE5 Detect if player is near object"
"UE5 Trigger event on button press"
"UE5 Add item to inventory"
"UE5 Stop character activating object more than once"
and better yet, these are building blocks you can use for other logic as opposed to what you might find if searching for the original "How to add a treasure chest in Unreal Engine"!
With everything in game dev, there's a million 'right' ways to accomplish something. It's just that some solutions are a better fit than others. It's why I always answer questions with 'It depends' (and subsequently annoy whoever is looking for a straight answer). Tackling issues fully depends on the circumstance, meaning tackling the same issue in one situation might not be the best or even 'right' way to tackle the same issue in another.
All in all, break down your problems, follow tutorials, and for the best learning experience, change values and swap out pieces here and there to try and achieve other effects. See if what you do accomplishes what you were trying to do. Likelihood? It breaks everything, but you'll learn more from why things don't work than why they do.
Some great Unreal specific YouTube channels I rate highly are:
Mathew Wadstein Tutorials - His "WTF is?" series is fantastic at explaining different blueprint nodes. Has a video on most of them. While some of the videos are quite old, most of it is still relevant and its a great great channel for tidbits of knowledge.
Ryan Laley - One of the best youtubers who talks through WHY they are doing specific things.
False Prism - (This is me, just a little self promo. Not much up at the minute but I plan on diving into things a bit more).
4. Be curious.
Muck about in the engine and just see what happens. Treat it like you're a kid who's just found a box of toys, wanting to get your hands on everything and seeing what they do. See a new system you haven't used yet and like the look of? Load it up and see what it can do. Again, things will likely break, but figure out why they are breaking. You'll learn more from failure than success.
5. You never stop learning.
Watch videos on game design, breakdowns of games, GDC talks, etc. Follow your curiosity because you never know what you'll learn and where you're next source of inspiration will be found.
Highly recommend:
GDC Vault - A treasure trove of knowledge from experienced developers in every field. These are talks given by developers for developers.
Game Maker's Toolkit - I don't always agree with Mark on his takes on game design, especially his earlier videos, but he achieves something better - he makes me think for myself about the design of games in a way that has always benefitted what I've been designing. I can't recommend his channel enough. A great digestible way of turning the cogs in your brain to think like a dev.
All in all, game development is hugely rewarding when you let yourself wander and discover what you can do. Don't be afraid to dive into things and simply explore for the sake of exploring, you never really know what aspects you're going to enjoy until you've dipped your feet in. Above all, have fun! You're making games!