Thread: Sickness
View Single Post
Old 11-24-2012, 08:38 PM   #3
camlorn
Member
 
Join Date: Aug 2011
Posts: 144
camlorn is on a distinguished road
Re: Sickness

Well, a couple thoughts on this.

First, if it isn't a high magic setting, illnesses are boring. If it is a high magic setting, you can have some really interesting magical effects that spread like an illness, but if it isn't, well...I'd save that code for staff-initiated events, as getting ill is annoying.

Second, if you are going to do this, it probably should also spread to/from npcs.

Third, it needs to not be abuseable. You need newbie protections, and it can't be controllable. Something like this has the potential to be easily controlled--i.e. I go stand with my character with <major illness> in a high population center because I feel like griefing. This is hard to police, and doesn't make much sense to put in policies, especially since, and I am going out on a limb here, it's possible for players to not know they have it (I am going out on a limb as, in some implementations of such a system, it would be quite possible). Making sure that players with an illness in a contageous state can't enter a certain place provides an easy way to find out if I have it. World of warcraft had a problem like this some time ago, with something on one of their bosses, but I can't remember the details atm.

Fourth, most newbies won't expect such a system, and will potentially be put off by it.

I believe you are writing an RPI mud. I believe, in such a mud, this would fall under the category of "too real", unless you had a subset of settings where it makes sense. I could see representing a spreading zombie apocalypse in code this way, for example. In a hack and slash mud with high magic, or something, you could have some really interesting applications, though, as such code isn't limited to illnesses; perhaps a spell that spreads from the first person to other people, that acts like an illness, or a healing spell capable of healing entire cities by jumping around like the common cold, lasting until it doesn't get passed on before fading (healing chain lightning that can last days, basically). But, representing, say, the plague, with an easy-to-get cure, executed *only* as a staff event or, if you are feeling adventurous, only allowed to happen extremely rarely by the engine, might be interesting. You could get some good rp from the deaths something like that is bound to cause, I suspect. I do think, for an rpi, it needs to also spread via NPCs too.

Now, given that you coded this, I'm going to assume that you know about the following issue, but in case you or someone else doesn't...if the illness is active, i.e. does something constantly, and if the illness does it on the tick, there is a potential for the mud to get overloaded. This is somewhat like a fork bomb:n the illness will split between me and you, and then to each of our friends, and to their friends, and so on and so on. Especially if it can be in a latent but contageous state, and even if it can't, it can easily get to the entire mud. If you only do something simple, i.e. x amount of damage with a message, you're ok, but if you've got mob triggers and such in your mud, triggering off messages, for example, that message is no longer trivial. If the illness either performs or causes to be performed some nontrivial action, and if said illness gets to the entire mud, then you can get lag. The fix to this is simple: you have to make sure that not all copies of the illness tick at once, and for most implementations it isn't an issue, but it can become one if someone tries something creative with your illness system. Instead of ticking every second, tick 5 times a second, executing 1 fifth of the illnesses, for example, if this becomes a problem. I'm not trying to talk down to you, I'm just including it here for completeness. These threads are one of the only still-active resources for things like this, so this is also for those who may come after, kind of thing.
camlorn is offline   Reply With Quote