Recommend
2 
 Thumb up
 Hide
8 Posts

BoardGameGeek» Forums » Board Game Design » Board Game Design

Subject: Status Effect VS active Effects rss

Your Tags: Add tags
Popular Tags: [View All]
Eric Pietrocupo
Canada
Montreal
Quebec
flag msg tools
designer
badge
Avatar
mbmbmbmbmb
It's for a video game RPG, but still related to game mechanics.

I need to have a list of status effect like "Poisoned", "Paralysed", "Confused", etc in my game

But on the other hand, I also needed a system to manage active effects like in Skyrim for if I cast a spell that gives me +2 on stat X for the battle, the spell effect must be in a list somewhere.

But I have an hard time deciding what status effects I am going to use, because they are somewhat "Standardised" active effects. On the other hand I cannot remove an active effect system because the game needs it for spells.

So I am questioning the existence of status effects. Why not implement them as active effect and have more variety of effects possible.

Else I need to draw a line to determine what makes the difference between an active effect and a status effect. Maybe an active effect stay for the duration of a battle, while status effects are permanent until cured.

Can you think of other differences?
2 
 Thumb up
 tip
 Hide
  • [+] Dice rolls
Jessey
Canada
flag msg tools
designer
I also purchased this and do not know what to do with it!
badge
I purchased this and do not know what to do with it!
Avatar
mbmbmbmbmb
larienna wrote:

So I am questioning the existence of status effects. Why not implement them as active effect and have more variety of effects possible.


For the sake of computational efficiency and having less independent underlying systems do this. If on the surface level (the interface, the player perspective) status and active effects are distinguished that's fine (perhaps because they "come into play" differently, or just as a useful conceptual heuristic for the player). These "two" things are so close there's no reason the structure of the game has to distinguish them.

Status Effects are just active effects with a permanent duration. If "duration" is a variable in your "Active Effect" objects then for Status Effects "duration" has the value '0' and you define in the system that a 0 duration is infinite.
1 
 Thumb up
 tip
 Hide
  • [+] Dice rolls
Sturv Tafvherd
United States
North Carolina
flag msg tools
mbmbmbmbmb
Guild Wars treats them separately, mostly because there are abilities/spells that cure status effects ... and there are abilities/spells that de-buff the active effects. These cures / debuffs tend to only affect the "top of the stack" ... so only one status effect or one active effect is affected.

