Subtension

Subtension Trailer : Wolverinesoft Studio from Gibson Gillett-Behrens on Vimeo.

Subtension (internally known as Project Light) is a 2D RTS developed by WolverineSoft Studio. It’s a case study of the game FTL (Faster Than Light) and it’s available for FREE on itch.io and Steam.

I was a gameplay programmer on the project where my main responsibilities included using C# to code weapon behavior & upgrade systems. My responsibilities also included writing documentation in Confluence, using Jira to track/fix bugs & manage tasks, and some miscellaneous Unity work such as implementation animations and tweaking UI elements.

On the project, I worked with a team of over 30 people across the studio (artists, sound designers, producers, game designers, etc.) which included collaborating with 9 other programmers. The studio operated with agile methodologies where we worked in 3 week sprints. The project was in active development from September, 2022 through December, 2022.

WEAPON SYSTEMS


The code that I wrote involved creating scriptable objects for unique weapon upgrades which inherited certain aspects from a base weapon upgrade class. These weapon upgrades included things like increasing damage, critical hit rate, and shield recharge rate. These upgrades were purchased in a specific “shop” scene in Unity and part of the work involved ensuring that data was passed between scenes when a player purchased an upgrade.

I was also tasked with creating general weapons as well, like a “Scrap Launcher” which targeted random rooms on the enemy’s sub.

Each aspect of my work presented an interesting challenge and solving each task helped me understand new aspects of programming inside of Unity. Passing data between scenes and using scriptable objects were particularly useful things that I learned on the project which I’m continuing to use in current projects.

[Sample Subtension C# Scripts]

POSTMORTEM/CLOSING THOUGHTS


COMMUNICATION

I learned a ton from the experience of working on Subtension and I’m a much better game developer as a result of working on the project.

It was my first time working with such a large team and it helped me understand how studios actually operate in the real world. I got to see firsthand some the challenges that come along with working with so many other developers such as how truly essential communication is for keeping a project on track. I saw how easy it is to assume that someone will do that one thing, but no one knows whose job it is, so it gets overlooked and ships when it would have been an easy fix.

So, the first big takeaway I had was learning to communicate A LOT and learning that taking initiative on certain things by either communicating with my leads about the issue or just taking the 2-10 minutes to fix it myself and then letting my leads know that I fixed it on the off-chance that someone else was already working on it.

PROGRAMMING ON A TEAM AND ASKING FOR HELP

Another key set of lessons I learned was about asking for help, the real experience of programming on a team, and how it feels to collaborate with other programmers.

A lot of my development journey before Subtension involved either solo endeavors or very small teams. Subtension taught me to get extremely comfortable with version control and it taught me how to ask other programmers about their code when I felt lost (and the importance of documentation).

Early on during the project, working on a large team for the first time left me feeling filled with anxiety and like a complete imposter. I had a severely misguided idea that I should somehow just know everything and that onboarding onto an unfamiliar code base should have felt “easy”. Reflecting on the experience now, I realize how normal these feelings were and it’s allowed me to relax a lot more and not feel afraid that someone will “fire me” for asking for help. It’s hard to overstate the value of getting comfortable asking for help, as it’s a MASSIVELY IMPORTANT part of being a game developer.

GAME DESIGN

The final major takeaway I had from Subtension was related to some of my uncertainty about taking initiative on the project. I originally got into game development as a designer and eventually I learned how to code out of a desire to bring my designs to life. This meant my journey as a game developer involved getting a computer science degree and largely leaving game design behind for awhile.

During our studio-wide postmortem for the game, I started to feel a sense that I could impact future games more effectively and take more initiative if I changed departments and joined the design team. This hunch turned out to be the right move for me and my experience working as a programmer has allowed me to become a technical designer who can effectively communicate with both programmers and designers.

The experience of working on Subtension as a programmer brought me back to my primary skill of game design and made me a much better game developer as a whole, which continues to serve me more and more each day.

Scroll to top