There are a lot of questions and intentions to move into gamedev from developers who are burnt out at their jobs. And that’s okay. From my own experience, I have a couple of pieces of advice that are not very professional.
1. It won’t save you from everything you’re so tired of.
Firstly, game development, like other areas, is full of its own nuances and pitfalls. And given that a person gets used to everything, you will soon find yourself in the same position. It’s better to look at game development as a hobby, a distraction from your main job. Moreover, for the first few years you will still not be able to earn enough to support yourself and your family.
2. There are no universal tools.
The main question in any field of programming today is which framework and programming language to learn. Here everyone will choose their own - what they can master. But it’s worth noting that in game development when switching, for example, from web development, you need to understand that you won’t be able to use React or even JavaScript if you want to become a real pro. You have to be willing to study hard. These are low-level languages - C, C++, and the basics of mathematics and physics, and possibly machine learning. It won’t be easy, you just have to keep going. Take a break and study further. There is no need to strive to immediately choose the top and most complex tools; the main thing is to start somewhere.
3. This is a market with tough players.
If you think that you can create a game in a couple of months and immediately start making money, then this is not so. Of course, you can try, but the network is already full of low-grade content, and sometimes you just wonder about the mental health of the “creator”. I think it’s better to create one project, but ideal, adequate and interesting.
4. Hype is temporary, and you only live once.
Lots of technologies, engines, etc. surrounded by a lot of hype. This is not bad for the creators of these things, but if you run after the clouds, you will never get anything done. Let your achievements be modest, but they will be yours. This will save you from burnout at your main job, otherwise there will only be dissatisfaction with yourself.
Add your own…
I agree with your post, lots of good advice! I’d add the general advice to pick an engine or framework, learn how to use it at a basic level, and do a bunch of game jams. Even if you don’t submit, nothing will teach you more than figuring out how to go from idea to small “finished” game in a short period of time. It won’t be easy, and your games will probably suck for a while, but if you stick with it you’ll have a solid knowledge base and skillset to start building more ambitious projects. Also there are longer game jams (Godot Wild is several weeks), be careful not to burn out like OP says.
You don’t have to write your own engine. If you want to learn how games work behind the scenes knock yourself out, but I find that most people would rather make a game than a tool (which an engine inherently is).
If you actually want to finish a game on your own, writing it in C or C++ is terrible advice imho. Just pick a friendly game engine and stand on their shoulders. Oh and for the love of God don’t write your own physics engine. Also why are you even mentioning machine learning?
Anyways for a healthy dose of gamedev wisdom from a grey beard at the trenches, Jeff Vogel’s blog is nice.
Damn, Jeff Vogel’s still at it? I remember scraping together chore money and putting in a mail order for Blades of Exile back in the day. I wonder if those floppies are still sitting around here somewhere.
@luciole @modev I think that’s terrible advice. A lot of games are written in C/C++ and building something yourself is a good way to learn. Game Engines don’t always help in fact I would say a framework + a couple helpful libraries is going to make you much faster at programming a game than a game engine ever will.
Programming is just part of making a game, but can easily take all your capacity to learn it. You need to learn planning, estimation, graphics, music, either creating them yourself or working with artists, marketing, writing, dealing with distribution, community management, the list goes on.
You could say “making your own music is a good way to learn” and you’d be right, but if your goal is shipping a game, and learning game development, making your own music and building your own engine is not the way to do it. Unless your goal is learning these disciplines, not making a game.
The thing is that people want to do something, not learn how to do it. You’ll find a lot more people with zero programming experience trying to get into gamedev and they’re much better off learning planning and organization skills rather than any specific programming language. Feature creep kills loads of projects
Before even thinking about “which engine”, “which language”, people need to train and master the fine art of being aware of their own competence level.
The second is being fully aware that your first game will likely suck and that not everything you make will come out as you dreamed.
The third is knowing where and when to stop, especially regarding features. Many visual novels, effectively the simplest game to make regarding programming logic, die out in early access because the single dev decides to add a new character one too many times, forgetting there’s supposed to be an overall story to be told. Yes, feature creep is a problem even in fucking visual novels.
To be fair, you can go places knowing pure Javascript ever since HTML5 became widely adopted, back in 2012 or so. There’s a variety of engines and frameworks, including for 3D games (Three.js and Babylon.js are the most known) and every major OS has a native web viewer, so you’re not stuck to fucking electron.