Skip to main content

How Typing Heightens Duskers' Deep-Space Horror

The terror of the command line

This is The Mechanic, where Alex Wiltshire invites developers to discuss the inner workings of their games. This time, Duskers [official site].

That atmosphere. That rising tension. That emergent puzzle-solving. That moment in Duskers when deliberate planning turns to hell, and you sit, impotent, as your team of unswerving drones are fried by radiation, pulled into the vacuum of space, or are torn into scrap by unknown horrors.

At the centre of this experience is a single decision that Duskers’ creator, Tim Keenan, says was “the most empowering thing I’ve ever done in videogame design.” It won’t sound like it could ever have such power, but if you’ve played Duskers (and if you haven’t, you really should) you’ll know the potency of its:

THE MECHANIC: Command-line interface

Your keyboard is everything to Duskers. From the moment the game boots up, it’s your only way of interacting with your ship and your drones. Through it, you issue clear commands, executing methodical manoeuvres, and flounder to correctly type the words that can save them. It even drives the main menu.

But though keyboard-control feels utterly intrinsic to the game, Duskers was once a mouse-driven RTS in which you’d click to open doors and move your drones. Keenan doesn’t even exactly know where the idea to make it entirely keyboard-based came from. What he does remember is how he liked directing a drone manually with the arrow keys, but was getting irritated with continually having to move his hands from the mouse to the keyboard and back again. He showed a prototype to friends Alex Austin (Gish) and Ian Stocker (Soulcaster, Escape Goat) and swears that one of them told him (they both deny this), “You know what would make this really awesome is if you did a command-line interface.” “I laughed,” Keenan says. “‘Yes, that’s exactly what I need, because I’m already making too much money as an independent game developer.”

But the idea took hold. Keenan had previously been an effects developer at Dreamworks on films like How To Train Your Dragon, and there he used Linux, making him a command-line native. At the same time, making a decidedly austere game about being alone in empty space and with money running out, he was also fearing his future as a developer. “I kind of felt this was my last game, and I might not get to make it. I felt the odds of getting investment weren’t great, so it was backs against the wall and I was like, ‘Eh, let me just knock over all the trash cans and stir some shit up.’”

And so he made the command-line interface. “Every designer I showed said the same thing: ‘I love it. You should get rid of it.’” Not without a good deal of introspection and self-conviction, Keenan figured that, sure, they were right. This was back in 2013 or so, emerging around the same time as Quadrilateral Cowboy, and before command-line-popularising games like Hacknet, Her Story and TIS–100 would come out. This was a stab in the dark. He was alienating millions of players, but as far as he was concerned, he would have a huge success on his hands if he could appeal to 50,000 like-minded people.

On the other hand, using the keyboard felt incredibly fitting. Keenan was trying to capture the feel of Alien and Star Wars, of depending on shitty, broken-down technology. “I always wanted this feeling like technology is enabling you, but also getting in your way. I think this is what Alien did so well, where you’re in this future but they’re still fighting these interfaces and this data, this crappy camera feed from all the marines. It’s your lifeline; without it, you’re screwed, but it still gets in your way.” The next thing to worry about was thematically justifying a future that uses technology that the present day has moved beyond. But, holding the films close, he fell in love with the aesthetic. “I grew up with that stuff. And the more I stopped caring about justifying it, the more I stopped hearing people asking me to justify it.”

TIP! Try hitting F12 during the boot-up sequence. Keenan wanted to incorporate Fkeys throughout the game to really evoke classic late-'70s and early-'80s computers, but found too many PC setups need a function key to access them, lest they invoke brightness controls and the like.

Keenan realised that the system helped to establish the player’s relationship with the drones. You interact with them very indirectly, issuing cold commands, reinforcing the fact they aren’t people. Other than having a name, a colour scheme for their vision, and an identifying string of beeps when they confirm an order, they’re devoid of personality and essentially interchangeable. You can freely swap in and out their upgrades, so none has any unique abilities other than slightly differing speeds and health. And the older they get, the more unreliable they become, so it often becomes prudent to destroy them for parts. And yet you’re bound to develop such strong bonds that you so often won’t.

