Psychochild's Blog

A developer's musings on game development and writing.

26 October, 2009

“It’s easy”
Filed under: — Psychochild @ 1:43 AM

One of my biggest pet peeves as a game designer and programmer is a simple two word phrase: “It’s easy.” It’s not simply the words, of course, but the sentiment behind them. It’s a dismissal of the hard work it takes to accomplish many tasks.

The rule of thumb is that whenever someone utters those words and then doesn’t personally go do the thing he or she was talking about, it often means that person is full of crap.

The easy target here are the demanding players in a game. They can’t understand why some feature can’t be implemented right now. “It’s easy!” they shout, “It would take five minutes if you would just do it!” Usually there are the followup shouts of, “If only you would do that, then eleven million people would play YOUR game, too!” Thankfully, not every players has this attitude. But, it’s enough to really grate on you if you’re already spending long hours on what sometimes feels like an endless mountain of work.

Unfortunately, this attitude doesn’t apply to just players; sometimes developers can fall prey to it as well. Eric over at the Elder Game blog wrote about a profanity filter gone wrong. I shared a story about how the profanity filter in Meridian 59 could crash the servers at one time. The problem here is that a simple profanity filter doesn’t seem like a big deal. The person requesting it probably saw it as an “easy” (or probably, “low-impact”) change to the game. The person implementing it probably didn’t put too much time into the work (possibly because he or she didn’t get a lot of time from the manager). The testers probably didn’t put a whole lot of effort into testing it because they have higher priority things to handle. So, the system goes into the game and a lot of people are, at best, simply embarrassed at their shoddy system, or, at worst, working to figure out why the servers are crashing so often.

But, why is game development so hard? Why do seemingly simple tasks take so long? There’s no one universal answer here, but there are a few common causes. First, the requirements for a game are pretty high, especially considering that nobody’s life is at stake if the software fails. (Although the board warriors will probably make death threats.) Game developers tend to be a scary smart bunch of people for a reason. Second, game development is complex. There are a lot of different people responsible for a project. Especially at larger companies, there are established procedures to be followed before work can be done. The “easy fix” has to be written up as a proposal, approved by the team leads, allocated in the budget, implemented, tested by the QA team, then patched by the operations team. Finally, game design in MMOs is highly interdependent. Changing a single system could have far-reaching complications as that system touches other systems, which influence other systems, which may affect still more systems. That “easy change” may not be hard to implement, but anticipating how all the other systems will be affected can be challenging.

The lesson here is that everyone needs to respect the fact that game development is not easy. Saying so leads to all sort of problems. Or, at least, me taking down your name just in case we ever meet in person….


Next Post: »





