Gunpoint: Coding

Programming is not what I’m naturally best at, and while it’s generally been easier than expected on Gunpoint, there is some friction. Some things are hard, and if you hit a hard thing after successfully coding lots of easy things, it seems maddeningly unfair.

You slip into a mindset where you expect things to work, which makes you angry rather than confused when they don’t. I’ve had to start spotting this mindset when it crops up, and taking a long, relaxing break before I go any further.

When I come back, I have to change gear. And the most useful way I’ve found to think of it is this:

Your game is fucking insane.

It is a mental patient. It has completely lost its mind, and to make it behave in any kind of reasonable way, you have to be expecting every sensible instruction to be met with screaming, preposterous bullshit.

Programmer: Hello Game, how are you feeling? I’d like to make this object stop when it hits a wall, if that’s OK with you.

Game: GRAVITY NO LONGER EXISTS!

Programmer: What?

Game: Every lightswitch in the world will fire a single red laser at one man’s head, and that man is… HIM!

Progammer: OK – I’m not sure how that’s related, but I’ll look into-

Game: I DON’T KNOW WHAT SPACE IS!

Programmer: The key, or…

Game: SPACE! SPACE! HORIZONTAL CO-ORDINATES! I have over five thousand references to ‘x’ and I’ve NEVER HEARD OF X.

Programmer: That’s… that’s how far right things are, Game. It’s the first thing we learned.

Game: NO! It’s a room! A room with a box, and a photocopier, and a lighting error, off the corner of Baker and 45th.

Programmer:

Game: X IS A ROOM!

Programmer: Ohh, I actually did change the name of an old test level to that for a moment, I guess that’s what’s getting you confused – I’ll fix it.

Game: PRANKSPASM IS UNDEFINED!

Programmer: That one I’ll give you.

20 Replies to “Gunpoint: Coding”

  1. I can confirm that using swearwords as variable names will cheer you right up. Although I might get a bit of a ticking off if my boss looks at some of the sql stored proceedures I’ve been writing recently…

  2. Makes me think of Jipi and the Paranoid Chip.

    Which makes all programming a bit less irritating in some ways, and more paranoia inducing in others.

  3. If you replace “Game” with one of the people I have to work with, you’d have a rough idea of my typical working day – and that’s before I even get around to programming!

  4. For my graphics engine I found the perfect design pattern when – and I’m not making this up – I imagined it as an imbecilic, shambling stagehand. He was really strong and could drag all my scenery and props around, but I could *only* talk to him in those terms – he wouldn’t understand anything about the play I was putting on. Suddenly I knew what was game code and what was graphics engine code and how to compartmentalise them.

  5. The line I tend to work by when coding is:
    “Computers are stupid, they can only do what you tell them to do”

Comments are closed.