Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: How to move from traditional tech into game dev?
205 points by eddsh1994 on Jan 8, 2023 | hide | past | favorite | 238 comments
Hey all,

I'm keen to learn how you can move from 'traditional' tech roles into game development. I love games and, while I know there are some issues re: salary & hours worked, still think I'd regret not trying it myself.

What are the usual sideways paths one can take to go that way? My tech stack is almost definitely irrelevant; Python, JS, Rust, Haskell, etc...

Any tips from the game devs out there?




I worked in gamedev for 20 years. In retrospect, I could have made a lot more money selling ads for cat pictures. But, enjoyed the chaos of being at the intersection of art, tech, design and commercialization.

My advice to everyone wanting to enter gamedev is the same as for everyone wanting to start a startup: Be realistic about failure. It’s a high risk, high reward business with tons of uncertainty. It’s easy and common to be so enthusiastic about working hard to succeed against impossible odds that failure become a “Voldemort” term that shall not be spoken..

But, if you are realistic about the fact that “risk” includes the possibility of failure, you can be realistic about what failure means and what you plan to do when it occurs. If failure means your family will literally be homeless and starving, don’t take that risk! If it means your dreams don’t come true and you’ll have to go back to some boring desk job… Well that’s a bummer. But, it’s not anything to be afraid of.

Be sure to have enough money in the bank to pay the bills if you suddenly, unexpectedly have no job and need to find another. Be a coworker who people want to work with again because people who leave your company before you are how you land your job at the next company.


> It’s a high risk, high reward business with tons of uncertainty.

What's the high reward side of that for a typical dev? Do you get a percent of the game sales or something?


I thought it was infamously overworked and underpaid - because so many (many more than there are jobs) are game fans and will put up with it for the thrill of work being games too.

I think GP must mean indie game development, i.e. yes you get 100% of game sales (minus costs and partners' share if applicable of course), which isn't really worth distinguishing from advice for start-ups? That's just a start-up that makes games isn't it?


Profit share? In AAA, yes. In Indie, no. (At least not usually)

High risk as in, most people are "gamers" or love games, unaware that they either hate or are bad at making them, aka wasting about 5 years of their lives learning how to. You really have to love making them, the constant interation will kill you otherwise.

Salary wise, from someone who has worked in Indie and now works in AAA as a Technical Narrative Designer and absolutely loves it, game dev salary is about 60% of a regular UX/UI Designer salary for traditional tech companies. This is the same for Engineers or Programmers. So still a lot, but just not life changing money like some of the salaries in Silicon Valley.

Riot and Valve pay best by far, they're the FAANG equivalent. (Excluding the mobile and web3 market)


I interpreted this as the product had a high risk/high reward profile.

Presumably for the developer the reward for the high reward path is continued employment, and the penalty for the high risk path is loss of job


This is indeed what I meant. I wasn’t clear. Entertainment products in general have a strong Power Law Curve to their relative revenues. Games are expensive to produce and have a high variance on their returns.

So, the rewards for a profitable game for most game employees is that the studio doesn’t shut down! Though I have heard of rare cases where people on a team hit a truly large royalty check from a game they worked on. Usually, the profit from a successful game goes into the war chest to cover the next failure.


Lead developers can get a percentage of sales or profits. We’re taking the John Carmacks and Sid Meiers of the world.

It’s about as likely as becoming an L9 IC at a FAANG however.


You are usually rewarded with stock options - and if your team makes a game that's very successful, it'll show in the stock price.

Bonuses are also easy to dish out if the studio has a few successful games already operating and bringing in constant revenue.


> Be realistic about failure. It’s a high risk, high reward business with tons of uncertainty

Excellent point to which I’d add: be very critical of how the risk is presented by your potential employer.


Not in gamedev (and not planning to change that), but this is excellent advice applicable to many other domains.


That is so true

The more I look into Gamedev the more it looks like a very ungrateful and daunting task

You can put all your energy (and money) into a game and it might just... flop

With a startup you can always try to pivot, or make something of what was developed. And your costs with creative productions (which are harder to reuse) are much smaller.


> With a startup you can always try to pivot

You can do this in gamedev as well.

A high budget example would be Fortnite which pivoted to a Battle Royale version of the original, vastly less successful, game. A lower budget example would be Proteus, originally a failed attempt to write an RPG that pivoted into something quite different.

Discord is an example of a game company pivoting from a failed MOBA to a more traditional tech company.


Slack was literally created by a team trying to make a game.


As was Mattermost.


As was Flickr.


Discord, too.


That's a good point. How would you go about solving this? Just release minimal playable demos and iterate based on feedback?


The first question I think you should ask yourself is: why do you want to go into game development? Is it to take part in making a AAA hit? Do you have lots of your own game designs that you'd love to see the light to day? Do you want to work on a 500-person team on a AAA title, or with two other people on your thing? What sort of games do you want to make? Depending on the answer to those questions, the path you'll want to take will be very different.

My personal dream was more on the "I want to make my own things and control everything" side, so after leaving traditional tech, I focused on releasing lots of freeware games, an active Twitter presence, and building up "brand" recognition for myself in preparation for the first commercial title.

I'm now a somewhat successful solo indie dev, and my latest game Slipways [1] pays my bills as I'm getting ready for my second big project. So this approach can work, but it is very... effort heavy. And probably nowhere close to what you want to do if your goals are different from mine.

But: if you really want it and have the programming chops already (and it looks like you do), getting into gamedev is mostly a matter of taking the plunge and seeing where that path takes you.

[1]: https://store.steampowered.com/app/1264280/Slipways/


As a quick aside: I love Slipways. Amazing job, very interesting little game :)

On topic, I'm working in the same vein as you currently (without the indie hit) - I like building worlds that I want to see the light of day. I've found itch.io to be an amazing community and resource as a part-time games developer. It makes it stupid easy to get a game to the web and similarly easy to use sophisticated tools like Unity to make games for other platforms.


Itch.io is great and has single-handedly made it much easier to get an early audience for a freeware game. It's been a great help for me as well. It's harder to actually earn money there (at least in my case, it's orders of magnitude less money than eg. Steam), but you can't beat it for ease of publishing something and seeing what people think of it.


Ooh, I own Slipways :). I don't know if I really sat down to play it (I have a bad habit of buying games and they sit for months before I get around to playing them) so I should do so.

I'm working on a game I'm hoping to release on Steam Early Access in roughly six months. It'll be my first proper game release in over ten years (life happened and a five year detour into board game design), so I really don't know how to market these things very well anymore, and it's an abstract strategy game (specifically a sequel to a game I released on Xbox 360 a decade ago[1]).

And my video game industry network is practically nonexistent now, except for a handful of people I used to work with back when I was doing it professionally.

Do you have any recommendations for building up a brand? I was going to start live coding on Twitch, especially since there's going to be some Twitch features in the game I need to test anyway, but beyond that I don't really know what's effective anymore.

[1]: https://youtu.be/Yqe0hS7AvOE


> building up a brand

That's a big topic, and one I'm not an expert on - if I was forced to pick my weakest gamedev suit, marketing would be it.

What worked for me was picking a social media outlet I felt comfortable with, then using it to its fullest. For me, that was Twitter, back in the 140-character days way before all this Musk mess. Twitch might work for you, if you enjoy building up an audience around a stream - though with a coding stream you're mostly going to get other programmers (not necessarily a bad thing depending on the game).

The biggest boost in recognition for Slipways was as a result of Twitch/YouTube content creators featuring it. Content creators (not necessarily limited to YT/Twitch) is where I would focus my efforts these days when trying to get the word out. The smaller-to-medium-sized ones are usually very approachable and eager to try stuff out.


Any advice on how to improve on art/graphics for a developer? I always find that I can program just fine, but when it comes to creating models and splash art, I have no idea what I'm doing.


I love Slipways but I have to finish the corrections to my thesis so I'm staying well away :P

Thanks for a great game!


@krajzeg Do you happen to know the 1997 game Into The Void? Took a look at Slipways and had a nostalgic moment.


Thank you so much for making Slipways! It's such a perfect 'Sunday morning over coffee' game.


Why it's always that when I see some good indie gamedev, it's from Poland? Pozdrawiam


> Why it's always that when I see some good indie gamedev, it's from Poland? Pozdrawiam

Free high quality schools, robust safety net, many technology companies, eastern angst that doesn't allow soul to settle, etc.


What safety net? (I’m Polish)


First of all when you are unemployed you get free healthcare, "urząd pracy" have some ways to help you, for example getting job experience like paid internships, some education about jobs/getting them, unemployment benefits. "MOPS" also have ways to help. You got paid when you are on long sick leave. Parental leave that is long enough to be useful. You can get sick leave on your child. It's not perfect but


As an indie dev did you write your own game engine or use an off the shelf option?


Slipways is built on top of Unity. If your main goal is to make a game (a daunting prospect on its own), having to create an engine on top of that is probably not going to help your chances.

If your main goal is to enjoy yourself, there are very few programming tasks as varied and fulfilling as writing your own game engine. Personally, I'm glad there are alternatives.


Am I mistaken in remembering it was prototyped in PICO-8?


You are not! PICO-8 was where I started, and it was a great experience - both for its community at the time and due to the constraints it imposed, making me focus on finishing games and boiling them down to the essentials.

I heartily recommend PICO-8 for anybody trying to get into hobby/solo gamedev from the programming direction.


I'm personally waiting for PICO-16.

But seriously how do you fit a game into an 8-bit environment?


Almost all indie devs these days use Unity or Unreal. You'll get more output out of these quicker, and that will encourage you to continue developing.

Don't be put off from writing your own engine, but it is quite a daunting task, expecially for 3D.

Besides rendering, these off the shelf engines provide tooling that make game development easier on you. Map editing, animation editing, sound editing etc all built in.


I looked hard at Unity but ultimately couldn’t get myself past the learning curve and went with MonoGame instead, this allowed me to prototype my game idea in a mere 8-12 hours of coding without any clunky interface getting in the way.

I am not sure if I made the right choice or not but the engine I’m working on is indeed very satisfying to build though I am aware I could have had a playable game by now instead of still be implementing hand cranked shader animations and trying to architect a custom rendering stack… but I figure if it’s not one thing it’s another!

