And then, once you've spend that time using the tools, you can refactor the SpeechOptionNode to incorporate skill checks without attaching a script, or whatever other obscure tooling problems the writers are dealing with.
The main issue is mindset, a programmer might cut short a design to save himself time, an artist might simplify the gameplay to not put in as much effort, and a musician or writer might not focus as much on the visuals because they get caught up in how it should it sound/read etc. But they certainly can take on other roles. If you have any experience with start-ups and indies or freelancing you might find yourself take over roles you didn't expect originally. On smaller teams this goes a lot further.
Nothing wrong with them at all but the scale is just totally different, it’s like running a small bakery shop vs an industrial factory churning out bread for supermarkets
The best design solutions are usually compromises, but when the trade-off crosses into different disciplines (e.g., mechanical vs electrical), it can get tricky.
At minimum, you need people who can even recognize when such trades exist. It's better if you can find translators: the rare person with enough expertise in relevant domains to get to get two teams to work together efficiently.
In my own career, I've often found it useful to pick up cross-discipline skills, at least enough basics to fill one of the above roles.
― Motoko Kusanagi ⎯ Ghost in the Shell (1995)
These are actually at least three (likely four or more) areas of expertise: expertise in two domains, expertise to communicate well with both sides, and the expertise to "translate" from each side to the colleagues of the other one.
For example, while I do claim to have expertise in multiple areas, it - I claim exactly because of this reason - often happened in the past that both sides told me that I somehow do not speak "their" language, but what they claim to be the one of the other side. Also, I have a tendency to find "weird" connections between both areas that both sides have difficulties understanding. :-(
I'm a fella who has a smattering mix of - systems engineering, systems administration, network engineering and administration, database administration, software development, analog and digital communications systems design and administration (from the circuit level up), UI/UX design, process engineering, documentation, RF Engineering, project management, and a little bit of marketing.
The only thing I'm missing is the financial aspects of business, but from the technical, to the structural, to basically anything technology or people related - I know enough of it to step in and be competent in most situations.
To quote Heinlein "Specialization is for insects."
Some humans would find immense happiness trying to be the queen themselves. Others, to live like a cat. By themselves, with no one to tell them what to do. But our entire modern society is built upon and favours the busy, mindless drone. The education system shapes you like one, and isn't concerned to help you figure out your ideal place in the ecosystem.
The game has since sold more than 20 million copies and some publications have called it the greatest game of all time. An indie game by one person!
Generalists absolutely can succeed today!
Stardew Valley guy did pretty much everything himself. Game design, programming, music, art.
Which, it's an indie game... but clearly if he can do the whole project himself, someone on a AAA team can have cross-disciplinary skills and translate.
> Which, it's an indie game... but clearly if he can do the whole project himself, someone on a AAA team can have cross-disciplinary skills and translate.
But if one man can do 100% of an indie game, surely you can end up with a few people who are generalists on a AAA game team that are deep in one area and basically competent in another couple to act as liasions.
It's a scaling problem. Similar to how single theaded, multi-threading, and distributed computing all have different schemes to solve the same problem, so does a single/small team vs. a studio of hundreds of devs. You won't get a satisfactory output if you use a single threaded technique to solve a problem requiring distributed scale. You'll either take prohibitively long, and/or produce the wrong/redundant results as solutions clash into each other with no syncronization.
I think instead of trying to fit more generalists into a AAA pipeline, we should encourage more generalists to optimize for a small team and deliver leaner projects that can still turn heads.
Adding more edges, where artists can talk to programmers more directly and meaningfully without it happening through a mediated hierarchy, improve throughput.
Of course, having the ability for subteams to work together more effectively doesn't mean you should always use it or abandon trying to manage the project through normal means.
Certainly, one can be a jack of all trades, and certainly, there's value in being so, but you're giving up mastery which has its own value, and comparatively, having multiple specialists collaborate is better than having multiple generalists.
I've pushed so hard at that, wandering all over the software universe and related areas. So often, it's really useful to know some ML, sql, java, .net, python, php, web, UX, cloud, on-prem, Kafka, mq, security, project management, ML, marketing etc because something pops up and I have a pretty good instinct. REALLY useful to de-BS tech areas for management. But right now I'm looking for a role at [Aussie tech company], I haven't really touched Java in a few years so I'm leetcoding, doing design interview courses and videos, brushing up on elastic and databricks and writing down some stories. A gap in any of those areas could set me back, and that's understandable - company needs a cog, you can be a useful snowflake once you've been a good cog for a while.
On the indie side, a generalist indie needs less of what a big game needs. You probably don't need a graphics programmer at all for an indie game, for example.
Going in the other direction, the increasingly absurd size of companies is one thing I really just can't wrap my head around at all. The final output just doesn't seem to justify these massive teams and budgets when contrasted against vastly smaller projects, like Valheim.
In science something similar happened. There was a time where some people knew pretty much in every science field, chemistry, physics, biology etc. but the amount of knowledge grew and it become impossible to know enough in every field.
Maybe game development isn't any different. You either become an expert in on field or your knowledge is to superficial to actually help.