Psychochild's Blog

A developer's musings on game development and writing.

17 August, 2016

Cargo cult game development

Theoretical physics Richard Feynman popularized the phrase, “cargo cult science”, referring to “cargo cults” on some Pacific islands that sought to bring material wealth by performing rituals and building elements that seemed to attract it before. In particular, they built airplane runways, hoping to attract the airplanes that carried cargo to them before. The connotation is that the islanders (and scientists practicing “cargo cult science”) were going through motions they didn’t understand to get a result.

As an aside, modern scholars think the islanders weren’t ignorant of technology, but rather performing an elaborate ritual. But, the term has remained and used in the original sense and I’ll use it here without rendering judgement on those Pacific islanders.

We can just as easily point to “cargo cult game development”, where game developers of all stripes copy something they don’t understand in order to get result they want. They blindly copy rather than understand. So, let’s take a look at how this work across different disciplines.

Cargo cult design

This is perhaps the most common form of cargo cult behavior in the game industry. Design is part art, part science, and part witchcraft to some people. So, designers often copy things in order to get the desired results that another game got. This leads to situations where many similar games have very similar feature sets.

The great example here is MMOs. From a diversity of game mechanics, we saw MMO standardize on the “DIKU MUD” style of game design once everyone noticed the early success and later success of WoW. Many game designers started copying a lot of these mechanics from these games, not necessarily understanding the design consequences. For example, a lot of games had heavy gear-based system and used those system in PvP. This lead to a lot of PvPers getting frustrated when their superior tactics and strategy were wiped away with someone with much better gear. While some games started to try to normalize gear and the effect of stats, many games just had PvP that favored the Achievers instead of the Killers in the game.

The problem is that games with a lot of moving parts tend to have to deal with unintended consequences when copying design from other games without understanding. A good designer who understands the design can start to expand the design to deal with the consequences that will get put into the game.

Cargo cult programming

This tends to be a bit less common, but still happens. Often programmers will look at how some other game did something, and feel that they need to copy the technical elements. This is especially true for more mediocre programmers who look to smart programmers and what they do. John Carmack is renown for a reason, and simply copying his work for a specific problem and hoping for spectacular results is going to result in disappointment.

One way this manifests in a practical level is in optimization. Game programmers see that it takes a lot of optimization to wring out the best performance out of many platforms. So, some programmers will fixate on optimizing things without doing good profiling to see what really needs the optimization. So, they waste their time worrying about optimizing their code as early as possible, when other work might wipe out those optimizations or another area will make those optimizations useless. This isn’t to say that you shouldn’t think about optimizations beforehand, but spending excessive time can make that time wasted.

Cargo cult business

Not many people probably see this part, but given that I have some interest in business, I have noticed this quite a bit. People who copy what the market leaders is doing in order to try to get some of that success of the market leader. We see this in the screaming guy mobile game icon phenomenon.

The reality here is that nobody knows exactly what makes something a success, as few developers manage to make consistent successes. A game with no tutorial and terrible graphics does well, despite conventional wisdom. So, people make games to copy that. Some thought crude graphics were a reason for the success, similar to how some game developers choose a pixel art aesthetic trying to capture nostalgic feelings rather than using the aesthetic to improve the game. Other developers thought the graphics were a weakness, and create a builder game with better graphics but much more complex tools.

So, the game industry continues cloning games and life continues on.

Cargo cult wannabes

The last group I’ll talk about are the wannabe game developers. Those of you who have been in MMOs for a while might have seen plenty of hobby projects that promised to be “better than WoW!” This is the purest form of cargo cult mentality: wanting to copy something and enjoy the success without understanding what all went into creating it.

To be fair, the best way to understand a creative field can be to dig in and copy something you like. Many visual artists started by tracing art they like. Aspiring writers will write fanfic, or stories in the style of someone they admire to practice their craft. So, it makes some sense that an aspiring game developer will want to clone a game they like. But, I’d recommend starting with something simpler; try to clone Pong first, perhaps. :)

Understanding the fundamentals is important for making your own games. So, avoid cargo cult mentality and dig into the nuts and bolts.

What do you think? What cargo cult mentality do you see in game development?


« Previous Post:





