top of page
EcliPsychosis new logo - blackBG.png
noun-administrator-1923783_edited.png

Combat Designer
Enemy Designer

Action Roguelike

7 (3 designers)

7 weeks (2023)

unreal-removebg-preview.png

Unreal Engine 5

CONCEPT

EcliPsychosis is a fast-paced roguelike designed for players that are looking for a challenge, where the player must adapt to the enemies and the environment.

​

You will find yourself in this odd world, The Lost and Not Found, where there’s an ever-going alternation of Sun and Eclipse but beware: enemies change their behaviour due to that!

 

Use your pair of giant scissors to fight them and take advantage of different techniques to destroy them:

  • Use your attacks

  • Get empowered with temporary items

  • Use the enemies themselves to make them kill each other

 

The bizarre and cute BombCat can be used to create a giant explosion and damage a lot of enemies altogether, helping you to get out!

Gameplay1_resized.gif
poster_v1_eclipsychosis.png
bedstuff.png
daddy long legs.png
follow the leader.png

GAME PILLARS

Dynamic World

Players must adapt to the enemies and the world that change with the phases of the moon

Variety

Multiple enemy types, unique interactions with them based on their behaviour, and combination of temporary powers create unparalleled degrees of variance with each playthrough

CORE LOOP

POWER UP

Get the temporary power-ups in the room

NEXT ROOM

Get to the next room

ELIMINATE ENEMIES

Kill all the enemies present in the room, without dying

COMBAT DESIGN

Research, study and set up

two faced.png

I started this project by researching relevant materials for our game's combat design, using this article and this video as main references.

​

To dive deeper into the research I did, check the excerpt from the Game Design Document (GDD)!

scissors.png

After consulting with the animator and combat programmer, I decided to use an Excel spreadsheet as my main tool. This gave me the ability to balance the character's attacks (light, heavy, and special) based on execution and damage frames.

The Excel file aids in the automatic calculation of various metrics such as total frames, phase percentages, and damage per second, among others.

Combat mechanics

To create a fast-paced game as we wanted, I introduced the player to three distinct attack types (Light, Heavy, and Special) and included a dash ability.

 

