Think of the Game hits from the 90's. A room full of people made games which shaped a generation. Maybe it was orders of magnitude harder then, but today, it's multiple orders of magnitude more people required to make them.
Same is true for websites. Sure, the websites were dingy with poor UX and oodles of bugs... but the size of the team required to make them was absolutely tiny compared to today.
Things are simultaneously the best they've ever been, and the worst they've ever been, it's a weird situation to be in for sure.
But truthfully; orders of magnitude more powerful hardware was the real unlock.
Why is slack and discord popular? Because it's possible to use multiple gigabytes of ram for a chat client.
25 years ago? Multiple gigabytes of ram put your machine firmly in the "I have unlimited money and am probably a server doing millions of things" class.
The market demands not just better, more complicated games, but mostly much higher art budgets. Go look at, say, Super Metroid, and compare it to Team Cherry's games in the same genre, made mostly by three people. Compare Harvest Moon from the 90s with Stardew Valley, made one person. Compare old school Japanese RPGs with Undertale, again with a tiny team. Lead developer who is also the lead music composer. And it's not like those games didn't sell: Every game I mentioned destroyed the old games in revenue, even though the per-unit price was tiny. Silksong managed to overload Steam on release!
And it's not just games. I was a professional programmer in the 90s. My team's job involved mostly work that today nobody would ever write, because libraries just do it for you. We just have higher demands than we ever did.
A pretty obvious one is that there's magnitudes more players these days and many more options for how they can play. Hell, there's even a few more billion people on the planet so it's more than just percentage of people owning systems that can play games. I'll let you think about others because I want to focus on what the patent said, but if top selling games weren't making at least an order of magnitude more money then that'd be a very concerning sign.
The parent said hardware was a big unlock and this is undoubtedly true. I don't just mean that with better hardware we can do more and I don't think the parent did either. Hardware is an unlock because it enables you to be incredibly lazy. If your players have powerful hardware you can get away with thinking less about optimization. You can get away with thinking less about memory management. You can get away with thinking less about file sizes.
The hardware inherently makes game development easier. We all know the quake fast inverse square root for a reason. Game development used to be famous for optimization for a reason. It was absolutely necessary. Many old games are famous for pushing the limits of the hardware. Where hardware was the major bottleneck.
But then look at things like you mentioned. Undertail is also famous for its poor code quality. All the dialogue in a single file using a bunch of switch statements? It's absurd!
But this is both a great thing and a terrible thing. It's great because it unlocks the door for so many to share their stories and games. But it's terrible because it wastes money, money that the consumer pays. It encourages a "good enough" attitude, where the bar keeps decreasing and faster than hardware can keep up. It is lazy and hurts consumers. It makes a naïve assumption that there's only one program running on a system at a time.
It's an attitude not limited to the game industry. We ship minimal viable products. The minimum moves, and not always up. It goes down when hardware can pick up the slack or when consumers just don't know any better.
Things like electron are great, since they can enable developers to get going faster. But at the same time it creates massive technical debt. The fact that billion dollar companies use a resource hog like that is not something to be proud of, it should be mocked and shamed. Needing a fucking browser to chat or listen to music?! It's nothing short of absurd! Consumers don't know any better but why devs celebrate this is beyond me.
People should move fast and break things. It's a good way to innovate and figure out how things work. But it has a cost. It leaves a bunch of broken stuff in its wake. Someone has to deal with that trash. I don't care much about the startup breaking some things but I sure do care when it's the most profitable businesses on the planet. They can pay for their messes. They create bigger messes. FFS, how does a company like Microsoft solve slow file browsers by just starting it early and running in the background?! These companies do half a dozen rounds of interviews and claim they have the best programmers? I call bullshit.
That's something that seems to eat up AAA games, each person they add adds less of a person due to communication effects and inefficiencies. That and massive amounts of created artwork/images/stories.
There are a lot of indie game studios that make games much more complicated than what was in the 90s, and have a lot less people than AAA teams.
And ya, tons of memory has unlocked tons of capability.
I think this is more about rising consumer expectations than rising implementation difficulty.
You needed much more marketing budget in 2000 than today, I think you have that reversed. There is a reason indie basically wasn't a thing until steam could do marketing for you.
now you can't even post in any social media without paying, they won't show your posts almost to no-one, even if you have the followers. not to mention apple store and google play, every category and nice already has 20 000 apps and games in them.
I don't really know if AI makes programming easier or harder. At one side, you can explore any topic with AI. This is super powerful ability when it comes to learning. At another side, the temptation to offload your work to AI is big and if you do that, you'll learn nothing. So it comes down to a person type, I guess. Some people will use AI to learn and some people will use AI to avoid learning, both behaviours are empowered.
I have simple and useless answer how to solve that. Throw it all out. Start from the scratch. Start with simple CPU. Start with simple OS. Start with simple protocols. Do not write frameworks. Make the number of layers between your code and hardware as small as possible. So it's actually possible to understand it all. Right now the number of abstraction layers is too big. Of course nobody's going to do that, people will put more abstraction layers and it'll work, it always works. But that sucks. Software stack was much simpler 20-30 years ago. We didn't even had source control, I was the young developer who introduced subversion into our company, but we still delivered useful software.
Causes: Bubble economics, perverse incentives, lack of objectivity, and more.
The good news is that huge competitive advantages are available to those who refuse to accept norms without careful evaluation.
Or does it just seem that way because you've had a whole lifetime to digest it one little bit at a time so that it all seems intuitive now? If "easy to understand and get started with" were the bar for programming capability, we'd have stopped with COBOL.
Except that at least for game development, C and C++ are still the go-to tools?
Also, I'm not sure anyone was making 10x claims about the tools you cite.
Crapping out code that does the thing was never the hard part, the hard part is reading the crap someone did and changing it. There are tradeoffs here, perhaps you might invest in modeling up front and use more or less formal methods, or you're just great at executing code over and over very fast with small adjustments and interpreting the result. Either way you'll eventually produce something robust that someone else can change reasonably fast when needed.
The additions to Java and C# are a lot about functional programming concepts, and we've had those since forever way back in the sixties. Map/reduce/filter are old concepts, and every loop is just recursion with some degree of veiling, it's not a big thing whether you piece it together in assembly or Scheme, typing it out isn't where you'll spend most of your time. That'll be reading it once it's no longer yesterday that you wrote it.
If I were to invent a 10x-meganinja-dev-superpower-tool it would be focused on static and execution analysis, with strong extendability in a simple DSL or programming language, and decent visualisation API:s. It would not be 'type here to spin the wheels and see what code drops out', that part is solved many times over already, in Wordpress, JAXB oriented CRM and so on. The ability to confidently implement change in a large, complex system is enabled by deterministic immediate analysis and visualisation.
Then there are the soft skills. While you're doing it you need to keep bosses and "stakeholders" happy and make sure they do not start worrying about the things you do. So you need to communicate reliably and clearly, in a language they understand, which is commonly pictures with simple words they use a lot every day and little arrows that bring the message together. Whether you use this or that mainstream programming language will not matter at all in this.
> Every week there seems to be a new tool that promises to let anyone build applications 10x faster. The promise is always the same and so is the outcome.
Is the second sentence true? Regardless of AI, I think that programming (game development, web development, maybe app development) is easier than ever? Compare modern languages like Go & Rust to C & C++, simply for their ease-of-compilation and execution. Compare modern C# to early C#, or modern Java to early Java, even.
I'd like to think that our tools have made things easier, even if our software has gotten commensurately more complicated. If they haven't, what's missing? How can we build better tools for ourselves?