Doubles Troubles [Working Title]

Core Contributions

System
Design

Designed a friendly fire system that allows the two player characters to attack each other to create new combo routes

Character
State Machines

Established animation state machine for player characters using animations collected from asset packs

Combat
Physics

Developed and balanced hitbox and launch systems to provide emergent combo potential

AI
Implementation

Scripted basic AI for partner character using UE4 behavior tree

Overview

 

Doubles Troubles is a 2D brawler where you’re tasked with coordinating a dysfunctional tag team with the help of an AI assistant. This is currently a work in progress that I am developing in my free time. The game is inspired heavily by games like Streets of Rage and Super Smash Brothers.

Game
Design

 

This project started as a class assignment, that I decided to rebuild from the ground up in my time after graduation. The game is heavily inspired by playing doubles with friends in Super Smash Bros. We’re not particularly coordinated, and there’re often times when we end up just killing each other instead of our opponents. I wanted to make a game that kinda captures the fun of that chaos, that in some ways encourages not just knocking around your opponents, but also your allies in creative ways to create new opportunities for yourself as you take on the world.

When it comes to the design of the characters, I wanted to push the goal of teamwork between the two. I decided I wanted each character to kind of feel like a half of a whole. My initial thought process was looking at Ryu from streetfighter and wondering what it would be like if he was split in two, one character who did all of his punch moves, and the other that did all of his kicks. Off of this idea, I ended up landing on a pair of characters who felt specialized in their own right, but had significant flaws that required them to rely on the other. One is a grappler/brawler with limited range that specializes on being in your face, but most of his moves have enough lag that they’re easily punished. The other is a zoner, who is best suited manipulating the battle from afar, but suffers at closer ranges. Both suffer from a lack of follow-up options, but can be played in a way to work off of each other’s abilities.

Additionally, I wanted systems in play that would further encourage the sort of hectic collaboration I had envisioned. Team attack would naturally be on at all times, but teammates will suffer reduced stun times and modified knockbacks to give them an opportunity of capitalize off of friendly fire. Also attacks delt by teammates leave behind recoverable health. This HP will refill over time provided that you’re not damaged by an enemy or hazard in the meantime. This gives players the chance to knock around their teammates into positions where they can continue combos they wouldn’t normally, while also keeping an inherent risk to it to encourage skillful uses of it.

Technical
Development

 

On the technical side of the project, I built the game in UE4, using a mix of C++ and blueprints to create the characters. As of right now I have been able to develop the core functions of the character controller, including movement, attacking, and health systems. I’ve made a hitbox system that allows for canceling successful moves into others, as well as an animation state machine format that easily allows you to customize it to suit the needs of each character.

I have also taken the time to make some rudimentary AI to allow for the AI teammate to follow you and accept commands from the player, as well as dynamically swap control of characters alongside the player. There’s also some basic UI in place to monitor character health and showcase player control.

As of right now, the project is mostly on hold due to other engagements, but I do hope to return to this project to flesh it out further in time.