Header Ads

Q&A: Creating the hacker-cyberpunk game Quadrilateral Cowboy

Brendon Chung's cyberpunk hacking adventure Quadrilateral Cowboy comes out today.

comes out today. It's a much bigger game than Chung's previous work — which includes critical darlings Thirty Flights of Loving, Gravity Bone , and Flotilla . And not just bigger in sheer size — it took about four years longer to develop than his other games (despite intentions to the contrary) and it's bigger in scope. Its Neuromancer-esque 1980s cyberpunk world mixes walking around exploring and interacting with the environment with hacking into the systems that govern it.

Part puzzle game, part adventure, part mind-jacking heist, and part introduction to programming concepts, it tackles an ambitious task: how do you create a coherent game world that feels tangible and compelling in the sense of moving around it and breaking it with Hollywood-worthy hacking feats and command-line magic, while also at the same time keeping these hacking mechanics accessible enough that non-coders don't wind up fleeing in terror?

We spoke to Chung last week about how he's designed and refined Quadrilateral Cowboy 's hacking systems to meet this challenge, how he's balanced the needs of this command-line hacking interface with those of the traditional first-person puzzle-heavy heist adventure that it's wrapped around, and also how he's drawn inspiration from Looking Glass stealth classic Thief .

You've previously described Quadrilateral Cowboy as the Guitar Hero of coding, which is a really fascinating shorthand given that in Guitar Hero you have fake guitars with fake frets and strumming, and in your game you require that people type these hacking commands. Was that always going to be the idea?

Brendon Chung: Yeah. I attribute that quote to my brother, who mentioned that when I described the game to him. Instead of using a plastic guitar as a peripheral, here you're using a keyboard as your weird custom peripheral to play with.

Just hearing that click clack of the keyboard as you're typing commands in kind of gives it this feeling of, oh yeah, you're actually doing cool scripting stuff on the computer.

It's kind of about authenticity.

Yeah. Definitely.

In Guitar Hero you play on this fake guitar, but it doesn't have strings on it and the way you strum is quite different to a real guitar. And in Quadrilateral Cowboy what I've seen is not real hacking. It's more a Hollywood vision of hacking.

It's not meant to be like what you would actually do to break into a telephone company. It's more like the feeling of learning a system. What is the feeling of getting a mastery of the syntax and learning this really light language that you use to do scripting stuff. It is kind of a mishmash of different programming concepts and ideals and languages that I've used previously. So people do definitely get that visceral feeling of working with systems and programming.

Are there particular languages that you have based your design on?

Yeah. It's kind of this weird combination of C# and little pieces of QBasic and Logo and of the developer console of the game engine itself, which is the Doom 3 engine.

Did you ever think about being really true to the time and using Pascal or something like that?

[laughs] No, I tend to play pretty fast and loose with history stuff. I prefer making things that have enough historical basis that there's something to latch onto but not so much that it becomes beholden to it. I find that slows down the development process.

I read that Thief was one of your inspirations. Can you tell me a bit about that?

Thief changed how I looked at games in a lot of ways. Prior to that the stuff I'd played was like you are the hero of the universe. You are the person that carries a billion guns and is indestructible. And in Thief there was this really huge change where you are a tiny, scrawny thief person and guards will destroy you if they look at you the wrong way. It was really refreshing to be put in this new role and kind of roleplay as a character who is very fragile. Instead of brute forcing everywhere you have to learn how the system works and then subvert it to your own purposes.

So for Quadrilateral Cowboy I tried to riff off of that. To make you a person that has to use these tools in interesting ways to get through these buildings.

Have you tried to replicate the tension of Thief as well? Where you feel like you're always in danger and have to react quickly and cleverly to all these threats that keep emerging and evolving as you play.

Yeah,  the characters you play in the game are not superhumans. They're kind of normal people, and they have some special abilities but they're not indestructible.

On a related note, I'm curious what you think of hacking interfaces in other games? It's quite uncommon to have a game where the hacking stuff involves typing and not just shorthand click a button.