Plus if you do succeed don’t you end up owing Unity a bunch of money?


You made the right choice if you're still working at it. Staying on target is more important than the bad choices you might make - otherwise you'll end up like me and thousands others who are indecisive and consequently produce nothing.

Unless the licensing scheme changed, you can see the graph of licensing costs for Unity on articles like this one: https://gsnook.wordpress.com/2019/01/19/for-indie-developers... (specifically: https://gsnook.files.wordpress.com/2019/01/enginecost.png?w=... )

I wish you all the best, and primarily to keep your passion.


> "an active Twitter presence"

What is your Twitter handle?


Very interesting title, I'll give it a try.

Do you happen to blog?


Backend. Do the game backend stuff for online/mobile games.

Everyone and their sister wants to be the one that does the pretty graphics and UI with Unity or whatever. Nobody wants to be the one who does the backend code that actually makes the game work.

It's actually challenging when you work with games that might have a million daily users or even more. If it's a competitive game, people will try to cheat and you can't trust anything the client sends you. The code also needs to be cost-effective to run, if your game makes $10k a day, but the backend costs $5k a day to run - that's kinda bad.

Also especially mobile games need a custom frontend for customer service so they can do refunds, check player purchase history etc. Those are done with JS and Python etc.

Source: Moved from traditional tech to making CS tools and backend for games. My salary went up hilarious amounts, as did bonuses and options.


>Nobody wants to be the one who does the backend code that actually makes the game work.

This is only true for a certain class of games that rely on multiplayer. Many games are singleplayer where the meat exists on the game engine. There's two sub sections of this as well. Real time and non-real time.

Realtime means streaming updates from all users. Games like fortnight or pubg are like this. Non-realtime means like checkers or multiplayer chess. If you are doing the later rather then the former I would say you're still in traditional web development where shit is still relatively easy because an HTTP server is good enough.

The former is what is really hard, and that kind of thing is what I would refer to as backend game development. If you are doing that, then likely you're not a traditional web developer anymore.


Typically in both cases Backend as a role will refer more to people creating and running services like server orchestration, matchmaking and so on. So the real-time/non-real-time distinction doesn’t really matter. The engine level role is usually Multiplayer or Networking Engineer and the actually making the game role is Gameplay Engineer.


It does matter. For real-time the person will likely need a custom solution. That means coding the entire server in C++ or some other zero cost language with custom protocols.

For the non-real-time, it means using a pre-existing backend server.

Many backend engineers don't know how to write a custom real time server from scratch. It's two completely different levels of skill. If you are hiring for this role and put out of job ad for typical backend engineers you won't get the right people for the role because, again, backend engineers typically don't have this skill.


Right that’s what I’m saying, the game server and associated protocols will be designed and written by the engine team in close collaboration with the gameplay team that will be making the game.


Yes, you're right. My mistake.


Are there any billion dollar game franchises that lack an online component? Feels like a safe bet to me.


God of war, Cyberpunk 2077, witcher 3, skyrim, fallout, Zelda, Tomb Raider, Metal Gear, Final Fantasy (not the mmorpgs), Assasins Creed, there's tons.

I wouldn't say they are billion dollar game franchises but I would say billions and billions of dollars in total are part of games where multiplayer is not the central aspect. This sector is huge.

I think games with a huge online component tend to be bigger franchises but fewer in number. Overall online gaming as an industry is bigger then single player gaming but they are both huge enough in size that they are comparable.


Witcher 3 shot CDPR from under a billion to over 8 billions market value. So yeah, that game single-handedly made that, up to the point when CDPR dropped the ball with the buggy release of Cyberpunk 2077 - but nowadays they released a nice update for CP2077 which is what should've been the actual game launch 2 years ago.


But in the context of career advice, it still seems like a decent bet that the online gaming industry is and will remain pretty robust. Especially for people transitioning from traditional 'enterprise' programming jobs.


Why specifically the focus on online gaming vs. gaming in general? I would imagine the "safety" of both travel in lock step. And I wouldn't think gaming is "safer" then other fields of programming.

In fact even in good times, I feel gaming is less safe.


That was the point of contention upthread. Someone said doing backends for online games was a good transition for a general programmer, which intuitively seems plausible. The concern was whether that was too niche but the size of that market implies otherwise to me, however much bigger the whole pie might be.


initially, minecraft.


Minecraft with multiplayer was launched only 3 weeks after the initial release.


Actually game graphics people are hard to find but no one is going to hire into that role with no experience.

That said, you can leverage your normal tech chops to get a foot in the door. Games do need backend and database people, etc.


We've never had issues finding artists, much of the bulk work is outsourced anyway.

Cloud infrastructure/devops, data analytics, backend code, data storage all need people especially in mobile games.


> We've never had issues finding artists

I think they meant graphics programmers, not artists.


"Graphics programmers" are historically some of the highest paid and hardest to hire programmers in gamedev. But they're probably less of a thing in the age of Unity and Unreal.


Yea, nobody needs a "graphics programmer" unless they're making their own game engine.

In the mobile world very few companies bother. If they do, they're either so old that Unity mobile wasn't very good and already have their own engine or they're doing something niche where Unity doesn't make sense.

Everyone else just uses Unity and Unreal, because trying to launch a new game is hard enough without having to build everything from scratch.


This isn't true at all. You can possibly get away without a graphics programmer on those platforms due to the immense market of graphics techniques available due to... graphics programmers publishing them.

There's a ton of shader development happening. Optimizing the graphics stack takes some specialization.


> due to the immense market of graphics techniques available due to... graphics programmers publishing them

Depends on how one defines “graphics programmer”. Those people are arguably more “tech artists” than “graphics programmers”.

Lots of people can write clever shaders in node graphs. Those folks are usually more “tech artist”. Although the line between “graphics programmer” and “tech artist” is very very very fuzzy.


Not to mention graphics is way harder then web. Let's be honest... Web, which encompasses frontend and backend is significantly easier then graphics programming.


Web programming is incredibly easy in general, and gets even easier every year. Game programming is much harder in my experience. Game Engine programming is not even comparable.


You mean creating a HTML/CSS website is easy in general. Because you can also develop games on the web and create whatever complex kind of application you can think of. Best to be precise when saying these things.


It depends. If you're implementing something like K8s or Spark it's just as hard as a rendering engine, and you only need one K8s and one rendering engine. These days unity, unreal, or Blender can't really be beat.

If you're just working on top of a platform, it's trivial for sure.


No spark and k8s are configuration problems. Hard but you are not creating the tool, just configuring it. It's more of a dev ops /sys admin thing and, though I agree it's very hard, it's a very left field comparison IMO.

With engine creation you are creating the tool. It's programming through and through.

Though I can see how a lot of backend people are taking on the role of "configuring" stuff so it's hard to delineate backend programming away from it completely.

Still even when taking this into account, it is of my opinion that a rendering engine is significantly harder then even K8s or spark.

You are right though that with existing game engines graphics programmers are not as needed anymore.


> Hard but you are not creating the tool, just configuring it. It's more of a dev ops /sys admin thing and, though I agree it's very hard, it's a very left field comparison IMO.

They specifically are talking about creating the tool.


They're talking about the developers working on spark and K8? That's different. But I don't think they are talking about that. They are more likely talking about using these tools.


No they aren’t they said “implementing k8s”


I see, my mistake.


Easier in terms of less math for sure, but there is still plenty of complexity with web. Async, constantly changing environment, and specific device quirks to name a few.


I've done both. Graphics programming is significantly harder. It's both harder to program for and harder to learn. Make no mistake, they are different, but in terms of challenge, Web is trivial compared to it.

You'll get a lot more people in Highschool who know Web simply because of how accessible and easy it is and a lot less people in Highschool who know how to create a physically correct rendering engine or a realtime graphics engine. It is brutally harder.


You get all of that in gamedev as well.


lol


Render programmers are not all that well paid, but they are absurdly hard to hire for.

The highest paid IC's at my last few companies (gamedev) were people that had been there 20 years (He was AI programmer) or the infrastructure people running the gameservers and multiplayer backend.

That might seem weird. But it's hard to hire infra people as they can work basically anywhere and will have as much enjoyment.

Render programmers can work in CAD or Games, there's much less demand, and they tend to want to work in games.


Question is, is it moral to work on that kind of game? You're describing the predatory IAP fests.

Edit: although I suppose it's equivalent to working on "engagement" algorithms in social networking.


Nobody is forced to buy anything in mobile games, it's bad business to do so.

The reason mobile game companies have hordes of data analysts and data scientists is to figure out the optimal point where enough people pay to speed up progress so the game is profitable, but not so much that non-payers stop playing because they feel they can't progress without $$.

Nobody bats an eye if someone spends $80 on the latest console, but everyone is sharpening their pitchforks if they spend a similar amount in mobile game IAPs. Even if the hours played and enjoyment received are perfectly equal.

Most people who buy IAPs exchange money for progress in games, they work 8-10 hours a day so they don't have the time that a Monster Energy Drink fueled teenager has to grind equipment. But they have money they can use to catch up somewhat so they can enjoy their evenings playing the fun bits instead of grinding for that 1% drop like a second job.


>Nobody bats an eye if someone spends $80 on the latest console, but everyone is sharpening their pitchforks if they spend a similar amount in mobile game IAPs. Even if the hours played and enjoyment received are perfectly equal.

I'm all for people spending money in the way they want to... but I think people that buy little bits of virtual powerups and collectables for a mobile game lean closer to "addiction" than "gameplay" or "enjoyment."

A console is a physical device that you can play tons of games on. An IAP, even a collection of $100s is just not the same.

I used to have friends that would spend $100s of dollars on those mobile games. They don't play them at all anymore. So what was the point? They spent $100 to get to the next $100 barrier to spend another $100? And then they quit?

Again, I'm all for people doing whatever they want and think any regulation would cause casualties but I will always say a game designed in such a way where you either have to "grind 8 hours on monster energy" or "buy your way up" is just a predatory and ridiculous "game" right out of the gate.


(meant to type "latest console _game_" there)

