In the two-and-a-bit years since its launch, the Nintendo Switch has provided a welcome platform for indie developers of all sizes. And while the eShop itself is getting a bit crowded these days, it’s still a viable alternative to the heaving marketplace that is Steam, which sees dozens of indie games pile onto its servers every week. For Leamington Spa-based developer Tim Stoddard, the eShop gave him the chance to revisit a game he originally released on PC back in 2017: the twin-stick shooter and rogue-lite hybrid, Gemstone Keeper.
“Actually starting the process felt very mysterious,” Stoddard says of submitting the game to Nintendo. “You either had to know someone or send a pitch to a specific address and see what they said. I did the latter, writing a lengthy pitch about the game, what makes it stand out, and how it would be ideal for the console… It took a while to get the word that I’d been granted access, and it was exciting when it did happen. That feeling changed to worry as I realised how daunting it was.”
The Nintendo process was, Stoddard says, quite different from Steam, where filling in a few forms and then uploading a finished build was pretty much all that was required to get the game in front of prospective players. “Not only was I going to handle getting the game to work on the Switch, but also have my game vetted by Nintendo, who have strict guidelines for both functionality and in-game terminology,” Stoddard says.
Fortunately, the way Stoddard built the game made it a solid fit for the Switch: Gemstone Keeper uses an engine Stoddard created himself, called the Vigilante Game Framework, and the set of libraries it’s built on use OpenGL – something the Switch happily supports. With a little help from Swiss developer Ironbell, Gemstone Keeper took around three months to port across to Nintendo’s hybrid console. “The biggest challenge was the audio library since the code it uses had no support on the Switch,” Stoddard says. “We ended up having to rewrite most of it with Nintendo’s native audio functions. In total, it took us nearly three months to get (the libraries) feature-complete and fully operational on the Switch. By the end of March (2019), I had Gemstone Keeper running on an actual console, which was just a fulfilling moment as a game developer.”
If Gemstone Keeper has an experimental look about it – all blocky ASCII art, eye-searing colours, and monitor scan line effects – then that’s partly because it began as a tech demo, designed to show off a tool Stoddard made for his final year thesis. “The tool was used to create and preview procedurally generated levels by setting and changing the parameters of multiple algorithms,” explains Stoddard. “The demo was much different from what Gemstone Keeper ended up being; the exploration was a part of it – because I wanted to demonstrate the level generation – but because I’m a fan of arcade shoot-‘em-ups, the gameplay in that demo was much more rigid and focused.”
Stoddard continued working on Gemstone Keeper once his thesis was completed, adding a handful of RPG and roguelike elements to what was initially a straight twin-stick shooter. “I was getting more interested in roguelike games, where there is more of an emphasis on preserving your character and planning your route, as opposed to the games I typically play where you go straight in, guns blazing,” Stoddard says. “As I got more into them, the more I felt I should focus on the exploration and relaxed vibe, and that was part of the reason why the game has its ASCII aesthetic.”
Those ASCII graphics, where a 2D world is created from a shimmering assortment of hashtag symbols, guillemets, and at signs, provided their own challenges. “There was a lot of experimentation and trial-and-error to get the ASCII art to look right,” explains Stoddard. “All the ASCII art is generated in-game using a single font file: the design of sprites, objects, and walls were planned out and then I wrote out which characters should be rendered and where individually. Unfortunately, with the nature of fonts, you can’t guarantee that the individual characters would be rendered in the right place, so eventually, I wrote out a function to print out all the generated textures so I could properly inspect them and make necessary adjustments.”
Porting Gemstone Keeper to the Switch also gave Stoddard the chance to give the graphics an overhaul, with the resolution doubled to 720p; as a result, he says, “all the positions, sizes, the movement calculations, and other details had to be checked by hand, line by line.”
While all this was going on, Stoddard also decided to beef up the game with a new survival game mode – a hectic side attraction that adds some multiplayer competition to complement the solo campaign. All told, the new mode took three weeks to build – a pretty impressive feat, given that, like the rest of Gemstone Keeper’s development, it was all put together in Stoddard’s spare time.
And with the game due for release on the Switch this November, Stoddard is already thinking about his next solo project; this time, he says, it’ll be a Switch exclusive. “It’s a great console to make games for, and I think it deserves more indie stuff that is built (with) the system in mind, instead of just being ported over for the sake of it,” he says. “I’ve been writing out one game concept that I want to start trying out as soon as Gemstone Keeper has set sail, so maybe next year I’ll have something to show.”
Learning from the masters
Although we often look back on games of the past with a nostalgic eye, Stoddard points out that there’s also a practical reason for returning to the classics. “I think it’s important for developers to look at early games to understand how they have had a lasting appeal,” he says. “(They were) able to create something so creative and enjoyable despite being restricted to the technologies of the time they were made. I’m personally a firm believer of the idea that you are more creative when you have constraints set against you, because those constraints take more effort to work within than having little to no constraints at all.”