2-bit hacks

Snipehunter's picture

For as long as I've been a designer in this industry, designers and engineers alike have complained about how certain things they've had to do are "hacks." I'm going to explain why I think there's not such thing as a "hack" in this sense and then I'm going to go on and point out how designers are hurting themselves - and their games - by avoiding these "hacks."

Now, for the uninitiated, let me explain: I don't mean they were forced to break into the pentagon's servers or anything like that. A hack, in this sense of the word, is using tools or systems to do things they were never built to do. Using a butter knife to drive a screw - that's a hack in the sense I'm talking about. For game designers, this usually means using one system meant to do something specific (say, the quest system in an MMO) and using it to do something else, entirely (say, implement upgradeable player housing).

The disdain for this hackery seems to be universal in the industry. As a body, we lament how bad our tools are; how we don't have tools to do certain things, etc. "There's no tech for that" and "Yeah, but we need a tool" are amongst the most common complaints I hear from designers - and that includes from me.

The thing is, that never stops me, and a few other designers like me that I've worked with, from trying. There's a certain type of designer that revels in the challenge of taking the tools they have and pushing the envelope of what they can do with them. Whichever level designer first started taking advantage of rocket jumps in his levels... He was the type of designer I'm talking about. Yes, 9 times out of 10 when we use our tools this way, the result is pretty clunky (player housing in AA being the example I sited above), but can you deny that there are results? Would AA have had player housing any other way? Certainly not.

So, is hacking really so bad? If there's no other way to get a feature you need, don't you just have to do it? Why is that bad? Why should that be avoided? And yet... almost universally, it is considered bad - and people make every effort to avoid it.

On a recent project, I had a discussion with a level designer about one of our systems. He mentioned that he felt the system was too restrictive, that we would "need it to do a whole lot more" if we were going to use it often enough to justify its existence in the game. I understood his point well enough, but I pointed out that the system was, in fact, quite expansive and was really only limited by the imagination of the designer doing the implementation because of the way it tied into another system.

"Take action X and wire it to trigger Y, now all of the sudden your system can do Y, how is that restrictive?" I asked. His response was to flinch and say, with obvious distaste, "Yeah, but that's a hack."

And he's not wrong - Action X was never meant to do what trigger Y does, but that doesn't mean it can't. Nor does it mean it shouldn't be done. If it's better for your game that Action X link to Trigger Y - that the screw be driven even though the only tool you have is a butter knife - then shouldn't you do it, for the betterment of your game?

Pride in your craft is important, and yes - no one wants to do sloppy or unsophisticated work, but if you can't finish the job you said you were going to do any other way, then don't you have an obligation to do so? Out of the pride of knowing you do your job without fail, if nothing else?

Besides which, every tool we have was created because someone first tried to use some other tool to do the job. It's an important step in the process to create the need for a tool and thereby understand how a tool will be used, is it not? Don't you think your tools would be better if you spent time trying to do the job first, so you can tell your tool makers how you plan to use those new tools?

For that matter, hacking - applying your tools in unexpected ways to produce beneficial, but unintended results - often leads to discovering new types of gameplay that you may not have realized your game was capable of.

In auto assault, for example, I prototyped the outposts and obelisks using the same triggering system we used for the in-game events seen in instanced missions used in conjunction with the tech for arena combat. We created a very public, PvP gameplay environment using technology and tools meant solely for use in instanced levels. In doing so I discovered flaws in our technology we couldn't have seen any other way, which was very useful for us, but more importantly - I was able to show our team that the feature could work, without taking critical time away from our engineers, who were busy working on implementing other core features.

In the end, we went back and tuned and polished the whole thing using engineers and custom created tools, but none of that would have happened if I hadn't "hacked in" the gameplay, first. So I ask you: How is it bad that I did so? How is it bad for anyone to do so?

Hacking is an inherently creative act and even though the results aren't always pretty, you always learn something by trying. What you learn, you bring to your game even if the hack fails, and that's important - because apply what you know, what you've learned, is how your game gets better, right?

I mean, how else can you innovate your own games?

For that matter, do you honestly think the folks at Valve, Blizzard, Bungie or Rockstar don't hack?

- Snipehunter