4 Comments »

  1. I think there’s a subtle but important distinction here that I want to highlight: “game developers of all stripes copy something they don’t understand in order to get result they want.”
    “don’t understand.”

    For game design in particular, many UI and mechanic elements become a shared language among gamers, and changing them for the sake of being different is probably worse in my mind than being a cargo cult copier. Different colours denoting rarity, the exclamation mark above an NPCs head to denote they have a quest, or even something like how statistics affect combat damage (see WoW’s ill-fated Armor Penetration for how this broke those expectations wildly, for example) are all examples of unofficial standards in games these days. If you want to change them, you should understand why and what benefits would come from changing them.

    That being said, yes, if you’re importing a mechanic, a system, a method of optimization, or the like, you should probably understand why you’re doing so or you end up with unintended consequences, as you point out. Emergent behaviour can totally bite you in the ass if you’re not careful about it :)

    As far as programming is concerned, premature optimization is truly the root of all evil. Profile, profile, profile, profile, profile. I mean, don’t be naive to the point of making moronic n^3 algorithms or something out the gate, but programming-wise I think the biggest cargo cult issues tend to be around Object Oriented programming and the benefits/flaws of it. A lot of folks use specific patterns without really thinking about why (i.e.: inheritance vs composition).

    A similar cargo cult mentality I find is agile development. There’s lots great about agile; there’s a lot of aspects that aren’t so hot for certain stages or methods of development (heavily pipelining development, for example, makes rules-as-written agile not a great fit), but plenty of project managers don’t think about it at all and just go, “THE NEW HOTNESS IS AGILE!” and boom, away you go.

    Great post!

    Comment by Talarian — 17 August, 2016 @ 9:58 PM

  2. I was going to say as well that in programming, paradigms abound and are used as a shorthand for actually understanding problems. Left pad anyone?

    As for premature optimization, the n^3 example is unfortunately often happening with reference to the “root of all evil” expression. That annoys me even more than premature optimization, because it’s cargo culting again.

    Comment by unwesen — 17 August, 2016 @ 11:59 PM

  3. I’m pretty much with Talarian, with a couple of twists.

    First, without actually quizzing the designer, how do you distinguish between cargo cult design and adopting a convention? I’ve argued against convention-driven design (as not being active, mindful _design_), but that feels like a slightly different — and possibly more forgivable — problem than just blindly copying a system or mechanic without even considering its utility as a convention of a particular market.

    Second, ever since I read Douglas Hofstadter’s description of cargo cultism, it was instantly possible to see this behavior in programmers. But I think there are two ways it appears in any field.

    One is newbies. It’s as you describe tracing for artists: you learn by copying. When whatever you copied doesn’t work right for your project, you learn by figuring out why. This form of cargo cultism is maybe tolerable because it’s only a temporary first step on the road to mastery.

    The other is the wannabes. For these, creation is not a thing to be enjoyed in itself, but an annoying requirement to be gotten through as quickly as possible to achieve some other goal. These are the people who’ll grab something that seems to work elsewhere, then, when it doesn’t work for them, leave it to be fixed by an actual master of that craft. Their cargo cultism is the product of enthusiasm without dedication.

    If you want to ding that latter form of cargo cult-style behavior, I am right there with you. :)

    Comment by Bart Stewart — 18 August, 2016 @ 9:43 AM

  4. If you think this phenomenon is remarkable in gaming you really should take a look at publishing. No-one knows why anything sells so when anything does better than expected everyone copies anything and everything from the font to the color of the cover to the words in the title to the plot and the characters. Go see how many popular crime novels there are right now with “Girl” in the title just to give one obvious example. Seeing this from close-up as a bookseller it can be excruciatingly embarrassing to observe. And it almost never works. just often enough to mean it keeps on happening.

    Comment by bhagpuss — 18 August, 2016 @ 10:17 AM

Leave a comment

I value your comment and think the discussions are the best part of this blog. However, there's this scourge called comment spam, so I choose to moderate comments rather than giving filthy spammers any advantage.

If this is your first comment, it will be held for moderation and therefore will not show up immediately. I will approve your comment when I can, usually within a day. Comments should eventually be approved if not spam. If your comment doesn't show up and it wasn't spam, send me an email as the spam catchers might have caught it by accident.

Line and paragraph breaks automatic, HTML allowed: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Email Subscription

Get posts by email:


Recent Comments

Categories

Search the Blog

Calendar

August 2017
S M T W T F S
« Jun    
 12345
6789101112
13141516171819
20212223242526
2728293031  

Meta

Archives

Standard Disclaimer

I speak only for myself, not for any company.

My Book





Information

Around the Internet

Game and Online Developers

Game News Sites

Game Ranters and Discussion

Help for Businesses

Other Fun Stuff

Quiet (aka Dead) Sites

Posts Copyright Brian Green, aka Psychochild. Comments belong to their authors.

Support me and my work on