The “Video game” industry is interesting. It’s consumer base is often fickle, frugal, and judgmental. Often, reading about it- I’m glad I’m not trying to make a living writing Games.
It’s not that Games aren’t a great medium- they are. Personally, I suppose my “passion” is not so much games as it is programming. And, when you think about it- how many business consumers rely on games functioning properly? None. This is why Game consumers can be frugal- the software is not a necessity, it is a luxury- an excess. In contrast, “business” software can often have quite weighty contracts and a high price point. When software is required to do business, the costs are justified because they translate to a more efficient business. When it comes to games, many consumers will pay a low price point- perhaps 15-20 dollars at most- and then effectively “demand” updates to the game and new features to be added years later. I cannot wrap my head around the logic involved.
Within any consumer base, there is going to be technical illiteracy, particularly regarding the details of software construction. In the domain of Games, though- it seems that all the people who build PCs for the latest and greatest games become experts on how software works and how hard it is to implement new features. Typically, this leads to an inability to comprehend scope.
As a specific example- take Minecraft. One of the common criticisms of the game is that it runs “slower than it should”. This has the issue of being an assertion- on what basis do they know how it “should” run, after all? Furthermore, it is usually substantiated with “See, this Mod is just made by one guy and makes the game faster!”. Again- scope comprehension. When you develop a Mod, you can do whatever you want and typically you create a modification by focusing your scope; and as a mod author, you can ignore everything else, including hardware compatibility. The number of issues with “performance” mods in Minecraft is in the single digit percentage but that would be an insane number of people if the same sort of additions were integrated into the vanilla game.
Speaking in those terms, lately a “buzzword” has been “Mod API” or “Plugin API”; it is odd, in a way- since games did not typically advertise that they had any sort of an API until recently. And, even more curious, is that most of the people who want one, aren’t going to use it- they are effectively asking for it because they figure it means that other people will create good content for the game. But the reailtiy is that is going to happen regardless of whether there is an API. If you look at any older game you can find al ot of dedicated ROM hackers, modders, and expertise surrounding changing it or making modifications to the game. In reality a proper “API” surrounding a game really would just lower the barrier to entry and mean there is more shovelware and poorly written software.
Another issue is is that Games are more interesting. This might seem odd but what I mean is that it is often the “entry point” for new software developers who are getting interested. They will research programming and perhaps learn on their own, but too often one sees self-taught teenagers with no substantial experience or portfolio trying to criticize a game that has already earned unimaginable sums. This has a significant falloff as you move away from Game development and enter the world of business software. A game developer has to deal with the teenagers who complain about how the algorithm used to interpolate the rock items in the game is not entirely accurate and they should change it- that sort of thing doesn’t happen in business software, If you have to deal with anybody in such a capacity they are going to be an adult and they are going to be working in the interests of their company in terms of the business purpose, not for their own ego.
Naturally, there are exceptions. Developing games and even game modifications can be rewarding- But as you expand your portfolio of projects you find that you are, for lack of a better term, “Stretching yourself thin”. How do you find the time to maintain all of these different projects in your spare time without going absolutely bonkers? You don’t. YOu end up leaving projects alone for months, or even years; new ideas you had slowly drift away as you realize that you simply won’t have time to bring it to bear.
To summarize, the consumers of any Game Development are more finicky, frugal, picky, and critical than business software. It’s easy to evaluate if a piece of software suites a particular business purpose. It’s harder to evaluate if it is entertaining. With a lot of business software, the consumer has to choose something- so you only need to show how you are better than your competitors. This isn’t the case for games- you have to prove that your title is amusing, which is significantly harder.