Humble advice for those who want to switch to game development
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++, Rust, 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.
As a programmer you'll be payed less than a software engineer at other tech companies, unless you're in a big AAA gaming company. Also you're more likely to have more crunch time and worse working conditions. I switched from a well paying gaming job to backend and doubled my income in one shot. On the flip side, the gaming job was way more fun.
#1 is the one I explain to fresh developers. They look at the current landscape and go, "Why are there like dozens of frameworks? Why are we doing things x way?"
And then they fantasize about switching to another tech industry as if it's some magic bullet.
The ability to adapt is a key indicator of expertise.
The way I like to describe it to myself while I’m working on my DApp (which may never be done):
Eat the whale one bite at a time and celebrate each successful bite to keep that little dopamine hit driving you as long as it can. Also, don’t get down on yourself by looking at the big picture and seeing how far you have to go. Break the project into small, easily-achievable projects and pay attention to your morale levels at all times. If you’re feeling burnt out, put that part of the project down and either take a break or find a part of the project that will help get your morale up again.
As someone who is just about to finish a degree in games programming:
Study CS and follow tutorials online to learn gaming tools. I've spent the last few years of my life learning unity's C# and other tools around it just to start looking for jobs to realize, firstly, my uni completely fucked me by not teaching unreal (the uni and epic games HQ are practically on the same fucking bus line), and on top games employers are looking for experienced devs almost exclusively. And of those, half of them are going to be an insulting pay cut, and the rest are going to be a soulless SaaS call of duty or fortnite model. Working in games isn't very worth it unless you can get hired by a AAA studio and love their game too. Probably best to find a standard dev job and make a game on your own time as a passion project.
Oh, also non-compete clauses are going to mean if you work for AAA, you immediately can't make your own stuff anymore either.
Probably best to find a standard dev job and make a game on your own time as a passion project.
I watch twitch streamers who make games, and this seems to be the way to go. I can't really judge through a screen, but they seem happy and excited to work on their stuff, and not burnt out by their day job.
Oh, also non-compete clauses are going to mean if you work for AAA, you immediately can't make your own stuff anymore either
Depending on your jurisdiction, these can have various degrees of enforceability. A quick look at the wikipedia page for them tells me they are mostly void in California. Although I suppose no one wants to get into a legal battle they can avoid.
You're either going to be drafted into insanely toxic work conditions and learn first-hand just how abusive the gamedev scene is, or you're going to make a solo project only for it to get absolutely no traction because nobody knows who you are and nobody's first game is ever any good. Yes some people do get ahead in this system, but you're not seeing the 99% of what they had to do to get to that point.
If you're not prepared to work for literally free for months on end, don't bother. You're probably thinking "its can't be that bad" It's that bad. Your victory state is actually getting included in the credits.
As a normal software dev, I wouldn't want to work in the games industry at all. There's plenty of interesting and well paying work in this field.
And then I tinker on the side. I don't think it's ever been easier to make your own games as a hobby. So many great tools and resources to learn from. PICO8 has been a blast, but going to learn something more capable soon - not sure if that'll be Godot, Raylib, or LibGDX yet, but I'll probably but I'll probably try prototyping some stuff to figure it out.
Not my personal experience, my personal experience was quitting after the project lead was taken over by an extremely creepy guy who from what I could gather was in the process of grooming a minor. This is just what i've been seeing from watching the games industry from afar.