The Legend of Tronco

Overview

“The Legend of Tronco” is a Roguelite game where the land is invaded by corrupted enemies that kills your mentor. You have to get stronger by killing the enemies and acquire a selection of abilities that changes every time you get defeated. The further you progress in the game, you also gain permanent upgrades that helps you to reclaim your land and avenge your mentor.

This was our 3rd Game Project at Futuregames. I worked as a System Designer and Gameplay Designer.

My goal during this project was to learn to work with data tables and design combat mechanics.

Early Character Prototyping

After the team decided on a top down arena like angle for the gameplay camera I started paper crafting how the UI would behave with the controller input for specific abilities. This helped to envision our approach in how to implement these features in the future.

Early prototype of projectile based abilities used the mouse location to determine where to start aiming when the ability input was held, and then shooting the projectile based on mouse location when the input was released.

My initial plan was to have the projectile as one of our unlockable ranged spells, but I changed it to a secondary ranged attack to give the player a wider playstyle from the start. This opened up to have upgrades that affects ranged attacks as well in the passive abilities. 

As an extra form of traversing and to evade attacks I prototyped a dash for the player to position them strategically. 

Passive and Active Abilities

I decided to reuse this function in most of my blueprints to quickly prototype as much content as possible. With it we spawned actors with this function that would instantly interact with either the player or enemies. In each actor I could then easily adjust the value of radius and damage depending on the spell or passive abilities function.

This set the foundation for almost all of our abilities

With a Data table that I worked on I could easily design everything that we needed in different parts of the game. 

  • Decide on what actor to trigger when a condition was met
  • Decide on how the condition would trigger
  • Print text and icons on UI 

Thought process of designing abilities

I designed the abilities taking inspiration from both rogue like/lites that I’ve enjoyed playing. Found what could be technically doable by me and tried to prototype it to test it out. I also took inspiration from other type of games like RPGs to see what sort of abilities I could iterate so it could be used in our game. With this I wanted to give the player a good mix of abilities that you could activate yourself and passive abilities that would be the main source of the player feel the progression of getting  stronger. So that’s why the abilities ended up having a combination of full offensive, full defensive and hybrid.

On Dash effect that spawns actor at character location where the dash is being executed.

After dashing effect that spawns an actor on character location after the dash has been executed.

On damage taken. Chance to spawn 3 lightning bolts at player location.

On damage taken. Chance to pushback and deal small damage.

One of the unlockable spells. Whirlwind effect for the purpose if the player want to group enemies together to combo with other abilities.

A “dmgTaken” effect that may slow down the movement speed of enemies that attack you. A good way to get some pressure off of you.

Enemy Spawning

Besides the general tweaking of damage and health numbers on both player character and enemies I also worked together with one of our programmers to build a tool that handles with the enemy spawning. I wished to have a tool where I, on each wave, could decide on what type of enemy and how many of each enemy to spawn.

While I waited on the tool to be built I worked in my spreadsheet to see how the numbers would look like on paper. I had to manually insert the numbers and enemy types since the tool didn’t support a way to collect data from a Data table. But I managed to somewhat simulate the progression in difficulty by just using the spreadsheet. If I would come back to this I would implement total amount of damage needed to reduce all enemies HP to zero. With the intent to calculate total damage output needed to help balance the passive abilities abilities.

I wanted that as you progress the levels, there will be a subsequent increase in spawned enemies to handle the difficulty 

My approach was to have the early levels to be fewer in numbers and on separate waves introduce new types of enemies. As well as that the enemy type spawned would be different. 

So that gameplay can go from this

To something like this

Summary of My Contributions

  • Designed and prototyped core combat mechanics
  1. Spells: Paper crafted and designed spells with different targeting types in mind. Later prototyped and iterated the spells and implemented them with the tools provided by our Technical Designer.
  2. Passive Abilities: Worked in Google Sheets to design and have clear overview of all passives before importing them into Data Tables in Unreal.
  3. Ranged Attack: Prototyped and iterated the secondary attack of the player character based on feedback. 
  • Designed 3C and balanced gameplay numbers.
  1. 3C: Adjusted values to make movement and visuals to feel good
  1. Setup camera angle to enhance the visual in both gameplay and aesthetics.
  2. Adjusted values of character locomotion like walk speed, rotation speed, animation speed, dash length etc.

2. Balance Gameplay: Adjusted gameplay numbers to give player a good challenge and sense of progression

  1. Balanced base damage values to set a solid foundation to progress from.
  2. Balanced each enemy types values.
  3. Balanced the amount and types of enemies to spawn during each stage and wave.
  4. Adjusted Passive Abilities trigger chances and damage effects.

Mistakes and challenges

Flowcharts

Something I regret not doing more is working with flowcharts. I relied too much on constant communication, which on its own is a very important thing to have both for instant clarification and team dynamic. But a visual representation is always going to elevate the verbal explanation. Unfortunately I kept flowcharts mostly in my mind and tried to explain either verbally or via text to my teammate whenever they had questions. It all worked out okay in the end. But I could have made it even clearer and easier to explain with the aid of flowcharts.

Work efficiency

The tools made for how the passive stats and effect should be added and triggered on the player character took longer than anticipated by both me and my Technical Designer partner. Which resulted in me overdesigning some abilities which had to later be scrapped because of how they would complicate the tool building even further. Instead of asking “how long until it’s done?” I would rather have asked “Should we focus on the mechanics we have at the moment and work on something else?”. Which I think would have eased up the work for both of us and we both could’ve worked on other features that needed polish.