22 Comments »

  1. We used to say things are “simple” at my last place of work, when we knew they were anything but. A piece of gallows humour that confused a lot of people.

    Comment by unwesen — 26 October, 2009 @ 2:22 AM

  2. But a profanity filter (in fact, any filter) is easy to implement. Given a complete design document, I expect most skilled programmers to create even the more complex one in under a day or two. A better programmer could quite easily go and mathematically prove that his filter does exactly what the design document says it should be doing (or else prove that the design document is self-contradictionary and thus unimplementable).

    Of course, that’s just the implementation. Designing one is not always so easy. As such, I found requesting a complete design document – and then only implementing it exactly as written – to be a great way to weed out all the half-backed “easy” ideas.

    Comment by Akjosch — 26 October, 2009 @ 3:04 AM

  3. Don’t forget also those “highly skilled programmers” that will rub in your face that the reason “it’s not easy” is because of your lack of skills.

    Amazing how the level of your skills raise when you’re not the one actually doing the job…

    Comment by Over00 — 26 October, 2009 @ 6:55 AM

  4. In my experience a lot of the time when people say, “It’s easy” what they really mean is, “It’s easy… for a human to do it.” A profanity filter is an incredibly easy task for humans, but it’s one of those things that a computer struggles with because there’s so many edge cases when judgment comes in handy. For a person they can just make those decisions without second thought but of course a computer needs well defined rules.

    Comment by Logo — 26 October, 2009 @ 7:31 AM

  5. Agreed. But then again, sometimes it -is- easy: http://forums.runicgames.com/viewtopic.php?f=5&t=686

    Comment by Julian — 26 October, 2009 @ 7:31 AM

  6. sometimes it -is- easy

    Hopefully sometimes it is and that’s when we get to shine. But the first thing you hear after “doing something easy” is “hey, you did that last time so doing this should be easy”…

    The problem is not that it’s never easy but that some assume (pretend?) it’s easy even if they don’t have a clue of the mechanic behind.

    Comment by Over00 — 26 October, 2009 @ 8:14 AM

  7. I think the problem, more than players thinking that changes are easy to make, is that players almost never tell you good, useful feedback. Often players have no idea what’s going on with the game design and what’s planned, so they offer ridiculous ideas that would be poison to implement and wouldn’t even lead to much fun. When you actually test player behavior you have a much better chance of seeing where problems have taken root.

    The difficult task is finding good feedback. It doesn’t matter if players suggest “easy” tasks if the easy tasks are all to sabotage your game.

    Comment by evizaer — 26 October, 2009 @ 8:37 AM

  8. I recall someone on the CO boards who explained how easy it was — they even provided sample code that did everything easily.

    … never mind that the code shifted the key difficult part into a made-up function call, which they didn’t bother to write, nor show how the data would be stored to power that function call (and whether they plan on altering the underlying database tables or inserting new ones), et cetera, et cetera, et cetera…

    On the other hand, Bad Profanity Filters are a staple of MMOs, aren’t they? I still remember seeing a UO NPC named “Chastity” who got censored. In a still completely readable sort of way.

    Comment by Trevel — 26 October, 2009 @ 11:53 AM

  9. Problem though is if we respect it’s not easy, it’s going to force us to be realistic about your game and what you can do. I used to be the “It’s easy” dude, I admit it, but as I read blogs like yours and others, I start to see it isn’t.

    But that also means if I come into your game, I’m going to be realistic about how hard it is to fix flaws or what is even realistic to ask. That means if I have issues, rather than be “it’s easy” guy on forums anymore, I’m going to either shut up and deal with it, or walk. Chances are it will be the latter if there are enough problems.

    The “it’s easy” dudes are the ones playing your game for three years hoping you’ll fix a busted class. The realistic guys either ditch the class entirely, or if they like it enough, get pissed at you and quit. It’s important to accord respect and be realistic, but there is a dark side to it, and I think that’s why so many developers refuse to tell us “it’s not easy.”

    Comment by Dblade — 26 October, 2009 @ 12:39 PM

  10. I work on enterprise software and we have a development environment that our customers use to create their own applications. We used to run a training class a couple of times a month for end users. For each class the training staff used to hold a lunch with the developers. Getting to talk to customers is an opportunity you don’t get at a lot of enterprise software companies, so I would attended whenever I could.

    Over the years I compiled a list of enhancements/fixes that seemed “easy” in the view of end users. They were usually thought to be easy because the end result was so small, or because it was something that they could do in MS Word. But the work that would have to go on in the background to make these “easy” things happen often ranged from difficult to insane.

    I became quite adept at explaining why the top three “easy” requests (no customer lunch was complete unless somebody mentioned at least two of them) were, in fact, not so easy. Once in a while somebody actually believed me.

    And now whenever I think something is going to be easy, my first thought is, “What am I missing?”

    Comment by wilhelm2451 — 26 October, 2009 @ 3:22 PM

  11. As a programmer, I see this sort of thing a lot. Clients especially think “things are easy” and have very little appreciation for the complexity behind it all. To be fair, I don’t mind clients – or in your example, gamers – saying that sort of thing because they are just ignorant and you can’t really blame them for that. Well, maybe :) Either way, I think the thing that always cause alarm bells to go off in my head is when management start saying stuff like that. That’s just a recipe for disaster :)

    Comment by We Fly Spitfires — 26 October, 2009 @ 3:53 PM

  12. I’ve read the profanity filter code (thankfully not worked on it) used in a whole bunch of commercial games, and a basic filter is pretty simple, but try to make one that can deal with thousands of simultaneous users all doing chat that doesn’t make the server get ridiculously slow or fall over or blow out its memory use. That is some evil code. Yuk.

    Comment by Rob Basler — 26 October, 2009 @ 10:50 PM

  13. Julian wrote:
    sometimes it -is- easy

    Sure, and in the cases where it’s easy it’s often done before anyone asks. Or, it’s done quickly with no fuss. In the example you point out, I suspect there was already a developer switch to turn the camera shake on or off, so it was mostly a question of making that option available to the players.

    Logo wrote:
    “It’s easy” what they really mean is, “It’s easy… for a human to do it.”

    I suspect it’s more, “It’s easy for me to conceptualize, so it must be easy for you to implement.” As I point out, there’s a lot of distance between concept and execution.

    eviazer wrote:
    It doesn’t matter if players suggest “easy” tasks if the easy tasks are all to sabotage your game.

    Agreed. Getting sufficient feedback is a very difficult task. That’s a topic well beyond what I’m talking about here, though. I’ve written before that the difference between what players say they want and what they want can be vast indeed.

    Dblade wrote:
    Problem though is if we respect it’s not easy, it’s going to force us to be realistic about your game and what you can do.

    There’s a difference between giving feedback and demanding a change. I do value feedback, even if it’s crazy five bagger. Again, it’s the whole “Do X and don’t argue because I know it’s easy!” attitude that rubs me the wrong way.

    wilhelm2451 wrote:
    And now whenever I think something is going to be easy, my first thought is, “What am I missing?”

    Not as noob as you might claim, I see. ;)

    Rob Basler wrote:
    [A] basic filter is pretty simple, but try to make one that can deal with thousands of simultaneous users all doing chat that doesn’t make the server get ridiculously slow or fall over or blow out its memory use.

    Exactly. M59 also had a client-side filter, so we told everyone to use that and disabled the server-side filter. But, again, people simply underestimate how much effort must go into something like that.

    Comment by Psychochild — 27 October, 2009 @ 1:27 AM

  14. I think the problem is that because players often have thoughts that were easy, they unconsciously translate that into the solution being easy. More to the point, they want the solution to be easy, because it’s an issue or feature that they desire.

    Working as a software engineer in the aerospace industry, it’s not a problem we often come across, mainly because our customers understand the complexity of the systems that we build, but also because we constantly try to explain the nature of a specific problem and what it will take to fix it. That’s easy when you have one or two customers asking you why you can’t do X; when it’s hundreds of thousands of clamouring voices, I can imagine that most developers would become rather disillusioned with the whole thing quite quickly. Kudos to those who keep at it and try to educate the community in any small way that they can.

    Comment by Melmoth — 27 October, 2009 @ 9:27 AM

  15. I was discussing this topic with a colleague and something struck me as to one reason why game development can seem easy, especially from the outside.

    It struck me that making very simplistic games is very easy; this is something every parent or aunt/uncle does with small children all the time. We create a silly little game that is played and forgotten in a moment of time. Nearly everyone does this and has the capability.

    Going up a level, simple games are a bit more complex. Thinking of variant rules for something like Checkers or a twist on Tic-Tac-Toe or a follow-the-path board game is not too hard.

    But, as the games get more complex they become much harder quickly. Creating a card game with a standard 52 card poker deck is difficult and something few people can do very well. Designing a Flash game is harder still. Writing a full-fledged MMO? A very select few indeed given the enormous complexity and difficulty of fitting all the pieces together.

    If you think designing an MMO is just a glorified exercise in creating a Checkers variant, then you probably think that most things in game development are “easy”.

    Some more insight.

    Comment by Psychochild — 27 October, 2009 @ 6:13 PM

  16. Y’know, as much as I sympathize with this (even as an artist), sometimes things really *are* easy, or *would have been* if the project were planned well. Believe me, it’s an endless source of frustration when I have an easy solution but managers aren’t interested in using it… then they find out down the road after learning the hard way that my easy way would have saved time, effort and money. They had to see that implementation of their ideas didn’t work instead of trusting the guy on the ground making things fit together (and who gets blamed for taking too long implementing bad ideas).

    So I’m agreeing with the sentiment, but noting that it doesn’t always come from underlings.

    Comment by Tesh — 29 October, 2009 @ 5:06 PM

  17. Se7en Tidbits: “Cross-platform Segregation” or “Hit Capped for Healing”

    [...] or she was talking about, it often means that person is full of crap.” – Psychochild, “It’s easy”, Psychochild’s [...]

    Pingback by Are We New At This? — 30 October, 2009 @ 3:55 AM

  18. Tesh wrote:
    Believe me, it’s an endless source of frustration when I have an easy solution but managers aren’t interested in using it…

    I believe it’s cases like this where the phrase, “It’s better to ask forgiveness than to beg permission” applies. ‘Course, that’s putting your own ass on the line and if you’re wrong, things will probably go much worse than if the boss is wrong.

    But, I think at the core we’re saying the same thing: the determination if something is truly “easy” or not should come from the person doing the work. It shouldn’t come from the absentee top-down manager or the forum warriors/armchair quarterbacks of the world.

    Comment by Psychochild — 30 October, 2009 @ 1:56 PM

  19. Agreed. I’m just fleshing out the concept. ;)

    Of course, that makes me suggest (not for the first time) that those who are *doing* the work should also have more decision making power. That’s a pipe dream, though.

    Comment by Tesh — 30 October, 2009 @ 2:10 PM

  20. Tesh wrote:
    Of course, that makes me suggest (not for the first time) that those who are *doing* the work should also have more decision making power. That’s a pipe dream, though.

    As I’ve said several times before, there’s a reason I don’t go get a “real” job in the industry. And, it’s not a phobia of a regular paycheck. I need to find more like-minded people to move forward on a project.

    Comment by Psychochild — 30 October, 2009 @ 2:35 PM

  21. I think I hear the term “easy” often used in several different contexts. I personally use the word easy rarely, I believe it fits where low risk, low cost and positive profitability coincide. Which practically is never.

    The more common use where the word seems to get used is where it oppose “hard” where hard means “unknown solution” and easy means “known solution”. Usually a known solution is not implemented due to it having an unpredictable profitability assumed to be negative.

    With the example of the profanity filter I would guess the mistake might have been a misunderstanding of the risk. What appeared to be a low cost, low risk and positive profitability actually had the risk fall out.

    There are a lot of interesting tangents going from this type of organizational problem. I usually find myself thinking of the solutions to problems as either hard or detailed. Where hard mean it is unlikely to be successful and detailed mean it will cost a lot to implement.

    Comment by oskar — 2 November, 2009 @ 6:48 AM

  22. Always Designing, Always Asking

    [...] know, I know, it’s not always easy (thanks, Psychochild!) to really fix these things. At the same time, there are some simple things [...]

    Pingback by Tish Tosh Tesh — 3 December, 2009 @ 6:24 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

October 2018
S M T W T F S
« Sep    
 123456
78910111213
14151617181920
21222324252627
28293031  

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