I noticed we have quite a few questions about architecting systems that can add/remove temporary buffs/debuffs/localized exceptions to rules layered on top of the normal behaviour of a game actor.
This includes eg. gaining stat increases or special abilities from equipping an item in an RPG (lost when unequipping), or using a potion/buff spell (lost after a max duration or on a cancellation condition), and also applies to card effects in a trading card game that modify other cards.
Some example questions that fall in this vein:
- Effect Replacement System
- What's a way to implement a flexible buff/debuff system? And its duplicates:
- OOP implementation of BUFFS and Stats. Suggestion
- How to implement status-changing effects for attack class in turn based RPG?
- Design patterns for effects between actors and technology
- Simultaneous events in a realtime system, where processing order causes different outcomes
- A way to create a variable that includes a modifier that should be checked every step [Gamemaker]
- How do I set up my modifier system without casting?
- Database for a diablo 2 like item system?
- Stat Multipliers: from Base Value or Iterative
- Pluggable modifiers to game engine -Words to describe stat stacking behavior?
- How to implement expiring and self-refreshing buffs in an RPG?
- In a Tower defense game, how to do buffs/debuffs
- C++ Entity Component System: Diverse Behaviours
- Designing a fluent API for card effects
- How to implement trading card game's "special effects cards"?
(While some of these not currently marked as duplicates could probably be folded under "What's a way to implement a flexible buff/debuff system?" I think there are also distinct questions here, including investigations of stacking rules, and narrower questions about a specific implementation or problem)
To me, this topic of modifiers looks like a well-defined subject in which a developer could become an expert, with substantial applicability to different types of games.
Uniting these questions under a common tag could make it easier to browse the topic for insights from previous Q&As, identify duplicates, and help users with experience in these systems spot questions they can help with.
But the fact that we don't already have a user-created tag uniting these questions suggests that a term for these questions might not be immediately obvious/intuitive to our community.
So, I wanted to gather consensus on Meta about how best to approach this:
Is this a well-defined topic that should have a tag?
If so, what should the tag be called?