Engineering Team - Prototyping and Hackathons

11/11/2020

  • Tech

To celebrate Carl Larsson’s two year anniversary at Singularity 6, we asked him to share his thoughts about what distinguishes development here. Carl’s not only our tech lead on our gameplay team, but was the first engineer to join Singularity 6! When he isn’t crafting our game architecture, he’s often joining in on game jams or hacking on side projects.

The biggest difference between Singularity 6 and other game studios I've worked at is its willingness to experiment. Already, the game we're making has literally never been done before, so any feature we put into the game is going to require quite a bit of iteration. One way we do this is through prototyping.

Before an engineer even writes a line of code we usually start with a design spec and possibly a paper prototype. This allows designers to consider high level game design implications for the feature and come up with some possibilities. Once that's been done, we typically go down one of two different routes. For more straightforward game features, we take an iterative approach - coming up first with a sort of minimum viable product to get in the broad strokes of the game design and then adding layers on top of it or altering the direction as we go. For riskier features, we take an experimental approach - usually building multiple different designs concurrently to test against each other. Often times the design we think that's going to be the best on paper ends up feeling wrong and having different versions to compare to instills confidence in the final result.

To speed up the prototyping process we aren't attached to one tool or execution. We might develop the feature on a branch of our game code. Or we might start a brand new project in order to avoid having to worry about some of the harder technical requirements of our game code (like multiplayer or performance optimizations). We might even choose an entirely different engine or tool. Although this can sometimes feel wasteful, our goal with prototyping is to find the fun in the fastest way possible. Once we do that, figuring out the architecture of the code is a much more sane process.

The last way we prototype is through hackathons. Having done countless game jams on my personal time, this is definitely a huge perk of working at Singularity 6 for me. Our hackathons usually span a week or so of time and are incredibly free form. People can form groups or work on their own. The hackathon projects range from "features we had planned for our game" to "features that we've never seen in any game before". They've included new narratives, new takes on our world, completely new apps, and sometimes just new tech that we've been wanting to test out. Often times features are cross discipline: at one hackathon a person from every department (gameplay, art, design, platform) pitched in to create a "game within a game" concept that would be impossible to achieve with a typical game jam team.

I'm super excited to be a part of a company with such an experimental and innovative game development culture and can't wait to share all the things we've been working on. Below is a little taste of just one of the hackathons we prototyped. I wonder what's inside the box? Come join us to find out: we're hiring!