Friendly Fire

As a capstone project at Austin Community College, Friendly Fire was developed in Unity by a full team working together for the first time — and it's available on Steam.

Project Type Full team project
Software Used Unity
Release Available on Steam
Primary Role(s) Creative Lead, Engineer, UI, VFX, Sound Implementation
Overview
Shattering a target while in Hyper-time during a combat challenge. This is the Gacha machine at which the player can gamble away tokens in exchange for decorations and skins for their guns. First pass of a breakable barrel.

As a capstone project at Austin Community College, Friendly Fire was developed in Unity by a team of developers working together for the first time. Some recognized this wasn't their path, and others walked the gauntlet solidly in the daunting face of a new career.

As the creative lead and only programmer on the team, I took on responsibilities I wasn't fully prepared for. Communicating and managing a team of 10+ proved difficult, but by the second milestone, we had completed 80% of the original aim-trainer design. However, a massive redesign and scope expansion occurred at the beginning of milestone 3.

This was a difficult time to navigate as a leader, but within two weeks, production fully resumed with a solid new direction. Still, the team was shaken by all the uncertainty. I was not immune; I was terrified. We had a new design; was it good enough? How big was this setback? Could we even complete it in time? But I had to restore the conviction of my team, and cowering with worries was not an option. I stepped into my role as creative lead and reached a confident guiding hand towards each teammate's duties.

As the sole programmer , I quickly adapted the level generation code to an expanded version, allowing for a mobile player and hand-placed target locations. Changing the player from static to moving was another challenge, as I had never written a proper character controller. The character controller became an ongoing struggle as I added jumping, crouching, and, most frustratingly, a dash. Creating an impactful dash that also didn't send the player to the moon took several revisions of the forces, gravity, and effects of player inputs.

Friendly Fire's development was unique, but at the 11th hour, it came together beautifully. There's still plenty of room for growth, but I'm no longer stumbling over responsibilities; rather, I am marching ahead with my team at my side.

The explosive barrel was a late addition along with breakable walls. Here I have the video of it being first functional as I test it in our playground, and next is the final product you can see in game today.

Barrel First Functional

Barrel Finished

Milestone 2 for Friendly Fire was a major wake-up call that what we had been building was not what the audience wanted. And so we pivoted.

FFLogoPolish.png
FFLogoPolish.png

Being already 2 months into production, we were nearly in alpha since our scope was small. Then we had a scary wake-up call during our milestone presentation, when I was bombarded with hard questions that I didn't have solid answers for. The biggest mention was how the two halves of the game felt disjointed from each other. While that was by design, since I intended to make an aim trainer, it was a valid point. The feeling was palpable when I met with my team after; our morale tanked. I was so frustrated I wanted to give up, but as a leader, that wasn't an option; and so we pivoted.

For the next two weeks, I had discussions with designers and artists about where to take this game. We would decide on one pitch, then take issue with it the next day. It was a tumultuous time that left everyone feeling very frustrated. Eventually, we settled on one final pitch. It was far larger in scope, which was incredibly risky since we were already halfway through production, but I knew we could handle it.

Our pivot was successful. The game available on Steam today is that final pitch realized . Even with the expanded scope and only one programmer, we got it done. Things were touch-and-go until the very last milestone, but when is a game ever truly done in the eyes of a developer?

OLD_loops.png - Original design loops
OLD_loops.png - Original design loops

Detailing the sweeping changes to Friendly Fire's design, the original design set the visual novel as a reward for warming up in the aim trainer. A drip-fed narrative about having online friends, it was meant to be comedic and dramatic, perhaps even romantic.

Moving from an aim-trainer and static visual novel, to a fully-actualized game that stands alone instead of being a warmup, several things had to change. Key additions were: a character controller, hand-designed levels, a new dialogue structure, and gambling. The scope easily tripled in size, which is why this was such a difficult decision for us to make.

New design screenshot
New design screenshot
Interactable.PNG

When building the interactable system, I wanted as much flexibility as possible. Inspired by Unity Buttons, this interactable system allows interactions, requirements, alternate interactions, and exchangeable prompt UIs.

Notable Uses

Code Snippets