You made the mistake of thinking that anyone would care how many hours you spent optimizing some C++ function that does something already solved a hundred times in a hundred different game engines. It's a natural tendency for all programmers. But making a game in 2018 is far more of a creative endeavor than anything to do with programming really. You need a massive amount of top notch artwork, music, 3D modelling, shader effects, SFX, etc. to have a polished nice looking game. That takes either superhuman talent or a large team of specialized people beyond yourself.
If a lone programmer wants to write tight code for games, they should build game engines or libraries that games can use and then sell those to game developers.
There exists large value added chain for specialized tools, arts and libraries.
... or call it a hobby. Just because someone does the same thing they make a living from for fun, doesn't mean it isn't also a hobby. It's weird, that because people pay coders for some of the work they do, expecting money gets wrapped up in what is a hobby for so many.
Programming is fun for a lot of people. They love the process, enjoy the reading and learning, get a kick out of things like optimising code for a speed boost. IMHO that's awesome. So few people have any real interests, so if you have one, indulge it.
Just call it what it is - a hobby - and reframe your thinking. No other hobbies are indulged because we expect to make money directly out of them, e.g. no one playing soccer in a park expects to go pro, they just love playing. Why should hobby coding be different?
Reframing it as a hobby changes the equation from $0.01 an hour, to "OMG, someone, anyone, wanted to give me money to indulge my hobby!" Then what starts as a time and money sink becomes instead what you live for, and a positive in your life.
I think we need to think more along these lines in general; it's going to be needed a lot.
This is the ongoing march towards post-scarcity. We now have enough people with skills, experience and tools necessary to produce a quality indie game and a desire to make one, that the market price is far below the cost of production, and rapidly approaching zero. Essentially, these developers are spending (resources: time etc; although sometimes money as well) to scratch an itch.
And trying to recoup at least a part of those losses by selling the result is not unreasonable, but it should be considered a best-effort optimization. In the end, you still end up paying for the privilege of, essentially, having other people admire your work. It reminds me of some sci-fi story I vaguely remember from a long time ago, about a true post-scarcity society where everything is free, except for other people's attention, which therefore becomes currency. There's nothing else to do for humans other than arts, so everyone is doing that - and now you're paying someone to e.g. read your book, and then they can use that money to pay someone else to look at their painting etc.
In general, that is true. I should have been more specific:
> We now have enough people with skills, experience, tools, and free time necessary to produce a quality indie game and a desire to make one, that the market price is far below the cost of production, and rapidly approaching zero.
Where "free time" is that not used up by work that pays for food etc.
Which does mean that people for whom art is a hobby are destroying the market the people for whom art is all they want to do, except for truly great artists where the quality of the art is so exemplary that hobby artists just can't compete.
But I'm not sure why it's a bad thing in and of itself - nobody has a fundamental right to earn a living by performing some specific activity and no other. The job market defines what activities translate to paid jobs, and which ones can only be hobbies, and that is going to change over time. At the point of a true post-scarcity, everything becomes a hobby, but it doesn't matter because you no longer need a job.
If you only hang out with people who have enough free time to fulfill their creative desires (mostly in good health, mostly without kids, mostly who have "good" jobs which in most cases means their parents did too, which probably means they aren't taking care of their parents or other family members either) it can seem like a widespread thing. In fact, it's not; most people, in the U.S., and especially globally, are hustling to survive.
post-scarcity can sound nice, but in practice it currently means post-scarcity for the few, while most people live with incredible scarcity. We might have enough for everyone on the planet, but we sure don't share it equally. And that's not going to change automatically.
To be clear, I'm not saying that it is widespread! But it is more widespread than it used to be, IMO - this sort of thing was historically confined to the elites, and now it's slowly creeping its way down middle class. Hence why I called it a manifestation of an ongoing march towards post-scarcity.
When and where the goal would actually be achieved is hard to speculate; I hope to see it in my lifetime, but only out of sheer optimism.
> this sort of thing was historically confined to the elites, and now it's slowly creeping its way down middle class
I'm not sure that's true. I don't see much ongoing march towards giving most people more free time. Inequality is generally _growing_, not shrinking. There is no ongoing march of history, just humans in political struggle for how resources are distributed.
Relative inequality is growing. But in absolute terms, to be poor today is a great deal better than being poor 100 years. Conversely, this means that you are also more productive in absolute terms.
There's definitely a lot more free time available to people today than there were in any industrial economy prior to 8-hour work days and similar advancements in labor rights. If you unwind back to pre-industrial, some argue that agriculture provides for a lot more free time than we're used to, albeit seasonally.
But free time is only one part of the equation - you also need education/skills and tools to create things. These days, many industrialized societies provide education for free, or so cheap that it's accessible to a great deal more people than it used to be - and then, of course, there's the Internet. Tools are also much cheaper; again, think about it in absolute terms, e.g. how a $20 power drill compares to your typical toolset 100 years ago, much less 500.
Our societies have plenty of problems, and I don't encourage rose glasses. But we should also recognize just how immense the advance of humanity has really been, when you look in the rear mirror. Or not even the mirror... if you were born in a developed country, find an immigrant from a developing one, and just ask them how they feel about here vs there.
> But in absolute terms, to be poor today is a great deal better than being poor 100 years.
In the U.S., certainly. In India or Nigeria or Honduras? Not sure.
At any rate, while I agree that in general the health and standard of living of many people is going up -- I lack your confidence that the amount of _free time_, and other resources necessary to produce creative work without compensation, that the majority of people on the planet has is going up or will continue to. It will for some.
Even in the U.S., do the poor have more free time to produce creative work than they did 100 years ago? I seriously doubt it.
Absolutely. I predict that more and more Indy games will be created by the retired, and the starving. Same as happened with novels and other arts like painting and photography.
I wish I remembered it! It's something I've read as a kid, and for the life of me I can't remember either the title or the author, or even most of the plot; just the setting.
Reminds me of MUD games from the mid 1990s. A big MUD might've had three or four talented programmers, a dozen or so level designers, and dozens of administrators. All putting serious time into the MUD, and all without the faintest thought of making money out of it.
Except that it turns out that artists and game programmers are too cheap to pay for tools, even if you can present them with a clear benefit in terms of productivity gain vs. sales price. To make matters worse, big companies that could afford those tools will generally only buy exceptionally well established tools and rebuild the rest from scratch in-house.
The only way to make money with games is to sell games.
They're absolutely not "too cheap" for that - it's just a saturated market. Don't start a new company, look for a job working at Autodesk or Havok or Unity or Crytek or one of the dozen other companies that makes bank off of selling professional tools to professional game developers
Autodesk has laid off about a quarter of its workforce in the past two years. Crytek has had employees regularly complaining about paychecks bouncing; they're clearly inches from bankruptcy. Havok is owned by Microsoft; I'm not sure how they're doing. Unity is probably doing well enough, as they're incredibly popular, but I suspect popularity among hobbyists translates mostly into a lot of people on the free tier.
I can tell you right here and right now that I know that some of the companies you name do not make a bank off of their products. And it's probably not the companies you would expect and not for the reasons you would expect. I have sources for this, but unfortunately I cannot name them.
I'm pretty sure that Crytek has nearly gone under a few year ago, so they're not exactly making a bank with their engine. Rgarding their engine I've heard it's more difficult to use compared to other engines, which has slowed down adoption.
You may be surprised where unity makes the majority of their money... it's not from sales to the general public.
The parent post is correct, the majority of users are cheap, it's a race to the bottom, where a £50 plugin is considered expensive.
There's different framing needed here though - hobbyist developers aren't really buying "tools" in the same way a studio is. You need to think of it as a B2C sale more than a B2B one - you're selling something that will enable them to realise their dreams, not cut 5% off their build times.
When you're committing 1000 hours of your free time to building a game from scratch, spending 30-40 building your own (hacky, not that great) animation pipeline for the learning experience is worth it over a £90 plugin. You don't really win this on cost/benefit over and above getting someone excited by the possibilities of your tool. Worth checking out Buildbox[0] for example.
Obviously studios are a different beast and it make sense for parts of their workflows to be custom. If you want to get a start in the goldrush, sell pickaxes, not JCBs.
From Fledgling Founder to 7-Figure Deals with Stephanie Hurlburt of Binomial
Stephanie Hurlburt (@sehurlburt) shares the story of how she went from being an employee to being half of a 2-person startup that sells software to gaming companies, and all the steps in between. Learn how she quit her job, met her cofounder, landed lucrative contracting gigs, built a product, learned about sales, and stayed sane while doing it.
Even that is a lost game, because only professional studios pay for tools, as indies tend to just grab FOSS tools and feel entitled to get their issues fixed.
And in the professional market, the quality bar is pretty high.
A 2D gaming scroller that requires 62,126 lines of code written from scratch? There's tons of libraries out there, game engines you could adopt, etc.
I would argue you could be an awful programmer and use prebuilt tools but have great design aesthetics, vision, music composition, and storytelling, and deliver something far better
How can you criticize the amount of code without knowing how much of that is generic engine code and how much of it is gameplay code (game logic, AI, event triggers...) that would have to exist regardless of the engine being used?
Because in the former case, it's a waste of time, duplicating work that others have done already available online for free, so of course there are no customers
And in the latter case, it's got to be a poorly written mess, no 2d platformer could need so much game logic. That's twice the size of the entire Super Metroid cartrige, engine and assets included.
Wait... did you just compare lines of source code to the size of a compiled binary code of something that was written over 25 years ago and clearly optimized for the size of the deliverable? In that case you might just as well have compared an apple to the Apollo program LAM module. It is just not a valid comparison.
I am sure that if Super Metroid were to be developed today in a high level language with the exact same gameplay logic, the resulting code would be in at least the same ballpark.
It is a valid comparison, because what he made is essentially the same game.
And I said that in response to the guess that maybe the 62,000 lines of code was all game logic, which is absurd.
Game logic, like, "when the player presses the fire button, spawn a missile" and "this enemy goes up 5 units, then goes down 5 units, then repeats". That's not the kind of thing that will change much from one metroid clone to another, regardless of what technology is used to make them. It is practically always the smallest part of the final product. And to have the game logic's source be bigger than the entirety of an almost identical game, with handcrafted levels, art, and engine included? It's absolutely absurd.
It was in service of the point above: that code is probably all the engine, which means that, yes, it probably was a waste of time, since engines made by professionals are available for free. At best, it's a line on a resume.
Adventures and RPGs are the most obvious ones. There, the story-based interactions quickly turn into tons of game logic corner cases that must be handled. Also, the rule sets for RPG character stats and fighting interactions (strengths, weaknesses, immunities, temporary effects, combos...) generally are pretty insane.
Oh, and lest we forget: game logic does not stop once you figured out at a high level that X has to happen. It still needs to set up and drive all the presentation that goes with it on top of the pure bookkeeping. The subtleties of this can be really amazing. To just name some trivial things that come to my mind: doors and elevators should stop when players stand in the way, players and objects should move with the platforms they're standing on (harder than it looks, esp. in 3D), enemies can't just be deleted from memory when their health goes below 0 (but their hitboxes might still go away immediately) and so on.
> It still needs to set up and drive all the presentation that goes with it on top of the pure bookkeeping.
Yup, a lot of "game logic" is in fact bookkeeping, i.e. self-inflicted complexity. It's not necessary, but is what happens when you overdo it (though IMO it's more often a symptom of using more frameworks and libraries than less).
It doesn't take a large team. Look at latest indie hotness Hollow Knight (https://youtu.be/UAO2urG23S4), which was made by 3 dudes, who were artists and animators (http://hollowknight.com/our-team/). I agree that with game engines, making a successful indie game is primarily about artistic prowess, but you probably don't need that many artists. Just 1 or 2 really good ones.
Seeing the forest for the trees as they say. This is why indie games are focused on the simpler style of video games in some cases like Stardew Valley. It still took the developer 8 years (give or take) and you can tell he worked his tail on it.
Stardew Valley is an interesting case in that the developer didn't really need to invent anything. They took a formula (the Harvest Moon series), produced a clone, and then polished the hell out of it in response to community demands until it was hardly recognizable.
None of that really required an act of genius creative talent, though. Learning enough about audio production to create the set of SFX and music you already know you need from the top-down design of the clone-game you already know you're aiming for is effectively "just" grunt work. Sort of like how an actor learning the exact set of martial-arts moves they need to know to look like they know martial arts in one particular shot, which is intensely choreographed, is "just" grunt work. Stardew Valley's creator didn't need to develop the skills to be an amazing artist or musician, they just needed—like the actor—to develop the skills to create a particular pastiche of existing pieces of art and music.
The creator of Stardew Valley is, however, a natural talent at the particular meta-skill of "finding out what people want and tweaking things in response to those wants, never settling for doing 'merely' what they know how to do with the skills they already have, rather pushing themselves to the skill-level required to make people even more happy."
> Learning enough about audio production to create the set of SFX and music you already know you need from the top-down design of the clone-game you already know you're aiming for is effectively "just" grunt work. (...) Stardew Valley's creator didn't need to develop the skills to be an amazing artist or musician, they just needed—like the actor—to develop the skills to create a particular pastiche of existing pieces of art and music.
Would almost agree but you had to bring up this :). I actually talked with SDV developer about his music skills[0]. Turns out, music was his hobby prior to becoming a developer, so he has a lot of experience. So in this case I wouldn't say it's "just', and it definitely wasn't a skill developed for this game.
I don't think so. The author mentioned in one of his interviews that he was the only person to actually play the game until the very late pre-release stages. Even those who signed him haven't really played it.
> how many hours you spent optimizing some C++ function
> You need a massive amount of top notch artwork, music, 3D modelling, shader effects, SFX, etc. to have a polished nice looking game.
Top notch in any field requires optimizing hidden, underlying dependencies to deliver the best output. Optimizing code is not sufficient but it is usually necessary, especially if others have already solved it, setting the standard of performance that players expect.
The way to avoid optimizing core library code is to use someone else's library and build on top of that. But you can only do that so much. This is just an insanely hard industry to get into.
It's not that optimizations don't have their place, but when your goal is to create a game and make money off of it, then micro optimizing C++ code simply has no place. Also, a 2D platformer simply doesn't require any highly optimized system.
One should spend the time building a game, polishing it, marketing it, presenting it at shows, etc. and not trying to build the most efficient engine, just because engine building is quite fun - as long as the goal is to make money from a game.
> You need a massive amount of top notch artwork, music, 3D modelling, shader effects, SFX, etc. to have a polished nice looking game. That takes either superhuman talent or a large team of specialized people beyond yourself.
I think gameplay and marketing win here. Consider two gamesL one has great graphics but bad gameplay, the other has bad graphics but great gameplay. The great gameplay game is going to win that match up.
The problem here seems to be that supply is geometricly growing whereas demand is largely fixed. To compete and be noticed you need to make a serious investment in marketing or get extremely lucky.
> one has great graphics but bad gameplay, the other has bad graphics but great gameplay. The great gameplay game is going to win that match up.
Yes, in terms of player satisfaction, but no, not in terms of sales. Terrible movies with great explosions out-earn great movies with low budgets every single summer.
Great analysis.. this applies to so many areas of software development. Building games, websites, any thing software ..
> you spent optimizing some C++ function that does something already solved a hundred times in a hundred different game engines. It's a natural tendency for all programmers.
> Making g a game in 2018 is far more of a creative endeavor than anything to do with programming really.
> You need a massive amount of top notch artwork, music, 3D modelling, shader effects, SFX, etc. to have a polished nice looking game.
> That takes either superhuman talent or a large team of specialized people beyond yourself.
You know, there's an interesting relationship between the graphic-novel industry and the TV/film industry at this point. Many TV/film screenplays are adapted from graphic novels, because a graphic novel is, in a sense, a "sketch" of a film—it's something that communicates most of the top-down spirit of the eventual work, while also being something that is able to be produced by a single creator, and so something that is able to let a single creator's vision and talent shine through.
I'm left wondering why the video-game industry doesn't have at least some sub-sector with an analogous pipeline, adapting (or in this case, "covering") low-budget indie titles that don't have asset-polish into AAA games, by giving them that asset polish.
That's literally Valve's strategy. Counterstrike, Team Fortress, Dota, Portal...
Also even graphic novels are generally two person teams. I think trying to make an indie game with a small team (2-4 people) is way more realistic than doing it solo.
Because asset polish doesn't matter nearly as much as gameplay: the high-res remake will never make as much as the original.
The most successful game of the year, Far Cry 5, has sold 1/20th as many copies as Minecraft has, a game that is ugly as sin and always has been, but it's fun enough that it doesn't matter.
There's no point in adapting a property if the adaptation won't grow the audience. The Walking Dead was a comic book superstar, selling upwards of 500,000 units per issue when it was picked up by AMC for the TV adaptation. The TV adaptation is now reaching 8 million viewers per episode, and that's considered low.
I think you would have to cultivate that market very carefully. Video gaming can be very sentiment driven at times, and there's a fine line between homage and rip-off.
Perhaps the way to do it is to acquire the license for a 'masterpiece edition' ... release it five years after the original.
GP is completely wrong on their last assertion. You do not need AAA quality to make it as a game dev. But citing Minecraft reinforces their first assertion.
Minecraft was an underrepresented genre, released early, with an (accidentally) excellent marketing technique. Above all, the code is an atrocious, unoptimized Java pile of crap (Yeah, I used to be into Minecraft dev in the early days).
It's the best proof you can give that "making a game [...] is far more of a creative endeavor than anything to do with programming".
SDV is another example; the author himself admitted on numerous occasions that the code is, well, not stellar, and in the community we also had some fun reading through decompilations of the parts of the game.
Yet another proof would be surprising number of very games made in tools like GameMaker - think Nuclear Throne, or Cook Serve Delicious. I actually took a peek at the sources of the latter (they were distributed with some Humble Bundle once), and it's... reinforcing this point.
Yes, many programmers get lost discussing what programming language to use, GC or not, which 3D API to use, instead of what actually matters, gameplay, design, graphics, audio.
I always advise indies to attend local meetups from game design schools, to learn about what actually matters when making a game.
People always say Minecraft doesn't have good graphics or whatever, but that game's color palette and overall design aesthetic is VERY good. Everything is consistent, and when you're playing it you forget that it doesn't look "real." The game from the article is not in the same league.
It reminds me of those games you'd get in a cereal box, shareware games or maybe with a computer magazine in the early 2000s. Probably due to the visuals being 'pre baked 3D converted to 2D sprites'.
It's almost nostalgic, but nothing I'd buy to be honest.
It's easy to list the games that made it, harder to list the thousand of similar games that didn't and were forgotten. Minecraft didn't make it because it was super well coded (it was decent but I'm sure well-optimized C or C++ could have easily outperformed the JVM), it was mainly at the right place at the right time.
I think the reason Minecraft was successful was first and foremost because of its concept. Looking at the author's game is seems pretty obviously like a Super Metroid clone (at least judging from a video, the level design looks like reskinned Super Metroid levels and many of the powers and enemies are extremely reminiscent of Metroid). I really like Metroidvanias but as far as I'm concerned it's really the art style that kills it, I'm really not fond of this pseudo-realistic tile work.
True. But most people aren't as skilled as Notch, or the Stardew guy. It's still definitely NOT a waste of three years, but the author should not expect to make much money off of an indie game. More graphic design and marketing needs to be put into this endeavor, assuming the gameplay itself is any good.