One thing that has changed in the professional game industry is that
mastodon.social
mastodon.social
Nowadays even for junior positions we wouldn't consider anyone without at least a bachelors degree in CS, so that's at least 3 years of university - putting the minimum starting age with us at around ~21-22 years old. I myself started just after my masters degree, at 23 years old.
I think that it does mean we are missing out on a lot of very self driven, ambitious candidates - but even requiring a minimum of CS education from candidates we get in excess of 1000 applications for every junior position. I understand why recruitment would be reluctant to start looking at candidates without any formal qualifications.
But it's probably not worth fixing from a boring economic perspective, if you already have too many excellent candidates to employ.
Early games needed visuals and that was something results were important, which demo guys delivered on machines with still very limited resources. Formal education for games was lacking behind during the 90th. After all, games as a broad industry was a new concept. (EA once produced games for the C64.)
This has changed. With more and more abstractions and more processing power it is more and more important to work on algorithms not hacks.
Most self taughts lack broader concepts, abstractions and especially algorithms. I had to learn everything besides hacking my way into Frontend development.
Would I look out for folks with no degree? Yes and no. I depends on the use case.
On the other side: the world is filled up with mediocre code from people with degrees. There is no guarantee. Only constant learning - and this is a supoerpower at least some self-taughts have.
As a self-taught who later went to university for pure mathematics (which I got interested in through game programming), that was not my experience with the late 90s, early 2000s generation of self-taught game programmers. I think you have to go back 5 to 10 years earlier for that stereotype to have merit; the transition from 2D to 3D filtered out some people.
In the post-Quake generation, the sexy thing for budding game programmers was 3D graphics programming. For the most part you had no choice [1] but to read, understand and implement SIGRAPH papers and doctoral dissertations to learn the ropes, which in turn forced us to learn a lot of the formal prerequisites albeit unevenly. And there were a lot of advanced data structures involved with visibility determination (and later level of detail), which was the focal point of graphics in the Quake 1 and 2 era before it fell to the wayside once the dominance of GPUs made more brute-force approaches the right choice. So whether you liked it or not, you had to master a decent swath of university-level CS and math.
The main thing self-taughts generally lacked when joining the industry were the same thing all new employees lacked: they don't yet know how to work in teams, they don't know how to manage time, scope and complexity (though it helps if you've worked on larger personal projects of your own), they cannot make long-term engineering trade-offs (reliability, cost of making changes early vs late, flexibility vs performance, etc) because they haven't gone through full project cycles, and so on.
[1] There were a few useful resources like Abrash's Dr. Dobbs articles on Quake which were partially pre-digested for easier consumption by programmers, but it was still daunting if you didn't understand the math. And the rate of progress was so high in this period that the few reliable sources of how-to information were so quickly out of date that you _had_ to keep up with the academic research and experiment by implementing and improving it yourself.
Maybe they'll end up joining/founding indie companies instead of AAA companies
Why?
It's a tough line to walk - as a hiring manager I'd love to talk to every promising candidate no matter what education they have, but equally I also wouldn't want to do the job of recruitment where they take weeks just to sort through the absolute flood of applications that we get.
It seems to me that instead of putting more effort into "sorting through the absolute flood of applications", or perhaps even finding a solution for that problem, HR just ramps the qualification bar even higher disregarding the possibility that higher education is not actually needed, and that talent is not necessarily reflected in any sort of degree. At the same time, it de-values higher education.
You absolutely expect employees having the "best" education, giving 100% and going the extra mile without actually willing to put up the work on hiring talent based on reality.
Ergo: AAA studios are setting up to fail finding talent themselves. Talent without university/college degrees rarely get a chance, so, with enough energy, they start doing stuff by themselves.
I understand that, from economic perspective at least. "Is it worth it?" is a phrase I hear (often also saying myself) a lot when talking about investing time=money in something. I am afraid talent is absolutely worth it, and it's up to the hiring company, not the applicants, to solve that problem.
On the applicants side, especially those who are well aware of their talents, they also think "Is it worth it all? Getting a degree just to be able to apply for positions in big-time companies? I don't think so."
Nobody I know who has gone to a large AAA studio has actually worked on game mechanics or game play in any meaningful way. One poor sod I know, who loved computer games, got tasked with working on the framework for building in-game microtransaction stores into their games.
Back in the day, the divide was much smaller. So it was a lot easier for a motivated indie dev to make something like Crash Bandicoot and have it be seen in the same light as AAA studios.
Today, the divide is so high that you can’t possibly make a AAA level game as an indie. But a lot of indie games get overlooked by the mass market.
So I don’t agree with the author. Plenty of people start young, and possibly even more do so now than ever before. It’s never been easier to make a game.
But it’s also never been harder to make games that meet people’s expectations of high end gaming and that’s likely what the author is seeing.
Nowadays yes, you get the occassional Battlebit and Vampire survivors which would make most AAA games blush in terms of sales, but in terms of scope they aren't anything like Assassin's Creed or Diablo 4 - that's not to say that they are worse, obviously not - just that it's impossible for a small studio to deliver the same scope as AAA studios with 1000+ people per project.
I think it's to a large extent due to the professionalization of the industry (even indies/small scale) and overall raising of the bar of expectations.
Was bought by MS almost 10 years ago. No way I would describe as an indie game at this point.
To latch onto this remark; indie games of today are bigger and better than the AAA games of 20, 30 years ago I think. Groundbreaking games like Commander Keen (side-scrolling on PC) were written by a late teen, early 20 year old John Carmack, who continued to basically invent 3D video games.
That said, reasons why indie games are better than old "pro" games are that they stand on the shoulders of giants; Carmack for example had to invent and apply a lot of theoretical knowledge into performant code, afterwards people could reuse his code and ideas. Programming languages and tooling have improved, so indie developers can focus more on building a game instead of solving lower-level problems.
But they still build their own engines, albeit usually not from scratch. I'm thinking games like Factorio, Cogmind, The Witness, Minecraft, Amnesia, Project Zomboid, etc (yeah I had to do a search to find and confirm these games).
That said, "high-end gaming" is a difficult term to use; with some of the most popular games, graphic fidelity and the like is secondary to gameplay. Minecraft, the best-selling game of all time, was made by one guy / a small team, Stardew Valley by just one guy, and Pokemon and Terraria were made by just small teams.
I agree with their reasoning that engines are largely commoditized. Ours isn't, but (a) we don't iterate heavily on it any more (so just not hiring for it much in general) and (b) even if we were, most amateurs are using Unity/Unreal because generally there's very little reason for an amateur to write their own engine except for its own sake, so they wouldn't have the low-level experience of someone from e.g. the demoscene or with more general dev experience/credentials.
Perhaps this is more where the author is, and what they're seeing from that perspective?
To really get into the fundamentals, like computer graphics, pathfinding, collision detection to make something really impressive and never seen before like Teardown (https://store.steampowered.com/app/1167630/Teardown/), you really need to start from scratch.
And speaking as someone who has written a basic-ish but fully functional (deferred rendering, dynamic lights, shadows, collision detection etc.) engine, it's really not that hard (well compared to making a shipping game), and having a fundamental understanding of the underlying tech will probably help you to make a game that stands out from the crowd.
"Hey, are you good with computers?"
"Yes!"
"Great you're hired. Go see if you can fix this thing"
Back then there were simply much fewer people who had any relevant experience so the barrier to entry (experience wise) was much lower.It sounds exploitative on the part of Roblox, but they're doing game development.
To make games on Roblox, you use Roblox Studio. See https://create.roblox.com/landing
In adjancent fields of culture, are literary authors, musicians or film makers getting their break later in life these days?
The fad these days is to skip learning how to program and instead just learn how to subsist in an ecosystem 'real' programmers have built for you.
You don't need to know how to write a game engine, you just have to download the right assets from the Unity Store.
What does 'state' mean? That's that thing in React right?
Tree? Graph? Never heard of them, do you mean a component?
Difference between a class and a struct? Well I've never heard of a struct but classes are the best thing since sliced bread because you can use them to do a ObservableFactoryControllerFactory and I read in a Medium article that those are good.
The net result of all this is that the code that actually drives everything is being written by older people that got the chance to actually learn, while all the learning opportunities are being stolen from the next generation in the name of getting people "productive" on day 1 (at the expense of the rest of the days of their career).
Those anecdotes you find 10 of in every thread on HN where someone copied a BASIC script out of a book or whatever you boomers did, the modern equivalent of that is npm installing some shit, building 10x the amount of stuff and learning 0.1x as much.
Can they though? Especially if there are several developers working on it. Or are you saying that once they start using frameworks they are no longer ‘good’ developers?
This would actually be a benefit for younger developers that could bypass it except that once the problem gets bad enough it seeps through to training materials across the web and self-taught people cop it as collateral. If you try and google up some advice for how to get started with a web app these days you're going to get all sorts of opinions on what sort of "stack" you should start with to the point that people make it a part of their ideology, like you get some sort of fucking street cred for using ts-pattern or whatever this week's designated architectural microfad is.
Eh, way back in 1991 we had things like Visual Basic with drag-and-drop GUI creation. You could easily do things like display bitmaps on screen without ever having created an array or used variable types other than 'variant'.
The tool to use for hobby game dev back then was Turbo Pascal on DOS.