I think the one that had the biggest impact on me was the Introversion game Uplink , which had this really amazing aesthetic. The premise was that you are a person sitting in front of a computer. What you're seeing on the screen is what your character is seeing. So there's this really great one-to-one relationship of yeah, this is actually happening. You are the protagonist and you're just sitting in front of a computer. It had this wonderful utilitarian, practical feel to it. It didn't feel glitzy or glamorous. It felt like these are tools people use. There was something that was really wonderful about that.

I tried to carry on with that. The stuff that you're using in Quadrilateral Cowboy is homegrown tech. It's do it yourself soldering kit and just make stuff in your workshop. Everything is slightly janky and clunky, which is what I was going for.

There's also this big difference between Uplink and Quadrilateral Cowboy in that in your game that player can go exploring the world. It's almost traditional adventure.

Yeah, so Quadrilateral Cowboy is a first-person game and it uses traditional first-person controls. So you're walking around climbing into things, sneaking around, opening doors, stuff like that. One of your tools is the portable hacking deck that you can drop down, and once you use that you kneel down and start typing commands into your computer deck and manipulate the world.

Have you had to try to strike a balance between this hacking stuff and traversing and exploring the world?

Yeah. It just took a lot of iteration. A lot of playtesting to get that going. I was pretty lucky that the game was invited to a fair amount of expos and shows, so it got a lot of people just banging on it and getting stuck in certain parts and seeing what we can do to soften those edges and make it more approachable. Some people when they start playing can be intimidated by the programming stuff. There's some stuff you've got to type on your keyboard, and I think some people shy away from that. So it took a lot of iteration to make that more approachable and accessible to people.

Are there particular techniques that you landed on to do that?

Originally, like the very first level, it would just ask you to start typing stuff in. But in the final iteration it eases you in much more gently. It introduces concepts on a very shallow slope and walks you through them one at a time.

In the final iteration you're not introduced to the typing interface immediately. You're instead given this very simple GUI interface, and once you get used to that it gives you the foundation for all the commands you'll be typing later on.

Has it been very difficult to get this learning curve right so that all along the game people of very different coding knowledge are all able to come along for the ride and keep up with what they need to do?

The nice thing about going to expos and shows is that a lot of times the people that go to those are not necessarily looking for a goofy small game. So it was interesting to introduce Quadrilateral Cowboy to a pretty wide variety of people and to see them play it. Like one of the nice things about going to these shows — a lot of times you'll see a pretty broad diversity of people, and it's always really amazing when kids start playing it.

Kids don't have that baggage of being scared away from programming, of having preconceived notions about what programming is and how it's difficult and such. They'll just start playing and jump in and start writing code and debugging things and optimizing their things without really knowing what debugging and optimizing really is. They'll just start naturally doing it. I think there's something — it's not that the game is super intuitive. The concepts are understandable and people get it and start naturally doing it.

Which is interesting to hear because I remember that one of the hard things about learning to program is learning how to think in that particular logic, which to adults especially doesn't come easily if they don't have a maths and computer science training behind them.

Definitely I can see that. But Quadrilateral Cowboy is a streamlined, introductory version of that.

Have you been needing to rely on a lot of environmental cues to help people figure out what they need to do with the hacking? Like, how much are you prizing observation and putting hints in the environment for people?

Yeah. In a lot of the work that I do I try to integrate as much information into the world itself as possible. I'm personally a fan of when games try to make the worlds rich with information and hints on how to play the game, as opposed to other methods where it's more about displaying a tech screen or having some rigid tutorial.

So definitely there's a lot of things in the world where if you just examine things and look at what's around you, you should be able to absorb what you need to do.

And there's also systems that if you want you can bring up helpful things on demand. So like in your computer hacking deck in whatever program you're running you can type in "help" and it will give you a bunch of hints on how to use this program and what it's used for. When you're not in the deck you can open up your little guidebook that'll give you notes on this current mission and give you guidance on how to use your equipment and what the parameters of the mission are.

So the game tries to make sure that you're not lost because I think being lost is not conducive to this type of game. For this specific thing it's more about how to do it, as opposed to what you need to do.

If you get something wrong, I've seen in some of the videos you can set off alarms. How do you go about giving players that useful feedback to allow them to recover from their error?