(I think the same goes for other mmorpgs ... Dark Age of Camelot and EverQuest are the two I've played that act like that)


I think City of Heroes acts more like what you're proposing ... every ability that has an effect applied over a duration is treated as an active effect. There is still a cure for the "negative active effects" but they usually (always?) cure all the negative active effects.
1 
 Thumb up
 tip
 Hide
  • [+] Dice rolls
Eric Pietrocupo
Canada
Montreal
Quebec
flag msg tools
designer
badge
Avatar
mbmbmbmbmb
Quote:
Status Effects are just active effects with a permanent duration. If "duration" is a variable in your "Active Effect" objects then for Status Effects "duration" has the value '0' and you define in the system that a 0 duration is infinite.


That is what I was thinking in the beginning. The only drawback I found with a list is decrementing the duration of all effects each turn, but I found a solution by specifying a target time instead and removing the effect once the time exceed the effect duration.

As for curing, I already solved the problem by creating 6 effect categories and allowing cures to remove effects of that category. The categories are: Skin, Body, Bloodstream, Neural, Psychic and Soul.

Else the only thing I could see is that designing monsters could be more complex because you'll have to search for the effect in a predefined list of effects.

The other restriction I though is the impossibility to have multiple effects applied at the same time. Like this attack does Poison, Paralyse and Confuse. But that kind of situation does not happen very often.

I also have a double effect situation, where a fear spell could lower enemy defense and the fear status could do the same.

Else I thought that status effect could only affect what is not a stat modification. Like prevent to attack, skip action, prevent the target to dodge, prevent casting spells or other skill, etc. I'll need to use a bit field to manage that anyway, so why not link it directly to the status effects. Also those effect will be hard coded anyway.
1 
 Thumb up
 tip
 Hide
  • [+] Dice rolls
Ryan Twombly
United States
North Carolina
flag msg tools
mbmbmbmbmb
I think you're being limited by your toolset. You're the programmer, implement whatever you want however you want to do it.

In Python use a list of dictionaries (of lists, of dictionaries, of...)
In C++ define a custom class
In Javascript define an object with custom attributes

Etc.

Shouldn't a cure apply to a specific condition? Antidote vs Poison, Eye Salve vs Blind? Maybe I'm not familiar enough with the standard practices to see the problem. And maybe that's not a bad thing.
2 
 Thumb up
 tip
 Hide
  • [+] Dice rolls
Eric Pietrocupo
Canada
Montreal
Quebec
flag msg tools
designer
badge
Avatar
mbmbmbmbmb
Quote:
Shouldn't a cure apply to a specific condition?


If I don't use group then each additional condition introduced in the game, even by the user, will require additional spell and items to cure those new conditions. By making groups, I have sure there is always a cure available.
2 
 Thumb up
 tip
 Hide
  • [+] Dice rolls
Eric Pietrocupo
Canada
Montreal
Quebec
flag msg tools
designer
badge
Avatar
mbmbmbmbmb
Interesting Reply from another thread

Quote:
The difference here is application. How are people getting these affects. The usefulness of having both is one is dynamic. Anything that is dynamic is going to create situations where people have to think on their feet. Creating situations where people think on there feet can create tension or the immediacy of action by the player.

A status affect creates an immediate problem that needs to be solved and often times is not expected.

When you create situations like that you create an environment where the player is more actively engaged in the game.


I like the idea of being on the edge all the time and that is a bit the goal of the game.

It's true the the solution I proposed above are more likely to put people on the edge if your character:

Cannot attack
Cannot move
Mistarget
Attack random team mates
etc.

So this is why I though of placing as status effect anything that changes how the game is played which is mainly affect character actions. I will be more visible effects.

On the other hand, active effects will be only stat buff/debuff which are numbers already crunched in the combat resolutions. So the effect is less dramatic and the effects are more invisible.
1 
 Thumb up
 tip
 Hide
  • [+] Dice rolls
Ryan Twombly
United States
North Carolina
flag msg tools
mbmbmbmbmb
larienna wrote:
Quote:
Shouldn't a cure apply to a specific condition?


If I don't use group then each additional condition introduced in the game, even by the user, will require additional spell and items to cure those new conditions. By making groups, I have sure there is always a cure available.

Unless you require that user-created conditions are tuples, like:

('poison', 'antidote')
('blind', 'eye salve')
('weak', 'aqua vitae')

Presumably your UI implements a means to tie the name of an effect to what it does. This is merely another string field, and it's application is always the same: pop the effect.

I don't necessarily dislike the idea of effect groups, but I do think it's limiting. Could you have an effect that attacked multiple groups, for instance? I'm big into Python right now, so I tend to think in lists. Why not have groups, but make the container a list of groups?

effect -- modifier -- cure -- groups -- duration
['poison', ('Health-2!00:00:10', 'Will-1'), 'antidote', ('body', 'mind'), '00:02:00']

I added a bit of silliness there where ! in the modifier would mean "every x seconds", so you could read the first modifier as "Health -2 every 10 seconds". The second modifier is a one-shot hit to Will.

Just spit-balling. I do this all day. More fun to do it about games.
1 
 Thumb up
 tip
 Hide
  • [+] Dice rolls
Front Page | Welcome | Contact | Privacy Policy | Terms of Service | Advertise | Support BGG | Feeds RSS
Geekdo, BoardGameGeek, the Geekdo logo, and the BoardGameGeek logo are trademarks of BoardGameGeek, LLC.