top of page

ROBOT WIPEOUT

DESCRIPTION

Robot Wipeout is a 3rd person hack and slash game where the player is attending a world-famous E-sports event. The player navigates from arena to arena evading hazards while fighting hordes of enemies through various combos. Defeat all the bosses to win the event and take home the grand prize!

ROLES

Lead Designer

System Design & Enemies

SKILLS LEARNED

- Dependencies and communication in a larger team.

- Managing these dependencies and communcations as a lead.

- Behavior Trees and EQS in Unreal Engine.

- Swarm enemy design do's and do not's.

- Setting up a proper QA pipeline.

- The importance of scheduled QA testing.

YEAR

2021

PLATFORM

PC 

Team Size

21

GENRE

Hack and Slash

Game Page

Enemy Design One Pager

Surrounding Movement

Attack Logic

Ragdoll

Large Group Avoidance

Aggresive Enemy Group

Idle Behaviour

Ranged Enemies

Complete Enemies

Surrounding Movement

SWARMER Enemy Iterations

During the 24 weeks of the project my main task was the creation of the Swarmer enemies.

The images below show the swarmer enemies being created, from first prototype to finalised version that has been balanced and QA tested. Some iterations and steps are missing due to changes being minor and showing no significat improvement (balancing changes and minor bug fixes for example).

At the start of the project I was inexperienced in creating enemy behavior in unreal engine, and as the project goes on you can see that the enemies and I improve greatly.
 

SwarmEnemyDesign.png

Before creating the swarmer enemies I had done research into competitor games to find out how swarmer enemies work in those games.

To conclude my research I created a 'One-Pager', to show the intended design of the enemies that will need to be created. (which proved very helpful during implementation).

Iteration1.gif

The enemies find a point around the player and move to that point. The enemies do not possess any attacking behaviour yet.

Iteration2.gif
ezgif.com-gif-maker (5).gif

Attacking behaviour has now been added. Only one enemy can attack at the same time (set on a variable of how many enemies can attack at the same time). The GIF on the right showcases the EQS logic behind the movement of the enemies.

Iteration5.gif

Ragdoll has been implemented on the enemies as well as knockback system with variable input. Enemies can now also attack and their attacks can get interupted.

Iteration8.gif

Enemies now have the option to have a 'tell' before attacking (in this case some particles). Enemies have also been optimised for bigger groups using RVO avoidance to make sure enemies do not bump into each other constantly and keep a reasonable distance when possible.

Iteration9.gif

Enemies are now split into the 'inner circle' and 'outer circle' only X enemies can be in the inner circle at the same time and only enemies in the inner circle can attack. This makes it so the player isn't overwhelmed by the amount of enemies that can attack while keeping the feeling of being surrounded by enemies. The red colours in the GIF for showcasing purpose, the red enemies are the inner circle enemies.

Iteration10.gif

After receiving a lot of feedback on the chaotic nature of the enemies and how overwhelming large groups still were, I implemented a function for enemies to be able to choose to be idle. The green colour in the GIF indicates enemies that are choosing to idle for illustration purposes.

RangedSwarmerShowcase.gif

I created a variant on the melee swarmers, the ranged swarmers. This was very easy to do as I had built the enemies with a proper pipeline for iteration and deviation.

SwramerEnemiesFinal.gif

The last iterations were spent on adding the art assets into the enemies, balancing the enemies around the combat and fixing issues and bugs with the enemies. In the end a fully functional swarmer enemy with 2 types was created and through the use of the pipeline 2 larger variants were created that could resist knockback and used different animations.

Combat Prototype

ComboLine1.gif
ComboLine2.gif

 

The original prototype of our combat system was made by me and showcased a way to create different moves through inputs on a timing. Using 2 different inputs as can be seen in the inputs diagram. The player can choose between a Light Attack (L) or Strong attack (S).

 

The top GIF showcases the L-L-L-L-L line of combo's.

The bottom GIF inputs the L-L-L-S line of combo's.

 

Placeholder effects and models were used to simulate the experience of the combat so we could get a feel for the system.

The later combat system was an adapted and improved version of the original system made by Ravinesh Bhoep.

bottom of page