The game tries to give you ways out of the problem, so that if something does happen where an alarm goes off or something goes wrong the mission is not over. It's largely inspired by how Thief does the failure spectrum — if a guard sees you and alerts the entire castle, the mission does not end--it keeps on going. Instead of it being instant failure, the mission parameters just change. And so similar in Quadrilateral Cowboy , if you hit an alarm there are different routes you can then take to keep on going. You can find the box that turns off the alarm or brute force your way through crashing through windows and dodging the dangerous bits that the alarm activates. It tries to keep things going.

What opportunities has the power of this hacking interface presented for interesting design in the levels and environment, and the puzzles?

It's been really interesting to make this game because in the previous stuff I've done they've been fairly controlled environments. Like Thirty Flights of Loving is a very tightly controlled story game. And previous stuff — like Atom Zombie Smasher had some rules but it was pretty light.

For this game it was interesting to make something where the different rules all overlap on each other and are kind of physically driven. Every now and then I would just be surprised by systems that would interact in ways I wasn't expecting. Because they were so systems-driven, it created situations that I didn't know existed. Like in one of them there's a pressure sensitive plate that when you take the security vault. It holds a valuable item. When you remove it it triggers the alarm. But what I wasn't expecting was that you could then use your little tiny robot to walk around it. If you try to jump over it and you happen to land incorrectly, the little robot causes the pressure sensitive plate to wobble a bit. And that triggers the alarm as well. When I saw that happen I was like oh, I guess I should have known that would happen, but it's kind of surprising. It's physically simulated, so of course it would trigger. It's delightful to find that happening.

How much of the game is the hacking stuff and how much is adventure?

Um, a lot of it is — I don't have a number but I'd say it's a mixture between the two. It's a lot of messing around, and you carry around a variety of tools with you. So there is a fair bit of programming stuff, but there's also quite a bit of using all the different pieces of equipment in your catalog which don't require programming. So it's a lot of things.

To come back to a point from earlier, from what I can see you're striving for an authenticity in a kind of Neuromancer/WarGames style. How have you struck that balance between something that is really accessible for everybody and making people feel like they're super amazing elite hackers in the same was as those popular culture things?

I think that there's something really compelling about playing with systems — when systems overlap with each other and they interact with each other in interesting ways. So when it comes down to making this programming interface, it does not need to be this complex, cumbersome thing. It can be a pretty light and quick system. And just even that light and quick layer is enough to give you these interesting interactions and these unexpected surprises. So when it came down to getting that feel, introducing just enough scripting stuff was enough to give players that feeling that they were this — you know, the Guitar Hero of programming.

I know from experience that a lot of people with no coding experience see hacking as almost indistinguishable from magic. It's just totally arcane to them.

*laughs* Yeah, for sure. I can't blame them for thinking that because a lot of media presents it that way, but if you dive into some of the introductory stuff it's less difficult than people actually think it is.

On a more technical side, what I've seen of the game I think is mostly early stuff. So it's just people playing around with command lines, doing a bit of Telnet stuff. How deep do they get into actual code as opposed to these shell commands?

There's some code concept stuff going on, but you're not actually like writing — you can finagle your way to create programs by doing macros and scripting stuff. But yeah, for the most part it's mostly focused on shell commands.

Have any IT people gone and done some stuff that's broken the game?

I don't remember the details, but at one of the PAX expos we had some computer people playing it and they spent half an hour optimizing this one chunk to make it perfectly timed and figure out all the optimizations in it. It was amazing to watch them do that. There's something really satisfying and compelling about creating this little perfect piece of code. We see that in games like Infinifactory does that really well. It's all about building this perfect machine. There's something really satisfying about "oh this one part is not as good as it can be. Let me spend 10 minutes making it better."

You don't have to do that, but for people who want to do that it's incredibly satisfying.

Have you thought about what you're going to do after you get this out?

Yeah, pretty much I'm going to spend a good chunk of time supporting this title. Just trying to respond to whatever feedback people give and seeing what I can do with that. Then after that I'll probably revisit some of my older titles and spruce them up, and do some clean-up work on supporting them. Then after that I'll probably look for a new project to do.

Maybe not something that will take four and a half years.

Yeeeaah...

Powered by Blogger.