No they don't? Most people in tech don't live/work in SV, or even the United States. Even for those that do work in SV, most aren't working for FAANG or elsewhere for comparable comp.
I'd add Rome as perhaps a closer model to the sort of high budget, prestige television we're afforded now. First season had a budget in excess of $100 million dollars, a major increase over anything comparable (compare this to The Wire that was filming contemporaneously).
All of what you describe in terms of data driven entity composition is possible without a true ECS framework. That is what I was referring to and more or less what Unreal or Unity (base, not dots) offer.
ECS is one of the better examples of something that sounds good on paper but in practice, and crucially in production, doesn’t provide the sort of benefits that outweigh the friction it imposes.
There seems to be a myopia online around things like ECS, data oriented programming generally, writing games in C (as opposed to that horrible high level monstrosity C++…), optimization, etc. Those are all fine things in and of themselves (though I’ve never understood the opposition to C++ as anything other than nostalgia), but they are often discussed without being ground in the considerations of building a game. If you want to build a tech demo, great! However, the needs of building a game with hundreds of people, most of whom aren’t engineers, and to a quality/production level that even “simple” things become complicated, demand other things take precedence. I lead a team that facilitates a creative project, not to satisfy my technical desire to have optimal cache or thread utilization in every piece of code. The right tool is the one that gets you closer to the creative goal, and for gameplay code most of the time it probably looks like what Epic or Unity are shipping with their entity frameworks.
Speaking from experience, the hardest part about game development isn’t figuring out how to (efficiently) build something, it’s deciding what to build in the first place. The second hardest problem is getting everyone on board with the answer to that. The third is figuring out how to build the content 1000x to support that. Way, way down the list is the runtime performance for a gameplay system.
True ECS systems - and not frameworks that just have things called “entities” which own things called “components” - are hard to work with, almost by definition (ie you have to be very explicit about data layout and dependencies). They add a lot of friction upfront to solving the important and hard problem(s) while purporting to solve something that isn’t actually an issue in most cases (guess what, your N is likely < 10, modern cpus go brrr, etc). If you are working in a domain where you already know something about the performance and input size characteristics - particle systems are the go to example - then maybe ECS makes sense as a framework. Otherwise, I’d advocate for simpler oop approaches with heavy composition.
One reason would be that you have a future (years) ship date and aren't yet in full production (but close). The sooner you adopt the new environment art and lighting workflows, the less sunk cost you'll have in assets/workflows that are now irrelevant.
There are also staffing implications. If you no longer have to create LODs for your environment art, do you reprioritize your environment art outsource budget? Likewise lighting, if we can hit higher quality with 1/3 of the personnel, where does the budget then go to? The earlier you can get a handle on the implications of these new workflows, the better you'll be able to answer those questions.
Political opinions are not protected in the same way, nor should they be, as the protected classes you cite (gender identity, sexual orientation, ethnicity, etc).
That’s exactly what EA did in response to the “EA Spouse” episode. New grad employees are hired as hourly, non-exempt workers and paid overtime for their first couple years. The financial incentive alone doesn’t eliminate crunch, but it is one of many factors that has improved the culture at EA over the last 15 years.
Second this. Have worked at several AAA studios as an engineer. I am currently hiring for junior and senior engineering positions. The number of candidates for the former is two orders of magnitude greater than the latter. The good senior engineers in the game industry don’t have to worry about work, and the compensation largely accounts that. It isn’t FAANG level for the most part, but closer than it was a decade ago and a lot higher than what you would think from the hashtag.
The margin on digital sales is a lot better than physical sales, and every large publisher has been pushing the transition to digital as fast as possible. A publisher is getting ~70% on every digital sale compared to ~50% for physical.
If your only, or primary, experience building games was scripting systems in blueprints (or analogous visual scripting language), you wouldn't get hired as an engineer at most large studios. There is a role for that on those teams: technical designer. The (gameplay) engineer exists to build large systems that might have hooks that allow designers to script/customize the functionality through a visual scripting system. Engineers provide their value lower in the stack.
Been in the industry for a decade and am a hiring manager for engineers. Overall, the industry has never been better and there are plenty of job opportunities available to work on a wide variety of games.
In terms of general advice for junior engineers, I wouldn't get too caught up on technology (ie engine). The sorts of things I am looking for are: do you have strong computer science fundamentals? have you taken game related projects from conception to completion? how well do you work within inter-disciplinary teams? and do you evaluate your work from a user's (ie player's) perspective?
Unreal dominates AAA for third party studios and I don't think that will change in the near future. Whether Unreal expands its dominance to mobile is an open question, but with more HD games going to mobile (or starting development with HD and mobile as platforms) I would probably bet on it. Unity probably isn't going anywhere in the near future but I don't expect it to shake Unreal's hold on large game production; they're simply too far behind.
I am fairly pessimistic on VR as a whole, but there will likely still be a small market there for the foreseeable future. With Sony recommitting to VR for PS5 and Oculus continuing to pump some (albeit much smaller) money into the space, I expect VR to remain a stable niche. AR is a lot harder to predict as Apple is the big unknown. There are a lot of companies ready to jump on that opportunity (ie Niantic) if someone can figure out the right hardware.
Not sure where this is coming from. Most AAA studios have been using Perforce for decades. There is a smaller contingent using Git, mostly mobile and indie games. UE is not different in that respect. We have to deal with large, versioned binary assets in game development, something that Git struggles with (without things like LFS that are hacking around the architectural problem).
I don't know what to say about a studio not using source control in 2021. I see student projects regularly with full version control and CI.
It's designed to partially neutralize partisan attacks from the right. I expect diplomatic discussions are far more substantive and nuanced, while the executives figure out how to manage the optics of an agreement.
No one owes the publisher anything for a commercial failure in standard publisher contract where they are funding development. The publisher is taking the financial risk; that’s the point. The developer will make additional money beyond the advance based on terms of the publishing contract (common terms would be developer starts getting paid royalties when publisher has 1XX% recouped development + marketing spend).
Relative to other game engines, particularly proprietary ones, no. Epic is dominating the engine licensing space in large part because their tooling is better than the alternatives.
I have never had a job that wasn't at least games adjacent, but I expect the comparison is not that clear. There is a huge diversity of commercial game development, just as there is for commercial software development generally. On average game development is probably more stressful because: it is an entertainment product in addition to being a piece of software; the funding models for independent game developers are often project based, which can lead to a lot of instability.
There are corners of game development that are more "chill" than others. Studios doing work-for-hire for other projects can build sustainable businesses. People in the "serious" game and simulation space seem to have a pretty normal work experience. Likewise shared tech teams at the biggest publishers/developers are more insulated from business variability and shifting project deadlines.
Like every other state, there is a stark divide in the culture and politics of the major metropolitan areas and everywhere else. San Francisco vs parts of rural Northern California are an even starker example of that than what you would see between Austin or San Antonio and rural Texas.
This is a good point and probably lost on people who aren’t board game enthusiasts. In video games a “game developer” is a broad characterization that could apply to anyone on the development team. “Game designer” is a specific role on that team.
In board games developer and designer are distinct roles. If you have a familiarity with modern, you may know the names of the designers of certain games, but the developers of those games are essential for turning the raw specification of the game into the box of tokens and cards you buy at Target. A lot of hobbyist games don’t get that development work and while they might have unique ideas, they are essentially prototype.
Most of the higher production value podcasts I listen to with remote hosts/guests do this, albeit manually (ie record locally with something like Audacity, sync on a click/clap, recorded live call as a backup). This feels like a nice improvement to streamline an otherwise cumbersome process.