While it does cause gaps in logic and nobody wants to be supporting a code base in a professional setting that was built with design/architecture as an afterthought, it's still cool that more people than ever can do something like make a website or a game.
I really don't know if it is cool. Seeing the market saturated with mediocre (and worse) creations is more depressing than cool for me. And I feel like it's only lowering the bar, where people can't demand quality and those who create can't put in the effort because there's not enough demand for it.
I can spin a narrative whereby the app store fills up with fart soundboards, but famous artist (or team) is able to practice and later in life make really great app/game/art because they have a fresh, minority perspective. In the alternate narrative, said person (or team) wasn't able to build a portfolio enough for the first rung and pivoted to some other hobby/industry. Presumably we've already formed the assumptions that guide which narrative we value more.
That's an interesting observation, because that's how a lot of the music industry works. Lots of songwriters who aren't good at performing, great performers who can't write well, instrumentalists who can't sing etc.
Right. But in the music industry, most people know if their only strength is singing, they know should team up with people who can handle the instruments and the songwriting.
To be honest, the code quality in most assets I encounter is so low that sometimes I even throw away the scripts and only use the meshes/textures/shaders/etc. (I'm looking at you, that-one-very-popular-vfx-pack!)
This is some kind of systemic market failure. The general population of the market itself is so low-information that it can't properly distinguish between good and bad. It's pretty much the same problem as non-technical people hiring technical people. It's non-technical people evaluating code.
(On two of those projects, I was the lead programmer, responsible, in theory, at some level, for all the code that went into the game. And I still couldn't have answered your question.)
In the case I cite, it's not TCP/IP at all! It's very generalized systemic thinking. Just picture a diagram with boxes and arrows, and start thinking about how the messages go across and what happens next. I also see a lack of generalized systemic thinking in too many of the high GPA Comp Sci grads I've interviewed at work. (Even to the point where they embarrassingly try to handwave entire fields in CS!)
I can see why game artists or indie gamemakers may not always know these things.
Everyone working on a movie needs to know some cinema/storytelling basics, so they know how the little piece they are working on can best contribute to the overall project. Everyone in a band needs to know stagecraft, so they know how to enhance the presentation and not commit a stagecraft faux pas.
I've seen multiple occasions where gamedevs are shooting themselves in the foot because they can't do basic systemic thinking.
I think in most industries where individuals can actually contribute usefully, the industry develops a way to supplement these people and make up for their shortcomings. For example, the talented singler, musician, songwriter, or author will find that if they look around (and are lucky and or actually talented), there are structures in place to help them find the feedback (or additional people to group with) that they need.
Perhaps indie game development just isn't quite to that maturity yet. Then again, the game industry seems both cutthroat and dysfunctional enough that it might take a while before something like this can develop.
It was possible to be a single-person game developer since forever. The first games were made by individuals, and at no point there was a time where a single individual coudln't make a decent game. Of course, that requires knowing what battles to fight - you won't make an AAA shooter yourself, but you _might_ make a fun shooter, or you might make a small AAA-quality level alone.
Where the barrier to entry seems to be lowering is in technical skills per se. Each new generation of tools enables people with less knowledge to take on more ambitious projects. 15 years ago, building a 3D world required some understanding of 3D graphics, today you can slap something in Unity from asset store, not stopping at any point to understand what's going on.
I'm not entirely sure whether I think this is good or bad. So let me put it this way: it's good that more people can make games, and it's easier to learn how to do it. It's bad that this bred a mass influx of shovelware and people who don't want to learn.
Well, I think what it takes to be successful is a function of what the market expects. I believe for a while the market expected AAA quality and the tools to make that deliverable from an individual were lacking. I'm not sure from the late nineties to about 2010, anyone but the most talented could deliver to expectations while working alone.
> it's good that more people can make games, and it's easier to learn how to do it. It's bad that this bred a mass influx of shovelware and people who don't want to learn.
I agree. I think the shovelware is expected, and to some degree (at this point) necessary as a corrective measure on the industry. It's a useful indicator that it's not necessarily as easy as it looks, and offers examples of what not to do.
Also, it's sort of like blogs. Many more people distribute their writing now than before, and that has resulted in a log of crap flooding the internet. Then again, I'm sure at least a few of the people I read regularly either wouldn't write publicly or I wouldn't know about them if internet publishing hadn't lowered the barrier to entry so much.
As for people not wanting to learn, I think a portion of that is just people that haven't learned yet. Some people will put out crap and give up. Others will try to learn what worked and what didn't and try again. That may be crap too, but they are on the right path to eventually putting out something that isn't crap. I think, given the amount of crap we currently see, that's a reason to be optimistic. ;)
This is true, but from what I've seen the gamedev community seems to generally take this adage too far. At a recent meetup, I spoke to a developer for a project updating a well known IP. Their multiplayer slows down then crashes. I started asking questions, like, do the synchronizing objects have an update cycle? He didn't know, and it had been going on for months.
There's some big fraction of gamedevs who seem to think of programming as almost an afterthought. I see a parallel with the fraction of recent grads who think all they need of programming is the ability to glue libraries together. The medium really needs a balance of multiple abilities. Otherwise, it's like a musician who can write lyrics, but can't sing and play, or someone who has excellent chops on the guitar, but can't sing and write lyrics.