You are, after all, the drones’ operator, a relationship with the game that took Keenan a good deal of time to get the design to establish. Earlier in development, players would tell him that they were playing as the drones, that they were only experiencing a videogame, and were distanced from the deeper sense of being isolated in space that he wanted to capture. But the keyboard offered a one-to-one link between player and game. “Like, this is your computer, you’re looking at it, so when you kit K, you’re hitting K. So there’s a tactile nature to that which I think is powerful. In so many games, when you point and click it isn’t in your world. But the buttons are in your world.”

Not that friendly criticism stopped once Keenan became more confident with the direction he’d taken. It moved on to the very nature of control with a keyboard. Wasn’t he turning his back on the efficiencies of the modern RTS? “Why would you put something clunky in the way of that?” Drag-selecting groups of units and moving them is quick with mouse-driven controls, and besides, players are used to them. He began to fear that he might be blundering into an established form. “There is a point where you understand as a designer that there’s a difference between knowing the rules and breaking them intentionally, and not knowing and being like a bull in a china shop. That feels juvenile and silly, and I don’t want to come across like that.”

But is the mouse-driven RTS interface really the most efficient? Going back to navigating and administering directories with elegant commands in Linux, Keenan knew that keyboard commands can be extremely quick and powerful. And so he removed the mouse entirely, even the menu screen, where he found that having mouse control instilled an expectation for it to be used elsewhere. (Actually, there is one place you can use the mouse: to resize and moving the console window.)

“The more I thought about it, it was like shit or get off the pot. As soon as I put the command-line interface in the game, it was like I’d stolen the car and now I was worried about speeding or doing coke, but I’m already in trouble, so I might as well have fun,” Keenan says. “Are we going to worry that the pacing is very slow? That you don’t have weapons, or music?” Taking such a bold step helped the rest of the game find focus.

In play, Duskers’ text commands have the curious capacity to make you feel both empowered and helpless. On one hand, you can issue perfect commands to your unquestioning drones, and watch them smoothly executed. On the other hand, if you left a door open or forgot to detect motion in a new room before entering, the same power can lead to total disaster, and you always feel it’s your fault. “You had all the time in the world, and everything you said they did, and just like a programmer who forgot a semicolon, you told them to go into that room and they will sit there and get their digital faces eaten off by whatever terror is in there unless you tell them not to.”

The commands themselves were reasonably straightforward to implement, Keenan taking general inspiration from Linux and programming, implementing a syntax and auto-complete. But deciding the limits of the commands was trickier. He’d played and enjoyed Hacknet, but noticed that its embracing of Linux led to some issues. “It was so close to what I was used to that if I couldn’t do certain operations I could in a bash shell, it sort of broke the immersion for me.”

He wanted to keep Duskers’ commands simple and unfamiliar, so they wouldn’t inspire such expectations, but he soon had early players asking for more power. He added semicolons so you can chain commands together, and aliases that allow you to rename commands. But then they wanted things like optional and conditional parameters. “I realised that was a can of worms I didn’t want to open up, and it could start to eat away at some of that tension of creeping into a room,” he says. Duskers is not a game about programming, and so he tried to meet their expectations halfway with commands like NAVIGATE ALL R1 (which sends all your drones to the room in which you started). “The more you do, the more robust the expectation is,” Keenan says. “It’s like when you’re greyboxing a game and you put in art and people assume it’s final art. So you have to be very careful because they come with expectations which change the way people perceive your game.”

Since Duskers’ first public prototype was released, keyboard commands have gained new popularity, in games like Her Story and also places like Slack and Facebook’s chatbots. Turns out text isn’t such a bad interface. “Programmers aren’t sadists, you know? They’re efficient and they’re lazy,” says Keenan. “When you look at the iPad, how intuitive every tap is, but all of a sudden you start to realise you’re losing something. It’s not the most efficient way to do things, and people aren’t afraid of their keyboards. Can we reintegrate some of those things that were awesome? Now it’s point at the screen, talk to the screen, type… what’s the best way to do it?” For Duskers, it’s definitely typing.

Read this next