Skip to main content
GameDev.net gamedev.net

PRO Tired of ads? Read GameDev.net ad-free and help keep the community independent with GameDev Pro โ€” $3/month.

Buff, debuff and pick system explained !

Buff, debuff and pick system explained !

aeterponis
aeterponis
Luthier Dev Blog ยท ยท 3 min read
7,144 0

Hello so i've been improving this systems for about two weeks and i record new devlog
if you interested in some techincal stuff check out ๐Ÿ‘‡
https://youtu.be/L90LOsy56cU


Hello adventurers! Get ready for another thrilling update from the universe of Luthier. In roguelike games, character development and unique strengthening in each run keep the game fresh and thrilling every time. Over the past two weeks, I've added a new Buff and Debuff system to Luthier and integrated the Pick system. Let's dive into the details of this system together!

๐ŸŽ‰ Buff and Debuff System ๐ŸŽ‰

With each run, your character evolves in unique ways compared to previous runs. This adds incredible depth to the game. So, I kicked things off by adding the Buff and Debuff system. This system lets your character develop differently and uniquely every run, making each adventure a brand-new experience!

๐Ÿช• Pick System ๐Ÿช•

Meet the Pick system! We'll be adding a lot more picks and removing some of the current ones, but the core system is working perfectly for now. In the full release, there will be many more picks to ensure each run feels distinct. Letโ€™s check out the picks we currently have:

๐Ÿ”ฅ Flame Pick: Deals damage over time (DOT damage) to enemies.
โšก Electric Pick: Creates a link between enemies and damages them all simultaneously.
โ„๏ธ Ice Pick: Slows down enemies.
๐Ÿง› Vampire Pick: Steals health from enemies. (My favorite!)

These picks spice up our basic attacks.

๐ŸŽฌ Game Events and Triggered Picks ๐ŸŽฌ

We also have picks that are triggered by in-game events. These picks activate after certain events in the game world.

๐Ÿ’จ Dash Rift: Creates an area beneath your feet when you dash, damaging enemies who enter it.
๐ŸŽธ Third Riff: Opens a rift with every third attack, damaging all who enter it.
๐Ÿ›ก๏ธ Shield: Prevents the character from taking damage for a certain period.
๐Ÿ’ฅ Explosion Pick: Causes an explosion when an enemy dies.
๐Ÿ”ฅ Fire Explosion Pick: Creates a fire area and deals DOT damage when an enemy dies.
โšก Electric Area Pick: Creates an electric area and links nearby enemies, damaging them when an enemy dies.

These event-driven picks showcase the systemโ€™s flexibility and power. Adding new picks only requires new events!

๐Ÿ”ง Additional Enhancements ๐Ÿ”ง

We also have picks in testing that increase attack power, movement speed, and critical rate.

Letโ€™s dive into some technical stuff and explore the depths of my Buff and Debuff system. ๐Ÿš€

Firstly, at the heart of my system, I have a manager class for each entity: BuffController. This class handles the addition, removal, and operation of buffs and debuffs. My buffs and debuffs use their specific classes along with the IDebuff interface. This interface includes headers for when the debuff is obtained and when it needs to be updated.

The role of the BuffController is quite significant. Like a conductor of an orchestra, it ensures the harmonious operation of buffs, debuffs, and picks. ๐ŸŽถ For example, the FireDebuff class is a debuff that deals damage over a certain period. This class manages how the fire debuff operates:

  • Has the debuff started? ๐Ÿ”ฅ
  • Should damage be dealt? ๐Ÿ’ฅ
  • Has the debuff ended? โฐ

Each debuff can have its unique operation. Therefore, I can write different logic for each debuff. For instance, the Shield Buff doesnโ€™t need to be updated. It simply activates the shield once and deactivates it when the duration ends. In this case, I only need to write specific code for the moment the buff is first obtained. So, it operates on a one-time basis! ๐Ÿ›ก๏ธ

My buff and debuff system is a crucial component that shapes the dynamics of the game world and the experience I offer to players. This system allows players to make strategic decisions and makes the gameplay more exciting. The unique operation of each buff and debuff requires players to constantly develop new strategies. ๐ŸŽฎ

๐ŸŽŠ Conclusion ๐ŸŽŠ

With these new systems and additions in Luthier, I aim to make each run feel more unique and exciting. I'm thrilled to share these updates with you and will be back with more innovations in future updates. Until then, get your picks ready and continue your adventure in the world of Luthier!

Discussion

Loading comments...