Muscle Magic


Duration September 2018 - July 2019
Team Size 20
My Role(s) Technical Designer, UI/UX Designer
Platform Nintendo Switch, PC (Steam)
Engine Unreal Engine 4
Status Released

Project Description

Muscle Magic was my 3rd year team project at University going through a full development cycle over a whole year. Developed for Nintendo Switch and PC. Released on Steam in 2019.

Project Pitch

In Muscle Magic, you and your friends play as muscular wizards, trying to be the sexiest, magic flexing, bodybuilder on the field.

To become this, the wizards flex-cast magic spells at each other, in a duel to eliminate the competition and be the best bodybuilding wizard left standing!

The spells they flex at each other are as goofy as they are themselves (don’t tell them, they have tender souls).

Parts of the stages will buckle underneath the weight of these burly men, as they toss each other into the surroundings, breaking them. Flexing for the gram? More like Flexlakazam!

My Contribution

During this project I specialized in Tech Design, working on level mechanics, game modes, as well as designing and implementing parts of the UI.

My tasks on this project included:
  • Prototyped and implemented interactive level mechanics for the Level Designers.
  • Working on the overarching systems while keeping the game stable (Game Modes, Round System, keeping score etc.)
  • Designing and scripting modular UI elements like the Score & Victory screens and various transitions.
  • Maintaining a clean game script for good game performance. Working with Switch hardware constraints
City Level

Top left: Character knocked back by on of the moving cars. Middle: Effect Field

Tech Highlights

Effect Field Blueprint

Improved Effect Field Blueprint

Creating Tools

One level mechanic I worked on was a field applying an effect to the players inside. It had to fit multiple effects and could change between them. A very interesting challenge was to apply a damage buff to spells shot since I had to communicate a change to the spell via the player inside the field.

Functionality for changing intervalls

Functionality to increase Damage

Game Modes & Teams

Part of my tasks was implementing teams into the gameplay and ensuring the game kept track of the score. I decided to add a team color to the customization data to simplify placer choice and data handling.

Handling Data

Part of working on Game Modes included knowing where to store data and when to trigger something in the GameInstance or GameMode. For example: Ensuring that each team's score is being tracked over multiple rounds.

UI/UX Highlights

Score Screen

Due to our limited team size, I also got around designing and implementing the UI/UX for our Score and Victory Screens as well as the transition animations between those. The Score UI in particular had multiple iterations. Initially, we tried to display the visuals in the game world and theme the wins with "dumbells" and the height of the players inspired by games like Move or Die. However, this wasn't clear to all players so I did more reasearch and implemented a simplified 2D UI with 3D characters.

Victory Screen

The Victory screen needed to accommodate various team sizes and character customizations. We iterated on this multiple times until we felt it had the right visual impact and ended a match with a high beat.

Lessons Learned