People usually have two commodities, time and money.

When you're young, you have virtually endless amounts of time. You can just sit down and grind a game to get better at it and get better equipment.

When you're older, you don't have as much time, but you have money. Then (in my opinion) you should be able to use money to get on par with the people who have spent all the time gaming you spent at work and with your family.

Of course there are games where you just need to "git gud", because it's all your own reflexes and knowledge, in-game items and boosts don't matter that much if at all. If people using money to offset time used bothers you, you can play any of these games.

This is why people selling MMO accounts is a thing. People with money want to enjoy endgame content with friends who have unlimited time.


>When you're older, you don't have as much time, but you have money. Then (in my opinion) you should be able to use money to get on par with the people who have spent all the time gaming you spent at work and with your family.

I suppose. I feel at that point, its more a chore than a game tho, lol.

I don't play those games, exactly for this reason. I feel the reasoning "offsets time" is honestly just a coping/irrational justification. Imagine paying to skip to the good part of the book or movie. Makes 0 sense.

So you have to buy the game and then pay to skip parts of it? That sounds like a system designed to extract extra money from people, not a game...

>This is why people selling MMO accounts is a thing. People with money want to enjoy endgame content with friends who have unlimited time.

This is a bit more justifiable, as long as the game isn't designed around the idea of creating the very situation... I say this as someone that almost failed out of college because of spending too much time on an MMO (talk about no time _or_ money, lol) I'd suggest the friend group just play a different game entirely. MMOs are big commitments... same as any other hobby you could get deep into though. I don't think its good for a group of friends to constantly be throwing time or money at something just so they can stay "at the same level."

*edit* Just want to add to the idea of regulation and casualties. I wouldn't fault a father for spending a little extra to "catch up" with his son so they can play together or something. I can't think of a situation off the top of my head but in that instance, I wouldn't say that's "bad" or "predatory." Everyone's situation is unique. So these comments are more directed to those mobile "games" that involve sinking time or money into them to "advance."


> So you have to buy the game and then pay to skip parts of it?

Games need to be designed for both groups to be successful.