I made the following key decisions to move in this direction:

  • Attacks cannot be interrupted by other inputs (e.g., dashing won't stop the Special attack animation). This design choice enhances gameplay as players must make conscious decisions. In the following iterations, I'd like to playtest the game with this option enabled to see how other players react.

  • Avoided blending animations during attacks. This choice results in a more responsive and snappy gameplay experience while also saving time for animation implementation.

​

Light Attack

cutrlery.png

The light attack is intended to be the primary choice throughout the game, that's the reason why I spent more time on its polishing. It executes quickly but causes little damage.

Attacking would halt the player's movement during the first iteration of the combat style. However, after extensive playtesting both within and outside the development team, I changed it so players could slightly move.

This change improved the game's flow significantly, reinforcing its fast-paced nature.

LightAttack.gif

Heavy Attack

HeavyAttack.gif

The heavy attack takes longer to execute, but it deals more damage. This was done to adhere to the rule of risk-reward.

During the playtests, I noticed that the players hardly ever used this type of attack for two main reasons:

  1. When used, it halts the character's movement;

  2. It exposes the player too much and does not provide enough reward.

​

In future game iterations, I'd like to improve this attack by experimenting with different options such as allowing the player to move during the attack, increasing the damage, and increasing the preparatory phase time while decreasing the recovery time.

​

Special Attack

The special attack takes longer to execute but provides powerful Area Of Effect (AOE) damage in three bursts.

​

Following playtesting, I enabled the character to move while attacking, but at a much slower rate than the light attack.

SpecialAttack.gif

Dash

Dash.gif

In this game, the dash manoeuvre was used to:

  1. Reinforce the fast-paced style

  2. Allow the player to escape from dangerous situations

  3. Allow the player to dive into enemies and attack them when more vulnerable

​

Because of these factors, the dash:

  1. Has a relatively short cooldown, discouraging the player from spamming it

  2. While dashing, the player becomes immune to enemy attacks

  3. Covers a significant distance in a relatively short period of time

​

One enhancement I'd like to make is to improve the flow of the dash in-game, avoiding the current "stopping" sensation.

Implementation and workflow

To create a satisfying combat experience, our team worked together to create engaging animations that communicated critical information.

At the same time, as the gameplay designer, I needed room to change and tweak various key elements such as damage values, hitboxes and so on.

trashconfuse.png
Gameplay2.gif

The technical side

I collaborated with the programmer on two crucial tools: the Melee Component and the WeaponHitbox.

​

Using the Melee Component, I was able to easily tweak damage values for various attacks and add effects to the weapon such as burning or poisoning.

MeleeComponent.PNG
Hitboxes.gif

The WeaponHitbox, on the other hand, allowed me to specify the precise areas where the weapon would damage the enemies.

​

These tools proved to be extremely efficient, allowing for quick adjustments following each playtest.

The animations

I gave my animator a lot of creative freedom, but I also established some gameplay constraints.

​

I gave him a list of required animations: Idle, Running, Dash, two types of Light Attack, Heavy Attack, and Special Attack.

​

To ensure that everything worked properly in the combat, I used my Excel Spreadsheet to show the

PhasesAnimation.gif

animator how long each phase of the attack animation (Preparatory, Execute, and Recovery) should last, as shown in the GIF above.

AnimNotify.PNG

With the assistance of the programmer, we created an easy method for tweaking animation keyframes corresponding to different phases.

​

StartAttack activates damage and disables all inputs except movement, while EndAttack deactivates damage and Enable Action restores all inputs.

demon get cut.png

ENEMY DESIGN

As for the combat design, I started this task by researching and studying enemy design.

​

Below you will find a detailed example of one enemy archetype design. If you want to check all the different enemy archetypes I designed, check the excerpt from the Game Design Document (GDD)!

I used my knowledge of Unreal Engine 5's AI framework (AI Controller, Behaviour Tree, and Blackboard) to assist the programmer in prototyping and implementing the AI, in addition to designing various enemies on paper.

Furthermore, I was in charge of implementing all the animations and sounds for each enemy.

Design Principles

After consulting with the AI programmer, I created four enemy archetypes. Following key principles:

​

  • Changing behaviour: Enemies exhibit two behaviours based on Sun and Solar Eclipse phases, becoming aggressive or defensive accordingly.

  • Player interactions: Each enemy archetype has its own set of attack and defence strategies.

  • It's not a bug, it's a feature!: During development, we unintentionally allowed enemies to damage each other, which we embraced as a key feature, influencing enemy design.

swipeexcite.png
FirstEnemiesKillEachOther.gif
EnemiesKillEachOtherShorter.gif

The Imp Enemy

ImpGif.gif

The basic enemy serves as the game's foundation. During the Eclipse, they become aggressive and approach the player, whereas, during the Sun phase, they adopt a defensive strategy, fleeing to different corners. They always try to attack the player when they are within range, regardless of the phase.

Behaviour diagram

ImpDiagram.PNG

How to fight the Imp

HowToFightImp.PNG
ImpTree.png
FightImpEnemy.gif
sheep.png

3C Design
Character-Camera-Controls

Character

One of our initial game concept decisions was to prioritize a fast-paced experience. We chose a custom controller based on Unreal Engine, which allowed me to easily change the player movement to fit our game.

​

Two critical decisions were made regarding the player movement:

  1. Avoid vertical movement for both players and enemies. While this could have created level design challenges, it allowed us to focus on combat and level design without having to worry about bugs caused by verticality. This also relieved programmers of the burden of dealing with edge cases.

  2. Disabling player aiming. Attacks are instead executed in the character's facing direction. This option discourages passive gameplay while encouraging aggression, preventing the game from feeling like a twin-stick shooter. A slight aim assist was included to help players land attacks.

Gameplay2.gif
aim assist.PNG

Camera

Gameplay2.gif
aim assist.PNG

I made three critical camera decisions that had a significant impact on the game's development and gameplay:

  1. Isometric view: Choosing a top-down isometric perspective over a 2D view improved information readability. It enhanced the aesthetics and the overall look, which we thought was important for our game.

  2. Fixed camera: this eliminated the need for player-controlled adjustments, allowing players to focus on the environment and on-screen events.

  3. Far-away view: Using a far-away camera provided two benefits. To begin, players gained a comprehensive view of the room, facilitating strategic planning. Second, it reduced the need for highly detailed elements, reducing artists' workload.

Controls

controls.PNG

I set up the light attack on the right bumper, heavy attack on the left bumper, and special ability on the left trigger, following the suggestions of the first playtesters. The more people played the less they liked the use of the trigger for the special ability.

As a result, I shifted the attacks to the main buttons, which fit the continuous button pressing.

​

In a later iteration, I would like to add vibration feedback on the controller and give players the option to customise their own control scheme.

Product Owner
and
Lead Designer

As the Product Owner and Lead Designer, I had the opportunity to improve in areas such as team building, scoping, and leadership.

​

I also helped in as many areas as I could, such as Level Design, level dressing, sound implementation, collision design, and more.

​

I made certain that each team member worked on their preferred areas, which fueled passion and resulted in a successful end product.

​

When faced with a challenge, I sought assistance, learning from mentors and colleagues in areas outside my expertise.

Despite the fact that the roles were challenging, I am proud of the product, and the team expressed the desire to continue working on it as a side project.

MediumRoom5.png
wiz.png
bottom of page