How an injured dev learned to make games without using his hands
Losing the use of your hands can be a devastating blow to both your career and your lifestyle.
However, there are people out there who face that very issue every day and are able to persevere and adapt. Austin-based developer Rusty Moyher is one such person. A voracious coder, Moyher faced a repetitive strain Injury (RSI) diagnosis five years ago that threatened to derail his career and passion as a game designer.
This is a real concern for game makers, for whom using a keyboard and mouse can be one of the most efficient ways of creation and communication. But for someone with RSI, the two peripherals become an almost insurmountable obstacle, making the prospect of using a computer an intimidating task.
However, Rusty was determined to learn how to create a game without using his hands. It took him a year and a half and learning an entirely new way to interface with a computer, but Dig Dog, the fruit of his labor, debuted last month on PC, console and mobile devices.
Reinventing the keyboard
Moyher still technically has the use of his hands, but his injury means that spending hours hammering away at code with a keyboard and mouse is a no-go; to get back to his passion he had to completely change his approach to interacting with a computer. In the beginning, he tried multiple types of non-traditional peripherals, with no luck finding one that fit his needs.
"I've actually spent way too much money on ergonomic things only to find out that they just wouldn't help."
"I had tried a lot of different ergonomic devices. I've actually spent way too much money on ergonomic things only to find out that they just wouldn't help," Moyher tells SupperGames. "Like vertical keyboards, [and] mice that are vertical. I have this roller mouse that was like $250, and it was okay, but I think the human body is different for everybody, so it's hard to find something that really works for you."
Moyher's first breakthrough was when he found a video on coding by voice (embedded below) published by Travis Rudd in 2013. Rudd is a coder and developer that also has RSI, and his video shared how he customized the voice recognition software Dragon NaturallySpeaking for use as a tool to write Python via voice commands.
Through contacting Rudd, Moyher learned about the NatLink and Dragonfly toolsets that allow users to use custom key phrases as triggers.
If you're not familiar with Dragon NaturallySpeaking, by default it focuses on translating a person's voice to standard text. Without additional toolkits and programming, coding with Dragon would be a time-consuming nightmare of a task.
By using Dragon in conjunction with Natlink and Dragonfly, Moyher was able to begin developing a set of triggers in a made-up language that allowed him to use vocal commands, yet utilize the syntax required by programming languages simply and effectively. However, it wasn't exactly an easy adjustment according to Moyher.
"It took a while for me to actually solidify the toolset," says Moyher. "That was even before the project was set up about a year and a half ago. I was just researching these tools, trying to build things that would work for me."
According to Moyher, much of the work came down to simplifying the input process so he could work without worrying that one piece of the chain wouldn't fail and cause him to lose work.
"Some of the examples I had seen people using with this kind of voice coding, [they] would set up relay boxes…they would run all of Windows and all of Dragon inside a virtual machine, like Parallels, and they would use that to communicate to their operating system of choice from the outside," Moyher recalls.
"This added even more complication to the whole toolchain process, so I ended up simplifying it. I just used Windows directly so that there were less pieces of the chain. It means that less things could go wrong. Once I was able to shrink that, it became a little bit more manageable for me to kind of build up from there."
Another issue Moyher experienced was that he couldn't just take the commands for Python that Travis Rudd had developed and use them as-is, since Moyer's integrated development environments (IDE) of choice are Visual Studio and Xcode. Not only did he have to develop new voice commands, but because of how much more mouse-intensive these environments are he needed a new way to input cursor commands.
Let's talk about controlling your mouse with your eyes
Although Moyher had tried a host of different peripherals, none of them really clicked until he tried the SmartNav 4 from Natural Point. The SmartNav works by tracking a reflector attached to Moyher's hat. The sensitivity is such that he only has to move his head in small increments to propel the cursor across the screen. However, Moyher admitted that the SmartNav 4 wasn't entirely ideal.
Stock image of the SmartNav 4 in action
"The SmartNav 4 was something I found online that made sense immediately, because I knew for me the best thing I can do is take breaks and just use my hands less," he says. "It ended up being a good mouse replacement, or at least good enough. I think it can be a lot better. It's very rough around the edges. The software is old, and it's kind of a finicky USB device."
"I guess after having used it I'm more grumpy around it," he adds. "I’ve gotten a lot of good suggestions from other people about eye trackers and things that I haven't actually tried before, so I'm interested to dig deeper and see what other things are in this area."
Of course, figuring out how to move the mouse without his hands only solved part of the problem. Moyher needed to be able to input mouse clicks as well. The solution for that problem was a lot simpler than eye-tracking or voice recognition, though: "I'm using a foot clicker, which is relatively cheap. just as mouse clicking replacement, and that actually kind of works with just a little bit of tweaking to some sensitivity stuff."
Making game dev as hands-free as possible
Making games is hard work, but it's even harder when you're facing the sort of limitations Moyher was. Dig Dog started as a simple game centered around a dog walking around a desert. Moyher was interested in a platformer, but once he introduced digging, the game became more centered around that mechanic.
Incidentally, Moyher says Dig Dug was not the inspiration for the name.
"[Dig Dog] it's not a Dig Dug reference. It was something that, I guess, it started as sort of a desert walking dog game. I was really interested in doing an iOS platformer at first, and it kind of grew from there," he says. "At some point discovered digging, and then it became a game about digging, and at one point I think I had the name as Dig A Dog A Bone, but in the end, Dig Dog was just too good of a name to pass by."
To code Dig Dog, Moyher had to rethink his approach not only on how he input code, but the way he laid out code in general. Even things as simple as vertical scroll speed proved to be a factor in just how the game was laid out.
"The process that kind of changed a lot for me as I was building it is I became more of a foxhole coder as I was building the code," says Moyher. "Back in the day, I used to just bang out code. I would just fire it out with my hands without thinking and work really fast.”
Unfortunately, one part of the game did require Moyher to use his hands: playtesting.
"Yeah. It was a platformer, and there's a lot of like game feel," he says. "You have to really play and experience that with a controller, so I guess that's what happened there."
"How can I play this as someone totally, totally without my hands"
Moyher overcame a lot of obstacles to code Dig Dog, and he plans to continue to pursue his passion for making games. His condition hasn't blunted his love for coding, and he continues not only to design games, but also play them — and think about how games could be designed to be more accessible.
"Something else that kind of came up as I was building these things is I was experimenting with the SmartNav 4, and I started playing games with the mouse and the foot pedal," he says. "I was playing games using just that, mouse-driven experiences, and I was kind of looking at like how could that be done."
"I just had to be really patient with it as opposed to being like, 'I don't even know if I can do this.'"
"There's a game that came out. I wanna say a year and a half ago, THARSIS. It's a dice game.Yeah, it's like a sci-fi dice-rolling survival game…I played the whole game front to back, many playthroughs, just with the SmartNav 4 and the foot pedal," says Moyher. "And I was like, 'Wow. I can play this whole game this way.' And I started looking at other kind of turn-based games, and looking at how can I play this as someone totally, totally without my hands."
But while speed of play is a factor, Moyher says the real trouble comes when a game has lots of little fiddly bits the player needs to mess with in order to succeed.
"I think things that work well are games where you have large hit targets to click on, and games where it's more turn-based," he adds. "I think I tried another game called RimWorld, and that one was too difficult to play. Too many small things to click on, and the inaccuracies of the mouse made it hard to really fine-tune those pieces."
Moyher's story just goes to show that if you're passionate about something, you can overcome any obstacle. Moyher's parting words to be should be an inspiration for anyone working in game development:
"By the time I started the project, I had the tools enough in place that I was like, 'Okay. I'm pretty sure this is possible.' I just had to be really patient with it as opposed to being like, 'I don't even know if I can do this,' he concludes. "Coding, I think can be hard to learn, but I know anybody can do it, too."