Project brawleR

 

A fantasy third person action game

My goal with Project Brawler was to build a holistic experience to better showcase my skills in Game Design, UX and Technical Level Design. This ambitious project took me roughly 10 weeks to make and I had a hand in making everything from scripting features, levels, AI, animations and other art assets (models, textures and particles not included).

My core pillars

 
 

GAme Design

My game is all about fighting groups of enemies, managing your equipment and finding treasures! Game design for me is all about the details in player feedback to achieve a feeling that is just right. To accompany that I wanted to create an easy to pick up player controller where each action, whatever it s a complex system or not, was built with a lot of care in order to feel smooth and easy to use.

 

Combat

From the start I wanted players to be able to use two weapons at the same time in order to choose their favorite combination and means of attack. To clarify, attacking with your left hand is a separate action from the right. Why? To able to choose my active equipment is something I find more appealing from a strategic point of view, compared to have an assigned button for standard, heavy and ranged attacks.

YOUR ATTACK VARIES DEPENDING ON YOUR WEAPON

All weapons are a part of a custom modular system I built where i can assign:

  • Name

  • Weapon Type

    • Melee

    • Ranged

  • How it looks

  • Damage

    • Minimum damage

    • Maximum damage

  • Damage Type

  • Range

    • Ammunition type if long ranged

  • Attack sound

Features Triggered through animations

I spent a lot of time learning how to setup and trigger features and events through my animations on a single or during several frames. This made it easier for me to track when damage should be dealt, transitioning attacks to their next combo phase and managing other animation states.

Having more time, I would have added different attack animations depending on weapon type, as well as adding different feedback for the different damage types (fire or frost attack fx as an example). The functionality is there, I just lacked the assets at the time.

Scripts tracking some combat related animations.

How the combat works

Note: If the descriptions are not shown on your mobile, try flipping it horizontally.

 
 

Enemy design

I started out with just wanting to make variations of the same enemy. One small and one bigger version. They would stay idle or roam randomly inside a set radius until they detect the player. That’s when they would start mindlessly charge and attack the player endlessly.

That made combat very repetitive and boring. So I decided to add the “Gate Keeper” as a ranged enemy which behaved like a turret. That made wonders to the flow of battle and became a great final encounter for my level.

 

Gruntlings - The small mob enemy that works best in numbers.

Gruntlings - The small mobenemy that works best in numbers.

Trolls - The beefier enemy that packs a punch but is slow.

Trolls - The beefier enemy that packs a punch but is slow.

The Gate Keeper - Shoots giant fireballs that explodes on impact.

The Gate Keeper - Shoots giant fireballs that explodes on impact. Once killed he can be looted for a key.

 

UX

Feedback and user experience is something I’ve always had a passion for. Because if done right, it can be the detail that pushes something to feeling just right.

 
 
LockGif.gif

targeting system

Early on i knew I needed a targeting system where the player could “lock on” to the closest enemy. I later iterated on the feature by adding the possibility to swap between enemies in range which helped the fluidity of combat when fighting multiple enemies. Given more time, I would like to iterate on the readability of the current locked on target. Because I had mixed reactions to my solution where some thought to subtle.

 

Inventory and items

I made a basic inventory system where i could give items custom functionality when used. All items are currently categorized into 3 different categories: Weapons, consumables and non-consumables. Items also have their own personal tooltip.

If I was able to continue to improve on the inventory’s current state, I would have given it more polish and change the layout to make it look more similar to action-rpg games such as Divinity: Original sins or World of Warcraft. Also I would have liked to add a sort function.


 

Technical level design

Something I’m really passionate about is to create scenarios or events for other people to be entertained by! Be it subtle or epic, it’s something that elevates the experience and gives a sense of progression for players throughout a game. I’ve scripted several events in my level and you can read more about 3 of them in my highlight section.

 

LEvel and event overview

LevelOverview_v3.png
 
 

HIGHLIGHTed events

Event 3 - the bridge

The player is blocked by a bridge opened from the other side. This is designed to force players to learn how to switch weapons and make use of the Lock On feature to proceed by shooting the mechanism holding the bridge up. This also prevents the player from ignoring the chest at the second event. Where they will receive their first ranged weapon.

Note: I deliberately zoomed out the camera to give the player a better view and grip of the situation.

 
 
 

Event 4 - the ambush

The first time the player fights a bigger group of enemies and the perfect time to try out the special attack. The process behind this event became a bigger challenge than anticipated. There was a lot of fine tuning with timing and collision to get feeling right. Sometimes, one or two of the gruntlings would also get stuck idling after they jumped in. Tracking the broken gruntlings behavior tree gave me no leads, it obviously was changing states but nothing was happening. To this day I have no idea what causes this but spacing the gruntlings out more seems to prevent the issue.

 
 
 

Event 7 - Breaking the seal

After Defeating and looting the Gate Keeper, the player will find a key to a mechanism located close by. Triggering it will reward the player with a cut scene where the mechanism and the key magically breaks the seal and opens the door to the castle. I wanted to finish my level with a flair.

 

 

closing words

Since there was a huge saturation of first person shooter assignments in my studies at The Game Assembly I decided to challenge my scripting skills by making a game (in a different genre) from scratch. Starting out, I was still very fresh to scripting but I came to realize that I find more pleasure in prototyping stuff over blocking levels.


I can proudly say that my scripting capability and understanding skyrocketed by the end of the project. Obviously, I have tons more to learn and features I’d like to change but thanks to this journey I finally feel confident in prototyping anything!