They need to satisfy the people who pre-order the game and are sitting there with controller in hand hopped up on Monster the second the game launches. Then they'll play a 100 hours straight and complain there wasn't enough content because they finished it in 5 days (...of 20 hour/day playing, but they're not sharing that bit on the forums).

Games also need to be fun for the people who don't have a 100 hours to invest in a game, but still want to experience it.

This is why games have Achievements that are nigh-impossible. They're for the first group. Nobody in their right mind would attempt some of them unless they're sitting on a literal mountain of free time and nothing else to do.

Some games (like a bunch of Assassin's Creed games nowadays) allow the second group (money, no time) to buy better equipment with actual money for the single player game. They can still experience the plot of the game and have some challenge, but don't need to spend hours fine tuning their dodge reflexes for that one boss they got stuck on.


> Some games (like a bunch of Assassin's Creed games nowadays) allow the second group (money, no time) to buy better equipment with actual money for the single player game. They can still experience the plot of the game and have some challenge, but don't need to spend hours fine tuning their dodge reflexes for that one boss they got stuck on.

Let's call spade a spade.

This is a convenient rationalization to justify adding elements of unnecessary grind to with intent to get people to spend more money on a game they already paid for.

Games used to (and to a degree, still do) have difficulty selectors and cheat codes to accommodate different types of players. Publishers of AAA games like the ones you mention (Assassin's Creed) monetize this because of greed.


> Games used to (and to a degree, still do) have difficulty selectors

I finished Resident Evil: Village recently. On the "Casual" difficulty. First RE that has that. Every boss went down in a couple shots and I was swimming in the supposedly scarce ammo at the end.

Somehow they forgot to charge me extra for this.


Haha right?

I can sorta understand in some cases but I have no idea why there is a market for "skipping around" in single player.


>Some games (like a bunch of Assassin's Creed games nowadays) allow the second group (money, no time) to buy better equipment with actual money for the single player game.

You have blown my mind, as I hadn't realized this has gotten into single player games like Assassin's Creed.

I generally agree games should be fun for everyone... but at that point is it even a "game" if you're paying money to skip around? What happened to difficulty selection? Or just plain old grinding? That's part of the experience.

There's a game called Cuphead that I really enjoy(ed) but never beat. I couldn't in a million years think "let me just pay 10, 20, or 30 dollars to skip these hard levels." The very idea just seems so antithetical to gaming in general.

What about putting them in Elden Ring, just go right to the last boss if you pay $200-300 (assuming $ scales with progress).

If you're finding yourself with not much time, I recommend rogue likes. I never liked them until I understood that the "playing" was the experience, and grinding to the end was the reward. Now I like them b/c with a Steam Deck, I can play short sessions. Not once have I ever considered paying actual money to "skip" a game. That is just wild to me.

Again, at the end of the day, ppl can spend their money how they like... I just find it a bit ridiculous and that's not even touching on the "gacha" mobile games.


Cuphead, Super Meat Boy and Soulslike games like Elden Ring are firmly in the "git gud" -category.

They don't hand out skips and it's just purely about the player's skill.

That's why I don't play any of them, I don't have the free time to spend that's required to get good enough.

I currently play mostly story-driven single player games like the new Tomb Raider games, Quantum Break, Control etc. on my Steam Deck.


> I don't have the free time to spend that's required to get good enough.

Want to buy my save just in front of the last Elden Ring boss fight? :)

Considering your earlier posts, it's the logical thing to do.

Actually the game doesn't stop after you beat the last boss, I could do that and sell you a save right after.


> When you're older, you don't have as much time, but you have money. Then (in my opinion) you should be able to use money to get on par with the people who have spent all the time gaming you spent at work and with your family.

the problem with this is that you assume "all the time gaming" is a bad and nonfun thing, at that point you're essentially paying the developer to not play the game. Sure those situations do exist, but they are design flaws* that should be fixed. Accepting a quick way to get thru them gives the developers incentive to not fix them but to actually make them more prevalent, and this has been happening in games more and more, just look at overwatch 2 and the hero unlocking speed as an example on a huge AAA game.

>This is why people selling MMO accounts is a thing. People with money want to enjoy endgame content with friends who have unlimited time.

This could be argued as a reason for selling currency, but for selling accounts I harshly disagree. The vast majority of people that buy accounts in MMOs do it to get "stolen valor" such as buying gladiator/rank 1 accounts in WoW or exclusive items/mounts/etc. The endgame activities most take part in takes orders of magnitude more time to progress in than the lead up to it nowadays, makes no sense to buy an account to skip it if you're genuinely time constrained. I could see that being a relevant case back in Ultima Online days for setting up a new PK character but that's not really a thing today in any big capacity.

*: some exceptions exist to make balancing passes I suppose, just to not speak in absolutes


You're somehow assuming all computer games involve grinding for some 1% drop.

You're basically describing old single player games that did rare drops to pad gameplay time, then the first MMOs where grinding was there to keep you paying for the subscription, and now the IAP fests where the grinding is there to make you pay something.

However, there still are games that do not involve grinding out there. Even some AAAs. You do not have to be predatory to enjoy some success making video games.

Edit: I missed that: "Even if the hours played and enjoyment received are perfectly equal."

They aren't equal. Do you call grinding for rare drops equal to enjoying a story or developing and applying some skill?

And how is hours played a metric of enjoyment? If you count hours played, the game i spent the most time in ever is Minecraft. Paid all of $20 for it.


I'm describing games like World of Warcraft, where I spent WAY too much time grinding for some elusive drop to get to the next quest in the chain. It's amazing how many wolves you can kill in Azeroth without finding a single paw :D

I would've gladly paid money to skip that bit and get to the fun parts even then and I was a mostly broke student at the time.

Now I play mostly story-driven single player games that don't rely on fetch quests to pad the runtime. Or games that really don't have an ending like Factorio, Dwarf Fortress and the like.


> get to the fun parts

What fun parts? You just grind more, perhaps in a group. Or a larger group. I know, I could probably still lead a Kharazan (of the Burning Crusade flavor) raid from memory. The only fun part of WoW is the group interaction.

The sad thing is when people have only played WoW and its successors and start thinking this is the only way to do a game...


Factorio has an ending... kind of.


No, it is not. If a reader has a gamedev position outside these predatory markets, hit me up.


I thought game dev salaries were bad, but people still applied because of the thrill.


In a team of 20 making a mobile game, you have 17-18 people who don't do backend and 2 people who do.

Those two are the ones that are invaluable, there's a literal queue out the door to fill the sexier positions of game designer/producer/2d/3d artist/unity developer and whatever.

You can just pretty much plug in a new Unity developer to the team, since the skill set isn't that hard to learn.

...but finding someone who can do 1M+ DAU game backend that's reliable and cost-efficient isn't something you just hire off the street.


> but finding someone who can do 1M+ DAU game backend that's reliable and cost-efficient isn't something you just hire off the street.

So, how do you get that particular skill? I've done backend development, but nothing with that kind of scale.


Basically you're paying for someone who has seen shit fail 42 different ways and has a pretty good feeling/knowledge what works in which case based on their experience. And they also know which solutions are overkill.

Simpler is always better, don't do stuff for your CV, build it so that you don't need to wake up at 3am on Christmas to fix some obscure deadlock issue.

Log stuff so that you can tell most of the time what went wrong just by looking at the logs and graphs.

But also be mindful of costs, logging everything to Cloudwatch can get surprisingly expensive.

Benchmarking is important, you can use the logs to see where you're actually spending time and optimise it if possible.

Sometimes the illusion of real-time is better than being real time. Everything that can be cached, should be cached. Utilise the TTL in Redis to make stuff simpler.


Ok, so how do I convince a prospective employer that I'm capable of these things? Well, except for seeing shit fail 42 different ways. We have a bit of a chicken and egg problem there. How can I have seen shit fail 42 different ways if I need to see shit fail 42 different ways to get the job?


Not all games are 1M DAU, you can leverage knowledge of smaller games first.

Only the biggest games with huge marketing budgets go from zero to 1M DAU in a day, so there's always the possibility of slowly improving the system while the player count grows.


You can still design the systems and try to test them. Build programs and throw load tests at them.

Scaling software is more about careful choices than some ultra deep understanding (though really understanding your data source is very important).


The difficulty really depends on the game. Some of these things are glorified webapps and 1M+ DAU is pretty trivial on the cheap. But if you have more real-time multiplayer interaction, it would take a lot more work.


Those would be the roles that “everyone wants” as alluded to.


Any good resources to get started


Try to build your own prototype.

I found a fairly low-friction way to add a custom online services subsystem into UE4/5: https://github.com/RyroNZ/UE4MasterServer

You can replace the python with anything that lives across JSON. I had no issues getting this to compile & load in UE5.

Once you have this in place, you could grab one of their arena shooter MP prototypes and focus almost entirely on the sessions, servers, matchmaking, accounts, logging, fleet management, etc.


As a former game dev turned regular old swe, I highly recommend just going the indie route (i.e. nights and weekends). Game dev is just doing software engineering, just harder (oh those trig classes matter! calculus has a purpose! linear algebra all day! ), that pays less,with the same or worse politics (studio bosses instead of eng/prod directors), and in most cases doesn't result in a playable game. Sorry, I'm jaded, left that industry at 27 and never looked back. One of my old bosses once told me that new 22 year old CS grads were "meat" for the grinder, and after even 3 years I knew why that's true.


I'm not as jaded, I've been lucky enough to work at nicer places, but having made the same jump I would strongly recommend the same thing.

Either nights and weekends, or after a few years as a SWE you could just retire somewhere cheap and go nuts on your game dev passion.


After decades as a EE / SW Engr, every single person I've known who worked in game dev has told this story.

More work, less pay, more irrational management...

After the tens of thousands laid off in SW over the last few months, the sweet spot is in embedded, more than ever...


This is the first time I’ve heard someone be optimistic about embedded. Better than game dev or EE but that’s only one step up on the work/pay ladder. I find my work interesting but I would have made a lot more optimizing the search bar on the Facebook android app or whatever.


Few weeks back, others were talking about embedded getting paid less than web app development. What would you say, true? I understand that they aren't getting laidoff, there's a big gap in high demand and low number of experts in this field.


Definitely true. You’re not gonna starve, if you doing embedded at $BIGTECH probably 200-300k TC, but there will be a discount compared to the regular software engineers wherever you’re working.


Where are 'regular' swe's getting more than 300k? Or even, where are embedded engineers getting 200k+?


I think a lot of big tech companies are getting into hardware in order to diversify and help build a platform to support future online components. Meta has AR and VR, Google has Nest and Fitbit, Apple obviously makes tons of hardware, Amazon with Alexa and warehouse robotics. All of the above make custom servers which require firmware. Even Netflix has some embedded devs working on supporting streaming devices.

What’s nice is that embedded swe equals regular swe salaries at these companies! I am an embedded dev at a big tech company and interviewed at most of the FAANGS recently.


Any FAANG. But take a look at square for example because they’ve posted more reasonable salary ranges than most. Senior android engineer, 222-272k. Expired now but they had a senior firmware engineer for 202-247k.

Unclear if those are base or TC, if it’s base then you’d definitely be over $300k with RSUs, but even if it’s TC a good year in stocks pushes that over.


The stories about embedded I've heard is that they've got outsourcing partners in India and China delivering shit-tier code and hardware that they need to fix themselves, on top of their actual jobs. YMMV though.

(Mobile) game jobs aren't a more work less pay environment in the least, the successful ones make so much money that the companies want to keep the teams who made the game at all costs. The companies also recognise that it's the people who make the games, so the pay and bonuses reflect that.

And because the successes are so big €€€-wise, most companies can afford to spend time making the next big game instead of forcing people to crunch and sleep under their desks.

PC/Console gaming is a whole different world, don't know much about that.


My experience in embedded was great except for the: more work, less pay, more irrational management part. I doubled my salary moving to web backend services.


I’d love to write Rust code for embedded systems.


It’s not a job, but I’m guessing you would like this book: https://docs.rust-embedded.org/book/


Thanks!


As another ex-gamedev let me pile into this thread and concur with the parent. There's a very high chance that even if you break in you won't work on the game types that brought you there(I didn't) and pay/work life balance will be hell.

If you really want to do it, side projects are the way to go. There's a ton of good engines out there and way more resources than when I was in the industry.


What would you recommend for someone who thinks the math part is interesting (and yes I know in normal game project Unity or Unreal Engine would handle it), but isn't that interested in in promoting their indie project?


Oh, yeah, game mechanics or game physics engineering is amazing, but understand it's about 1% (if that) of what makes a successful game. I was watching my nephew play Fortnite over thanksgiving and thinking to myself "gee, the graphics are shit, essentially low-poly with some nice shaders!". And CoD Black Ops puts the physics to shame (and thinking that old timers used to tell me the physics of that were bad compared to e.g. PubG/Battlefield). But Fortnite is super colorful, and for a kid just coming off Roblox, it's accessible enough to play. So the HUDs and UIs and leveling and map dev and a million other admin tasks are where the majority of your game dev experience will be. Even doing some (gasp!) web dev, for things like in game stores and so forth. The gameplay mechanics and physics math of particle engines or calculating missile intercepts or inverse kinematics (jacobian matrices anyone?) for skeletal animations are mostly solved problems, but they can still be interesting to reimplement.


Back when there was no commoditization of game engines, every team starting a game had to do their own engine, tools etc.

Now that you have unreal and unity etc, you can actually concentrate on game design and gameplay instead of worrying about the engine and tooling.

I agree though writing a game engine and physics engine is very interesting. I used to work for the R&D team of a casino games manufacturer. We created our own in house game engine. It was fun, but adding any new feature would take a very long time. In the end we shifted to unity.


To me it sounds like someone's still making a living from R&D even though the big money is at casual games and selling diamonds or hats in in-game stores. The question is just how to get that job.


Wouldn't you just use an off-the-shelf rendering and physics engine instead of working on your own?


indeed, Fortnite uses Unreal engine


More accurate to say that fortnite is developed alongside unreal engine, they make unreal engine in house so they make their own engine. For example unreal engine 5.0 was very buggy, since they made it to work with fortnite first so only fixed the features that game used.


there would be some crossover but I'd imagine they're two separate entities


Exploration geophysics, remote sensing, satellite navigation, etc.

Fugro, Siemens, et al - Earth visualisation, medical imagery, etc.

The emphasis in these fields is getting visualisations and computations correct rather than convincing.

ie. The math part is interesting.

In remote sensing you might find yourself doing a continous pipelined SVD reduction of 500+ dimensions from a spectrum sensor to some three axis RGB like space to create a viewable image from a non visible part of the EM spectrum.

There's not so much of taht in game dev.


Any chance of doing that while not working in a giant crappy corporation, like Siemens?


Sure, I spent most of my career working for small nimble outfits that ultimately sold product to large crappy companies while moving on to other challenges.

The pipelined SVD reduction mentioned was written while working with a small company with 13 airframes (fixed wing and helicopters) that did full spectrum rad+mag+grav+lidar surveys of small country sized areas (Fiji, Mali, other similar sized regions) and eventually sold to Fugro.

Sometime before that there was something that was aquired and became [1]

[1] https://hexagon.com/company/divisions/safety-infrastructure-...

but that was very pre google earth | maps.

Today there are oppotunities such as [2]

[2] https://www.abc.net.au/news/2023-01-08/space-satellite-image...


If you think that the math part of game engines is interesting but aren't that interested in promoting an indie project, then you should look for jobs in robotics or computer vision applications. There isn't a large supply of jobs for replicating what can be handled by Unity or Unreal Engine.


What is it like to work in computer vision these days? I did some courses back in the day and it was interesting, but to me it seems that it's now devolved to looking up convolutional DNN architectures and trying which one works best for the problem at hand.


I recommend medical imaging as a subset of those. But perhaps unlike robotics and computer vision, there’s less possibility to learn as you go.


Actually there’s still quite a bit of math involved implementing gameplay mechanics and it can be quite a bit more off the cuff and experimental which people might find fun. The equivalent of writing shaders rather than a rendering pipeline.


I've made my own simple physics engines and used linear algebra to do things like projecting from 3d to 2d space. None of it was any good but it was a lot of fun. This was back when I was most comfortable in Java and the performance was horrible. I don't know what methods of collision detection real engines use but Runge–Kutta is not a good option for real time games.

I don't know how to do it and make money but I would recommend playing with the math. It's like magic, you setup the formulas and things just start moving on the screen. It was so much fun.


I spent the past 4 years at a small studio with about 6-8 programmers.

Almost all the programmers that ever joined our team came from a non gaming background.

And every time I onboarded someone new, it went about the same way. They adapted pretty quickly to our C++ codebase, even if they had a different background. But most of them were really not used to work in an environment where performance really matters. They knew how to write code, but they didn't know how to write fast code. Or what actually makes their code fast.

So if you want to prepare, take the slowest machine you can get your hands on, and program something for that hardware using C++ or Rust. It doesn't matter what it is. You'll learn a lot and have something nice to talk about at the job interview.


> So if you want to prepare, take the slowest machine you can get your hands on, and program something for that hardware using C++ or Rust. It doesn't matter what it is. You'll learn a lot and have something nice to talk about at the job interview.

As an aside, "slowest machine" seems an easy way to bench things - is there not a common way to wrap an executable in something that limits performance, network, etc?

It's a trope that developers tend to have beefy machines and so we often miss pitfalls of lesser machines unless we're explicitly benching code. I'm kinda surprised there isn't some CLI for `slow --ram=2gib --cpu_clock=3ghz --core_count=1 mybinary` sort of program.


Cgroups[0] can do that for you on Linux. I believe docker containers wrap the cgroups API and can do something similar? Possibly cross platform?

[0] https://en.m.wikipedia.org/wiki/Cgroups


CPU and RAM is pretty straightforward with something like cgroups or basically any container system. I'm not sure how you'd go about limiting GPU, though, which is probably essential for any modern engine that uses shaders.


You could put effort into instrumenting your main loop. Knowing how long the CPU takes to run the various routines will quickly expose bottlenecks. If you're using 90% of a high end CPU, you can assume it's not going to run well on less capable hardware. If you're using 10%, then you're probably in good shape. If you're using 100%, then it's a good opportunity to learn about various frame limiting algorithms.


> take the slowest machine you can get your hands on, and program something for that hardware using C++ or Rust

that's a lovely idea and a great limitation for inspiring creativity!


I'll go with the trite advice of don't quit your day job. Making games is very accessible right now. Making money off games is not as accessible! I just released my biggest game Pine Tar Poker (https://www.pinetarpoker.com/) and I built it all during nights and weekends when I had another job. Making the game was fun for the most part, but it would have been a lot less fun if I was stressed on how long it took and how much it was going to make back.

My basic understanding of marketing games today is that it's a full time job to stand out in such a saturated market. If you're not posting clips on TikTok, vlogging behind the scenes on YouTube, or putting up your Steam page right now to collect Wish Lists, you're already behind the eight ball. Again, this stress goes away if you're just dabbling in it as a hobby.

Just like anything in life, you start by doing. You can maximize your experience by having the right expectations and goals going in.

As others have mentioned, game jams are a great way to dive in, get experience, and meet some people.

Edited to add: my original answer was colored through the lens of "going indie". If you're looking for a job in the industry, I think that's a much "easier" path. Start building a portfolio of completed projects (not just prototypes!). If you have projects that show your creativity, skill, and grit, that's a lot easier for hiring managers to understand than yet another PDF resume in their inbox.


I bought your poker game earlier and am enjoying it. Well made! A few questions:

- What made you decide on designing a game for mobile vs PC/consoles?

- Did that introduce different challenges?

- Lastly, what engine did you, if any?


Thanks for the support, really appreciate it! Glad you're enjoying Pine Tar too :)

Mobile vs PC/Consoles - I have more mobile experience and the path to publish is more straightforward. Getting through Apple and Google takes very little time and is quite easy. To pull off Steam properly you probably want achievements (more art + localized strings), Xbox and Nintendo require them to approve you. Funny enough I'm in the process of porting it to Steam and hopefully Xbox and fingers-crossed even harder hopefully Switch. I do think you can charge more for the same game on PC/Console than on mobile. There are a lot of examples of this, so probably starting on PC and then going to mobile makes the most sense.

Challenges - Some challenges now that I'm porting the game: The game on mobile lets you tap anywhere in a 3d world. For PC/Console, you might have or likely have a gamepad so I had to make a cursor that was aware of what direction you pressed and "focused" the next object that was tappable and hopefully matched your intent. This is handled for you in Unity if everything is UI-space, but I have a mixture of world (3d) and UI (2d). This is the first game I did a full localization pass on, so finding translators, setting up the game for new languages, and making sure fonts had all the necessary characters without increasing the game size by 2-3x was a bit of a challenge. I am very happy with my solutions though and plan to use them on future games.

Engine - Unity. I have the most experience with it. I am tempted by Godot and to a degree Bevy (Rust is nice!), but I haven't seen enough games ship multi-platform on these "newer" engines. Unreal is nice, but beyond my needs right now.


“just released” says its 9+ years old on app store

you just did another update?


9+ is the age rating. I released it in the middle of December.


How did you handle the artwork?


I have a good friend who is a talented artist. We tend to look for styles that let us produce game content or marry existing content to the aesthetic with minimal extra work. Specifically, picking a good style and using shaders to achieve it can mean the ability to drop in Asset Store assets or models from other marketplaces and get them looking bespoke without much trouble. For Pine Tar, this meant my friend making a halftone shader that we could apply to all our materials.

Another option which I'm using on my current project is to go minimalistic and lean into typography and procedural visuals, so I don't need portraits or specific custom textures. This can work well for games like Wordle, where the game is meant to be front and center and the audience isn't looking for some heavy-weight theme.


Do you want to make games or do you want to make game engines? A lot of people have the two confused. I would caution going into game development in general... If you just want to make game engines it's a much smaller world and much harder to break into.

If you really want to make games there's a huge universe of types of game development. A broad approach would be to just start making games - pick Unity say - and while working at your regular job - make some games on your own. Nothing helps get your foot in the door more than showing initiative, creativity and a get it done aptitude than having some samples we can talk about.


Over the last couple of years I've accidentally done sort of what you're after. I'll describe what happened and give you some thoughts. I'm not sure how useful it will be as I'm now in a business where game engines are used for non-game work and, as I said, my path was fairly accidental.

I took a job doing an interesting C# project where the front-end was being developed by another company (that mostly does cinematic work) using Unreal. It turns out that most Unreal developers love the shiny side of things but rapidly get lost once it comes to needing C++ - or even Blueprints in some cases. I took on the responsibility for the bit where our code meets.

When this project ended, I moved to a different part of the same international company where Unreal was being used for virtual studios. It was a bit of a leap as despite not having much C++ experience, my first proper C++ job was now working on a fork of Unreal's C++ source. That's one huge, unwieldy, undocumented chunk of C++! I sometimes work alongside some very talent Technical Artists who do stuff I couldn't possibly manage in Unreal, but can get stuck when it get down into code. It is more interesting that "standard" dev, but believe it when people say graphics development is harder. In my experience, the only thing that's harder is FPGAs.

Here are some thoughts / tips that might help:

- Get proficient where most game developers aren't - C++. There is some Python used, but good Unreal devs can manage this.

- Use Epic's online learning. Their documentation is awful but their training is good.

- Look at non-game use of Unreal as a stepping stone to game work - virtual studios, architectural visualization, etc.

- This non-game work seems to pay OK. I hear game work doesn't so much. Maybe stay here.

- From my experience, Unity just doesn't seem to have as much traction outside games. Could just be what I've seen though.

I hope these rambling thoughts have been some help.


I run a game studio and we often hire people that worked in other industries before. In fact most of our staff have no prior professional games experience.

When I see people fail to transition its because they aren’t willing to put in the work to switch industries:

1. Learn some games relevant skills after hours to show that you are prepared and not expecting us to train you from scratch (unity or unreal are most common). The tools are free for personal and there are tons of free online tutorials. Build a small game — can be very small like a breakout clone. This will show the initiative you took on your own and what skills you’ve developed.

2. Don’t expect us to pay you as much as you’re making in your past industry because your skills may not translate and we will be taking a risk on an unproven gun.

If you go into the interview with those two it’s a no-brainer for us, but we also are a small indie studio so ymmv at a larger place.


>"we will be taking a risk on an unproven gun."

I don't think such a transition happens the other way around. It shows that game programmers are superior to web programmers. It's hard to swallow but it's true. There are web developers who aren't good enough to be game programmers and the reverse is unlikely to be true.

I say this from the point of view as a backend web developer.


I’m biased but I think game devs are some of the smartest out there. The bar is high.


"1. Learn some games relevant skills after hours to show that you are prepared and not expecting us to train you from scratch (unity or unreal are most common). [..] This will show the initiative you took on your own and what skills you’ve developed."

Are you evaluating also how much time it took to complete the after hour project? What if I complete a clone game in 2 years? This might be excluding anybody that cannot work after hours, for a reason or another.


> This might be excluding anybody that cannot work after hours, for a reason or another.

Maybe I'm reading into this but I see this type of response a lot on HN.

> A: You need experience. Get some after hours

> B: I don't have any time after hours. It's not fair

Like gees! What do you expect?

B: I wanna be guitar player in a rock band

A: Well, if you don't play guitar, take lessons after hours

B: I don't have any time after hours

A: So what do you expect me to do about it? I'm not about to add someone who's never played guitar and can't demonstrate the skills as a guitarist in my band. It's not my problem that you can't play, don't have the time to learn, and yet want to be in my band.

---

Same for any company: So what do you expect me to do about it? I'm not about to add someone who's never programmed games and can't demonstrate the skills as a game programmer in my team. It's not my problem that you can't code games, don't have the time to learn, and yet want to be in my gamedev company.


Totally agree. I really don't understand what people think the solution should be. If person A has 10,000 hours (because they've been doing something for years) and person B has 1,000 hours (because they had other commitments) you ofc (save other reasons) have to hire person A. It sucks but I genuinely don't know what else to say.

I work in quantitative trading and the number of people that think they can just throw a script together and make money is... well, if I had a dollar for each...


Judging by this response you don't seem to have many things that could or would take up your spare time.

Please, please please think about you comment when/if you ever have kids. I guarantee your perspective will have changed a great deal.


This person is speaking from the employer's perspective, I struggle to see how becoming a parent would change the equation for their side.

They want to hire people who already have some degree of relevant experience. That is a reasonable requirement. If that excludes some parents who don't have time, so be it. Being a parent is one of many lifestyle choices that can limit one's ability to arrive at an interview with sufficient background knowledge. It does not warrant special treatment & exception just because it's parenting.


One of the very real sacrifices of becoming a parent is that your ability to just try out new stuff be it a job or a hobby becomes very limited.


It's not possible to have it all in life. The choice of having kids (and being a good and responsible parent to them) obviously closes some other doors.


Should number of kids come up in a job interview?


We are OK with missing out on some people because we cannot clearly evaluate their ability

I don’t care how long it took. Longer would demonstrate a sustained interest. Shorter would demonstrate efficiency. Both are valuable


I have hired a bunch of people in game-dev, personally it doesn't matter how long it took. If you show me a demo game/project you've built then we can talk about it, problems you faced, decisions you made about the architecture, your pipeline, where you cut corners, etc.

I don't care how long it took (specially if it's a hobby after work kind of thing) as long as I can see you have a solid understanding and experience of what the work really is.

Not having time after hours it's a hard problem to solve. Gamedev problems are quite different to other software industries so previous experience might not immediately translate, this is specially true for gameplay programmers or things like tools and engine where you need to have experience with working with artists/designers and within the constraints typical of games (memory, performance, platforms, etc). But other fields like, backend, devops, data analysis I've seen often hire from outside the industry


Excluding everyone that cannot work after hours might be the intention?


How does a person who is curious about this contact you?


Not currently hiring and we only hire local to Los Angeles, CA


I see making games as an art, which would barely pay. There's a reason why they call most artists starving artists.

My path to being able to practice this art is to first reach financial security via a traditional job in tech. The pay in tech is pretty good all things considered, and at the same time you can train your engineering prowess.

You save, invest and move up the corporate ladder (or move jobs often) to ensure your pay is high, and do it for 10-15 yrs. Couple with making sure you don't overspend on consumption (a sacrifice you will have to make for the sake of your art later), you should be able to reach financial security before you're 35-40: a couple million in income-generating investments of various forms (like stocks/bonds/real estate).

Then you basically "retire" from tech, and focus on the game and live off your investment income. Don't expect this game to be commercially viable of course - it's your artistic output, not meant to sustain your livelihood. Then you keep doing it until you get sick of it, or truly retire as you get too old to type.


Also keep in mind that if you want a life partner and kids then the retire-early threshold is much higher. (Unless your partner doesn't want kids or is already wealthy.)


I ventured into the land of game development almost exactly 10 years ago, after having spent 20+ years of my life being a "traditional" developer. I started out with Unity and stuck with it, because it lets me focus on programming (and C#, which I love). Unreal wasn't left untouched, but to me it focuses too much on style and design, which I have no feel for;

* Game development is _very_ different from "normal" programming. It's still just programming, and it's not necessarily harder, but _how_ you solve things is radically different.

* You will spend _years_ trying to get the grip on things, combined with your regular day-job to keep the grip on your non-gamedev life.

* You will never succeed, of course, but that's the same for everything. For game development it's harder to accept, because it's so easy to get up and running quickly, you are feeling like Sid Meier the first year.

Other than that, it's a lot of fun. :)

EDIT: About the "very different" part, which it seems like I portray as something negative; that's actually the most interesting part, at least for me. I learned how to appreciate composition this way, and in general learned how to approach problems in a totally different way.


When you say Unreal is too focused on style and design, do you mean the IDE? Did you just use Blueprints without any C++ underneath? I’m just surprised because having dabbled with both I’ve generally found Unity less code-centric, especially with the amount of stuff in the asset store etc.


No, I mean Unreal's and its community's focus on graphics etc. Definitely not the IDE. :) Someone once told me that "if you want to design a game, use Unreal. If you want to create a game, use Unity."

Unreal is undoubtedly a great game engine, but it's not for me. If you feel it's better for _you_, then use it. Always use the tool you are most comfortable with. :)


I've bounced back and forth between gamedev and webdev/data science. What I did before my first gamedev-adjacent job (training sims for the Army) was learn unity and openglES on android. I put together a small portfolio of POCs I made while learning and used that as evidence I could do the job.

The trick's just to accumulate proof you can do the job you want to have, then show people that proof while asking to do things for them.

Another fun trick is to never stop accumulating proof and post it all publicly on some kind of social somethingsomething as you go.

I get dms for consulting gigs through twitter without having to ask now. I haven't updated my resume in years. I just create and publish.


Thanks! I've used Unity a little bit but will have a better look at it, I've been playing with Pygame but I guess it's better to use a proper tool to learn.

Any thoughts on Unity vs Unreal?


Pygame's cool. I had some pygame things in my portfolio in the very beginning, but I've never seen it used by people who have signed my checks.

I like the development workflow in Unity more than Unreal. C# > blueprints/C++ for me as a matter of preference.

Unreal has some graphics tech on the high-end that I'm envious of. Real time lighting from emissive materials/volumetric emission/nanite. Metahuman. Unreal also has a lot more/better free 3d assets.

I'm going to make a wild claim that Unity is better for making weird games and hybrid things. Partially because the .net standard library is bananas. (Shameless example ;D https://twitter.com/LeapJosh/status/1552977798452609024 )


> Any thoughts on Unity vs Unreal?

Doesn't really matter. There's a kajillion games made in both.

Unity is used by smaller indies and mobile devs. Unity is not conducive to large projects for reasons. Unity programming largely means C#.

Unreal has minimal use on mobile and is mostly used by larger teams. It's popularity over custom engines is increasing. Programming in Unreal largely means C++.

Of course backends could be anything. The above refers to game clients.

Games don't pay as well as big tech for damn sure. But companies like Riot Games pay decent. Big AAAA games that make lots of money know they compete with the broader tech industry for talent. Senior positions will pay north of $200,000. It's not all starving artist land. But big tech would pay 2x to 3x.


You might like Godot if you know Python.


I wish you the best of luck with this. I work in computer graphics in the film/tv/video industry rather than games. I work with several people who are former game developers. They all got out because the work was horrible. They loved graphics and rendering, but couldn’t stand the work conditions. As one coworker said, “One day I went into the office and realized I was the only person over 35 working there. Everyone else had left because of the work conditions, and I realized it was time for me to go, too.” So just go in understanding the conditions.

Another coworker said that until you’re more established they give you the shittiest jobs. One person who did an internship over the summer while getting their master’s degree was tasked with getting the intro screen (where you select which game you want to play) working. It took them about 2 days, but because they weren’t a senior engineer, the company never gave them anything else to work on. They spent most of their internship (after trying and failing to get the company to give them other work) surfing the web.


If you work in AAA you can make as much or more than your tech job and be doing more interesting work, but of course you have to be good and an expert in some domain to make any decent money. Generalist programmers are not in high demand.

I specialize in rendering, lighting, cameras, and make a good living as a tech artist. My work is infinitely more fun than my old jobs in tech companies doing front-end, and my pay is much higher than it ever was in tech.


> My work is infinitely more fun than my old jobs in tech companies doing front-end, and my pay is much higher than it ever was in tech

What’s your niche now and what was your background before moving into gaming?


Are there many remote opportunities for such roles or are game dev companies still into collocating people in offices?


There’s a lot of remote game jobs since the pandemic started. Some companies are attempting to go back to the office or do hybrid, but many are permanently remote now that it’s proven to work fine.


How'd you pivot? I imagine there isn't a bootcamp for this.


> My tech stack is almost definitely irrelevant; Python, JS, Rust, Haskell, etc...

FWIW, at least in larger studios, there are lots of tasks that involve scripting, you can find people that use Python and JS and other languages every day.

Here are just a few examples I’ve seen (I was a lead game dev in a ~200 person studio for a decade):

- NPC, boss fight, level, and gameplay scripting.

- Automated gameplay testing & perf analysis, setting up playthrough and frame rate monitoring.

- Asset builds, converting file formats, compressing and packing data into bundles. (I had a large Python project on one game, for example, to convert audio into lip sync animation.)

- Code generation for shaders.

If you look around, you might be able to find roles that are pretty easy to transition into given your current skills.


> Code generation for shaders.

Interesting, I always assumed shader code was generated by the engine and tweaked by gurus. In all the talk here about backend vs frontend or which engine to use, you never hear about companies explicitly hiring shader programmers. And learning resources are scarce. It’s kind of a dark art.


It’s funny, I was a graphics person hired specifically to write shaders (20 years ago, in a studio that had their own in-house engine) but didn’t end up writing any at all for games, I did almost everything but shaders. :P

There is definitely a consolidation of game engines happening in the industry. I don’t know how it’s affecting shader writing jobs, but I can imagine it’s quickly becoming less of a thing. Still, I hear a lot about people writing shaders for and doing customization on top of Unreal today.


Similar to the rest of the tech industry, game dev is a very wide field, if you want to work on large games I would suggest you figure out where in the pipeline interests you most (technical art, gameplay, tools/engine, networking, audio, rendering, live Ops) and build projects that revolve around that domain. If you want to work on smaller games then you just have to start making games. To me, the only real difference between game programming and most other programming is the need for more complicated math so making sure you have a solid understanding of the maths used will serve you far better than learning any specific language/engine.


I think this is the key point.

Asking how you can get into gamedev is kinda like asking how can you be a professional musician. Sure, you need to know and like music as a base, but becoming a concert pianist, a jazz drummer, a metal guitarist or a hip hop mc are very different paths.

Similarly, there’s a big difference between working on Elden Ring vs a small indie or even one of the millions of match 3 mobile games.


start making a games. a good demo is what got me in.

unity and unreal are ubiquitous and easy to use, if impossible to master. having some demonstrable experience with both will open up a lot of options, as well as give you and the interviewer a grounding for questions in interviews.

... and don't be afraid of the maths. you nearly never need calculus and statistics or anything that 'classically hard'. its almost all geometry and mechanics... most of it the kind of stuff you were taught at school, but grounded in heavily grounded in real world problems where your intuition can be helpful.

most gamedevs know nothing about the guts these days so being highly technical isn't as important as it once was - to an embarrassing level. the barrier to entry looks higher than it really is sometimes.... it certainly felt that way for me. the biggest take away from my first role, was how narrow and unpractised everyone's skill sets were - and how thats kind of a necessary feature of large scale game dev... you don't make many games very often, and you usually have very specific responsilbities that go unchanged for years.


What are your thoughts on Godot?


For context, I learned to program via hobby game development, eventually going pro. But I gradually transitioned away from the game industry, into adjacent territory like simulation and visualization. Of my six jobs thus far, the non-game ones were the best two overall.

Today's "mid-size" to AAA game development culture is ultra-conservative, both technically and creatively. Ballooning team sizes and budgets mandate this. Do not join a studio bigger than ~10 people. Smaller teams/studios imply better jobs, in my experience.

They say not to make your hobby your job- unfortunately, there's no other way to break in to this highly competetive industry (echoing others here). So start with hobby game dev in your free time. It's worth learning C++ while doing so. C# is another option, but one that mostly locks you in to studios using Unity.

Beware of relatively low compensation and "crunch time" (really a perpetual, cyclical issue in game dev). I largely escaped the latter, but most in the industry can share overtime horror stories.


I've been a web dev since 2002, and started contracting in 2013. I've been making games as a hobby in earnest from about 2016 onwards.

Tried a bunch of tech to see what stuck: phaserjs, haXe (fun!), Lua stuff like löve2d, unity (also with clojure). I settled on unity initially, but got burned (deprecation, docs/support, etc), and finally settled on Godot (I've got python skill, so gdscript felt natural).

With contracting, I make slightly more money than permies, so I can afford to spend a day a week on gamedev. With a view to phase in more gamedev days as I get more successful.

I just recently completed a masters in indie gamedev to fast track some of the skill requirements.

I'm happy with the approach I took to get where I am. It's low stress, I still make money, and I still have bags of fun. And the masters saved me some mistakes in the long run.


Do you mind sharing where you did the masters?


https://www.falmouth.ac.uk/study/online/postgraduate/indie-g...

Link in my profile to my blog, where I talk a bit more about it.


If you have specialized in a sub-discipline, it can be an entry point without prior game dev experience or shipped titles. For me, my background in and love of audio and music programming made me desirable despite a lack of game dev roles. Turns out there is a severe lack of audio programming talent across the entire industry (we are looking for more at Naughty Dog as well!). Other specializations within graphics, physics and AI may also be ways to bypass the typical, Catch-22-like requirements for prior game dev experience.

The old generalizations about lower salaries and higher hours are no longer true across the board, by the way. As the industry is maturing, a lot of that is changing and the culture around things like crunch is changing for the better.


I feel I might be exactly the type of individual the company is looking for. For someone like me, without a strong tech resume, but lots of time spent with audio/audio programming, an audio programming/production role would be amazing. Is this something you'd be willing to talk to me about?


Absolutely! My email is in my bio. Reach out and we can find a time to chat via whatever medium is comfortable.


I worked in gamedev for a decade doing a mix of engine programming and economy design. Programming is the easiest path in. Read job postings to find what sounds interesting and what tech they're using. Then learn that tech in your free time and build some simple games with it to use as a portfolio when applying.

'Simple' is the operative word here. Think Flash game, or mobile toilet game. Nothing on a console is a simple game, and neither are 99% of Steam games. Itch.io is another community of experimental games with smaller scope. Use royalty free art from the web; art assets aren't the point of your portfolio.

Once you're inside, you have a lot more freedom to move into the softer roles like design, production, or management. If those interest you.

You seem somewhat informed on the hours (which are bad, hopefully you don't have a family or want one anytime soon) and the pay (far less than webdev TC). You should also be warned that making games will make you hate games. If you don't absorb and accept the business side of making games, you will be constantly frustrated by leadership decisions, and you'll be stuck in the lower ranks. Climbing the corporate ladder means accepting that games are commercial products maximizing shareholder revenue. A LOT of gamedevs fight this their entire career only to their own detriment. Whether you fight it or not, it'll ruin how you view games, as the commercial lens can not be unlearned.


I started my career in a traditional tech role and quickly grew to hate it.

I used my savings to fund a 2-year sabbatical in which I wrote my own game engine using C++ and LUA (this was in the dark days of XNA, no Unity yet).

Towards the end of my sabbatical, I went to GDC and started getting involved in the scene and used my game engine to apply to AAA studios. I eventually landed a job in Vancouver BC and went to work at an amazing studio for the next 5 years, which gave me enough time to meet some co-conspirators and start my own studio.

After 5 years of hellish work, intense stress, and poverty wages, we created https://store.steampowered.com/app/656350/UnderMine/ which found enough success to make another game. It destroyed several relationships, burned me all the way out several times over, and caused me to tear my retina I was at the computer so much. It's hard to be honest with myself about what I would have done if the game had flopped.

So it's certainly possible to go from traditional tech into games. It can take a while. Everyone's path is different. Be prepared for some life-altering downsides to the games industry, especially on the indie side.


Wow, love your game! Interesting to hear the story behind it.

I just came out of Ludum Dare this weekend and always play with the thought of entering the indie game dev scene, but I'm just too afraid of leaving my stable dev job.


Thanks!! Of course there's much more to the story and most of it is awesome. I just use those points to drive home how hard indie dev is.


Game dev of nearly 23 years here and I often wonder the opposite -- how do I get off this crazy roller-coaster?!

One thing I feel strangely insecure about is my aging orthodox C++ upbringing; these kids and their new-fangled whiz-boppers make me feel like a dinosaur. The flip-side is that it puts hiring pressure for our company (and I assume many others) to find programmers that can write orthodox C++ so that would be the first place I would focus on extending your knowledge.


Any job postings? I love C++


Roblox is hiring.[1] What they're looking for gives a sense of what a very large publisher wants.

* Senior Software Engineer, Payments & Fraud

* Senior Site Reliability Engineer - DNS Infrastructure

* Economist ($359,170—$415,750 USD)

* Animator (lots of online hoops to jump through to even talk to them.)

* Senior Backend Software Engineer, Social Co-Experience ($218,540—$283,780 USD)

* Senior Product Manager, Social Communication Safety ($252,000—$318,090 USD) Develop real-time censorship systems for voice.

* Senior Manager, US Public Policy and State Strategy ($210,490—$275,910 USD) "Build relationships with state policymakers and political figures"

* Senior Audio Software Engineer ($218,540—$283,780 USD)

[1] https://jobs.roblox.com/careers


From friends I've had who have made the jump, learn a game engine (unity / unreal / etc), make some small games (can be for a game jam or whatever) to put on a portfolio and mass apply to lots of different companies of many sizes. You may have to take a job title hit (i.e going from senior -> junior) / large pay cut.


With smaller indie games you can spend your time doing everything, which might be safest to do on the side at first. In AAA you’ll need to specialize due to the large teams. AI, gameplay, physics, audio, graphics, engine, network, backend, can all be different code teams. The type of work can be very different and I’m willing to bet you might like one but not the other.

Like others have mentioned, just get started on the side and you’ll likely gravitate towards what you enjoy. Try something like Tom Looman’s course[0] that basically teaches you everything you need to build a game in Unreal. You’ll also pick up C++ and Unreal Engine, which will help if you want to find a full time gig in the industry.

[0] https://courses.tomlooman.com/p/unrealengine-cpp


Just make a game.

Game dev is actually one of the least credential conscious parts of the industry. If you can ship a game and get people to pay for it, that's all the experience you need to get hired somewhere. With Steam and all of the free game engines nowadays, there's really nothing stopping you anymore.


I'm a full stack web developer and held 2 positions at game dev studios in the past.

The first one was very much a traditional full stack experience, developing front end features for the website and web based apps, as well as back end features for the web and games. We worked very closely with the game development team, so day to day I had to go into dev builds to see if my changes worked properly. I loved the job, it was the games I always wanted to work on, colleagues and management were great. But crunch was hard, ended up burning out which took a while to recover. Looking back at it, I would do it all again, I learned so much and I'm proud of what my team and I achieved.

The second job was as a UI developer, using the Gameface middleware, which basically renderers a web frame on top of the game, allowing you to design and write UIs with web tech. I was doing React there. The job was alright but the management was horrendous, a complete shit show at some points. Ended up leaving after a year and never came back to the games industry.

For both jobs, the salary was lower than other web dev jobs. And at times, it can be quite tough with crunch. But on the bright side, you meet great people and learn lots about game development even if you're not directly in the production pipeline of the game itself. I guess if your focus is to work on the game, you can easily transition within the company.

Your tech stack can be relevant depending on where you apply. Experiences wary greatly between studios, sometimes even within the same company. But I noticed a trend where working conditions and salaries are getting better in the industry, so maybe it's a good time to join. Have a look at career pages of game dev studios, you might find something you like.

Or maybe look at the indie route, working on your own game idea during your spare time. I'd highly recommend starting with Godot[0], the concepts of that engine are quite easy to grasp and you can produce really good results with it.

[0] https://godotengine.org/


If you are interested in indie game development, or making your own (2D?) games, a relative of mine has a youtube channel with free tutorials, and also sells courses & books; covering GameMaker, Godot, and pixel art, for what it may be worth:

https://www.youtube.com/user/uheartbeast/about

https://www.heartgamedev.com/


Don't.

The pay is shit and the work is grueling. You'll make more money shoveling some enterprise's Spring Java shitpile than you will developing games, and you will still be able to see your wife and kids.

If you like making games, make one yourself, or help out a small indie studio with people you know. Hobby stuff. Don't let the business quench the flame of passion for the art form.

There are good AAA gamedev jobs. I knew a chap who worked with Ken Levine workshopping gameplay ideas for the BioShock series with Python prototypes. But he was in a very fortunate intersection of "has the right skills" and "knows the right people". If you come in cold, you're most likely going to find yourself "texturing the right eyeball of NPC #642" or "fixing glitches that arise when the player presses a certain combo of buttons" or something, 12-14 hours a day, 6-7 days a week. Every bit as grueling as enterprise-shop work, but under constant crunch and for very little pay, comparatively speaking because the demand for game-dev roles vastly exceeds the supply. Every kid wants to get into games, so if you're not willing to accept the shitty working conditions, there's always someone fresh out of Full Sail University who is.


Don't go into gaming, especially if you really want to. Your enthusiasm will be used against you. Long hours, mobbing, low pay, harassment, just naming few. And if you complain, the only answer you will get is "There are ten people on your place that will be happy to be in same situation as you, so don't be so ungrateful or we hire on of them on your place"


If you are sure you want to do it (see other posts!) then I would agree with others that getting your foot in the door with a webdev related role could be a good way to get into it, especially at a smaller studio with less defined roles and more flexibility for people to help out on other bits.

Personally I’d always been interested in music software development but my career was in webdev. I took a job at a music tech startup doing Node/React work, but was able to make a prototype using React Native to build the UI for music apps during the regular hack days we had there, which led to me teaching myself C++ and leading development of a new music app for them. I actually am not working in the music world any more but still do some for fun on the side, and found knowing both C++ and JS has opened up some really interesting job opportunities so it worked out well for me!


I recommend taking a look at Handmade Hero. Follow the first 20-ish episodes then brach off and use the Episode Guide (https://guide.handmadehero.org/code) when needed. Also join the Handmade Network Discord to get direct guidance from experienced folks.

There's a lot to learn from gamedev that is fully applicable to traditional tech, so there's really not a lot of risk in going for it since you'll be more hirable _anywhere_ in the long-run. Many companies in traditional tech are catching on and looking for game and game engine devs specifically.


Step 1 convince your family to reduce spending by 60% and to not complain if you're off for crunch time 4 weeks where they won't see you anymore.

Step 2 getting an average game dev job is then easy.

Yes, pretty much all game devs are severely underpaid.


Thanks a lot for asking this question. I just got my first job In a a gamedev studio after a bit more than 20 years working with webdev. Maybe in a few months I can come back here and give you my testimony.


There's a huge opportunity in gamedev to apply neural-networks to real games. Think neural-net controlled NPCs or generative storytelling. You can start doing small indie games with this approach and get some very valuable experience. There's not much people merging AI and games these days.

I've started this way roughly year ago. Here's what helped me.

1. Find an active community for the tech stack you choose (game engine) [I went with bevy and Rust]

2. Do a tutorial project such as simple table-top game, but do it really well [chess?]

3. Participate in game jams

4. Start contributing to engine development or infrastructure around it (plugins)

5. Do a novel environment for training AI


The standard approach to AI (training to maximize some sort of goal function) is rarely used in games because it results in AI acting robotic (non-human) and that can break the immersion. Having said that, I'd love to play against a ruthless, robotic AI in a Civ game.


There's a lot of non-trivial applications to AI in games:

1. AI-controlled physically-accurate character rigs instead of inbaked animations [1]

2. Conversations with AI NPCs (maybe lore-conditioned ChatGPT): think interactive Skyrim where you could actually talk to everyone

3. Evolving Neural Networks to control battle AI, but where Neural Networks get the same input as player (screen pixels, sound) instead of decision-tree based AI strategies. Then think how AI will learn along with player (Remember how PodBOT learned new maps in CS?) Current methods may work for any game, and bots may discover entertaining strategies by themselves

4. Multi-Agent large-scale simulations: there's some research [2] going on, imagine it applied to open-world games

5. Simulation for sim2real. How about testing a new robot prototype in the game before making it real

---

[1] ASE: Large-Scale Reusable Adversarial Skill Embeddings for Physically Simulated Characters, NVIDIA, 2022 https://nv-tlabs.github.io/ASE/

[2] Neural MMO: A Massively Multiagent Game Environment, OpenAI, 2019, https://openai.com/blog/neural-mmo/


Also, and this is the big point: AI is not meant to win. Being better at playing the game is not the primary directive of video game ai.

The primary directive is to entertain the player(s). An AI that loses every round is 100% compatible with that goal. An AI which always loses but makes the player feel like a genius for winning is not a bad AI: it is perfection.


"The primary directive is to entertain the player(s). An AI that loses every round is 100% compatible with that goal. An AI which always loses but makes the player feel like a genius for winning is not a bad AI: it is perfection. "

This is true, but only valid for arcade games and players. For any "serious" gamers, who wants a challenge - bad AI breaks the immersion. For example in Total Warhammer, the AI needs to cheat to have a chance on the map. Arcade players won't notice, but the veterans are annoyed by this, as they know it means, most of their strategic actions on the map are useless (like trying to bleed out the AI opponent economically).


I would say try out making your own very simple game first. Others are suggesting unreal etc but you can simply use your current knowledge to build something using webgl 2.0. See if you even enjoy that process first.


Don't.

Do you enjoy playing games or do you enjoying making games?

If you enjoy playing games don't kill your hobby, if you enjoy making games I would expect you'd already have a ton of example projects you could show and discuss, even just game designs scribbled on paper somewhere.

If you don't have that you'll be competing with people that do, and with people that will kill themselves in their 20's to work unreasonable hours for shitty pay because it's their passion. It's all they've done since they were 10 years old and it's all they ever want to do.


Interesting to know this as well. I'm planning to "retire" to gamedev after a few years in big tech and I've built up a safety net.

As far as I know, from second hand knowledge, it's a lot higher risk and generally lower paying than other software industries. But if you have a passion for it, there is probably nothing better for a programmer.

I'm guessing it also requires a fair amount of luck and/or experience to work on interesting games. Most gamedev are working on games they'd never play themselves I think.


Does anyone have any source (books/videos/open source projects) on backend development for multiplayer games? The scale and real-time aspect of it seems like a fascinating subject.


I thoroughly enjoyed https://www.goodreads.com/book/show/28105277-multiplayer-gam... and would highly recommend it!


Cons

- lower job security (frequent layoffs, canceled games, missed financial expectations)

- lower pay

- less work-life balance

- higher risk projects

Pros

- great technical challenges

- you'll work with non-engineers more often

- a more social, less grumpy environment

Work ethic and reputation is key to succeed, as you'll need referrals from coworkers to keep things going over time.

Larger studios are known to be meat grinders. https://www.youtube.com/watch?v=lGar7KC6Wiw

Working in the games industry is a valuable experience but not everyone can afford the salary hit.


My path was to join a mobile game company and work server side. There is plenty of need for vanilla REST APIs, content management systems, build pipelines, devops, admin panel development, billing systems, and other code required to run the game. I've also seen demand for technical artists who write plug-ins for Unity and other tools that help 3d artists. Whatever path you use to get in, it's pretty easy from there to move around to other areas and companies.


I worked at a startup for a few months as an intern during my PhD that built technology to estimate latency in unknown wireless network topologies. This is very useful for streaming games, online games, etc. That was a really fun environment and I take appreciated that it was adjacent to gaming and not gaming itself. I could imagine that this is quite a nice way to enter the industry, that is, working on technology adjacent.


For me, the path has been to start at a web developer, then building up more and more advanced skills to end up in making browser-based games as a profession. Perhaps my skills and end results wouldn’t be very impressive compared to a more hardcore real gam dev, but it the salary and benefits are well on par with a regular job and I get to do fun things at work.

I recommend going down this path as a front end engineer.


Game devs changing rapidly right now due to UE and Unity. It’s getting crowded and you need VFX expertise. And to be honest, VFX takes a lot of talent and very much labor of love. You’re much better off specializing in backend stuff for games. That said, it’s also very easy to develops your own game using UE/Unity.


Once I was interviewing in one gamedev studio to position that clearly stated that no previous gamedev experience needed. After homework and 5 interviews, all with positive feedback and assurance that yes, no previous experience needed - I was rejected with reason “no previous gamedev experience”.


I'm surprised nobody mentioned the demo scene as a resource for aspiring game developers. Wild stuff.


What is it that you like about gamedev? Indie development is very different from AAA gamedev for example. There are also many disciplines within gamedev, each with their core responsibilities and day to day tasks.


Suggestion: try doing it as a hobby before doing any major career changes.

> I love games

Many do, but game development can be tedious sometimes, or you might just discover that you like something else more.

# Game engines: Godot

For an easy start at putting something together, consider downloading Godot: https://godotengine.org/

It's a free game engine that's relatively simple, is open source, and supports both 2D and 3D, as well as has their own scripting language called GDScript (that should be easy to learn if you know Python), whilst also supporting C# (which is used more commonly in the industry). The documentation is pretty good, though you can also watch videos, like this channel for example: https://www.youtube.com/@Gdquest/videos

Follow the tutorials and try to put your own game together, see what working with maths/physics/things like raycasts is like, what it's like to deal with a game loop and scene trees, how logic that's attached to various nodes/objects interacts. Don't make the game anything complicated, start out with something like pong, breakout or snake.

# Game engines: Unity

If you want to focus more on what's used in the industry, rather than something that's just approachable, download Unity: https://unity.com/

You can do this as the first step as well, though you will have to use C# for the most part (though you can get Lua plugins, IIRC). This engine also has a rich ecosystem around it, as well as lots of different assets/plugins in the store, some of which are free. Do be warned that it's somewhat fragmented in the recent years (URP/HDRP, DOTS, networking and UI) so some things might be a bit confusing and it can get problematic to work with when you're dealing with larger projects. I recall Brackeys making some nice videos a while back, though apparently there's no new content: https://www.youtube.com/@Brackeys/videos

# Game engines: Unreal

Alternatively, if you're comfortable with even more complexity and lower level languages, go for Unreal: https://www.unrealengine.com/en-US

Admittedly, on the programming side of things it also supports Blueprints (visual scripting), but you'll probably be working in C++ with it as well. It can feel more coherent than Unity, but can also be more challenging to work with and some suggest it's optimized towards particular types of games. That said, the graphics and LOD solutions are excellent, so it's an especially good choice if you want something visually striking (though Unity's HDRP can also look good with some work).

# Game engines: other

There's also the option of looking into lesser known engines like Stride for example https://www.stride3d.net/ but while many of them will be interesting, you can't really compete with the amount of resources about Unity, Unreal (and perhaps more recently Godot) out there.

There's also the option of trying to write your own engine, but at that point you're most likely no longer writing a game and might not ship anything at all. For an example of someone's gradual descent into insanity (joking, sort of), look at Randy: https://www.youtube.com/@bigrando420/videos

# Other software

As for supporting software, for modeling/texturing/animations you'll probably want something like Blender: https://www.blender.org/

For image editing, GIMP is free: https://www.gimp.org/

For drawing, consider Krita: https://krita.org/ or FireAlpaca: https://firealpaca.com/

For simple audio editing, Audacity is okay: https://www.audacityteam.org/

If you just want ready made game art, consider looking at OpenGameArt: https://opengameart.org/ or something like that, personally I think that Quaternius has some nice ones if you're not picky about the style: https://quaternius.com/ or there are occasionally compilations of free songs etc. on various Reddit communities I think.

For version control, you can get by with Git, but please consider Git LFS: https://git-lfs.com/

# Summary

All of this doesn't mean that you need to release your own game on Steam or Play Store or wherever, merely play around with the tech and familiarize yourself with the different aspects of it all, to figure out what you like or don't like.

If you do decide to release a game for whatever reason, tamper your expectations and don't be afraid of failure. Consider what the launch of Brigador was like, despite it being an arguably good game: https://www.youtube.com/watch?v=qUsuusNLxik

After three to twelve months of this, you should be able to figure out whether you want to make the career change or not. At that point you already have a CV with past work experience on the programming side of things, as well as a little portfolio of demo projects and such, then it becomes a matter of networking and such. Building out in the open is also an option.


1. Don’t.


watch the movie/documentary called "Indie Game" on Netflix


Have you built any games?


prepare to give up 50% of your TC, good luck


Dont




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: