Unity Ave
Unity Ave is a 2.5D sidescroller action adventure game with unique roleplaying mechanics, platforming, storytelling, and characters. Players are allowed to explore the game’s open zones, take on quests, and unlock combat abilities and useful items. Unity Ave is a PC game built using the Unity 3D engine and is targeted towards casual and hardcore gamers alike.
I developed this project largely on my own. I hired two music composer to assist with level music. Unity Ave began as a project to assist me in my education of game design and implementing game mechanics. I learned everything from creating 2D/3D assets to programming and scripting code with C#. Eventually, I was able to composite everything I learned and enjoy about game development to form this project.
Players follow the story of Hue and his roommate Clive, who aspire to become super heroes in a city where being a super hero is a career choice. Trying to make ends meet and make a name for themselves, they moved to a rough neighborhood on Unity Avenue to clean up the crime. Unfortunately, they soon find themselves getting involved in situations that will change their lives forever.
Project Status | On hold, Demo ready |
Project Type | Personal Project |
Project Duration | 2 years |
Software Used | Unity, Adobe Illustrator, Autodesk Sketchbook, Esoteric Spine, Unity Probuilder, Dialogue System |
Languages Used | C# |
Team Size | 1 + 2 Music Contractors |
Role | Designer, Programmer, Writer, Art Director, Audio Director, Producer |
Unity Ave is currently in development, but the demo is available to play.
Art
Concept Art
Animation
I used Esoteric Spine tool to rig and animate all character animations. Animations were then exported into .json files and and imported into Unity with the Spine plugin. The game has over 30 characters and each has at least 8-10 animations. These animations consist of idle, run, walk, attack, fall, jump, land, etc.
Here’s a handful of the main character’s animations.
Level Design
Cutscenes
Cutscenes was created with the combination of camera scripts, Unity animation tools, dialogue scripts and assistance of Pixel Crushers’s Dialogue System.
Gameplay Mechanics
I implemented all gameplay features for the main character, as well as other characters and mechanics.
Movement
Shifting
I created shifting as a way for the player to enter different depths of the levels. This allowed for the creation of unique level design and game puzzles.
Combat
Player combat consists of over 15 unique combat moves. Using the transform ability gives the player access to certain combat moves.
Item Gathering and Usage
Items are gained from rewards or opening bags. The gained item will appear within the inventory menu and become equitable. Once equipped, player will then be able to use active item with a click of the “Use Item” button.
Other Mechanics
Quests
The demo consist of 3 story missions and 8 side missions. Side missions are Rescue the Hostages, Eliminate the Enemies, Bounties, Find the Item, and Time Attacks. Each reward the player with experience points, money, and possibly items.
This here is a Bounty quest. The player selects from a list of bounty targets to find. Once a bounty is selected, the bounty will appear somewhere in the level for the player to seek out. Once the player finds the target, they must eliminate or restrain them to complete the quest.
Menus
Designed and programmed the Game User Interfaces. The pause menu allows player to do many functions, like quit or restart game, change controller setup, view player data, equip items and powers, and more.
Enemy AI
Each enemy character has around 13 scripts that work together to control the character’s behaviors. One of the most important scripts on Enemy characters is the POV (Point of View) script. It helps in triggering the enemy’s combat state, depending if the player enter’s the enemy’s POV, and transitioning back to idle or patrol state.
Boss Battles
I created two boss battles for Unity Ave’s demo. Boss stages are designed in tiled sections to show the potential positions the player can shift too, track the player’s whereabouts for boss homing attacks, and highlight tiles where the boss plans to attack. Bosses are designed with behavior states that cycle into one another (like Idle -> Combat -> Rest -> Idle) and states that trigger upon certain situations (like Death, Block, Confusion, or Capture).
When the Boss enters combat state, it randomly selects one of the 3 available attacks depending on the boss’s health amount. The lower the boss’s health gets, the more attacks the boss will have access to.
Players may also choose how to end the boss battle, by either depleting the boss’s health completely or capturing the boss with their “Restraint” items. Once the player hits the boss with a “Restraint” item, a “Restraint Resistance” meter will appear showing the player how much the boss can resist the restraints. When the “Restraint Resistance” meter is depleted, bosses can then be captured.