scrom / Experiments

a NodeJS text adventure - deliberately coded badly to re-experience the pain of legacy code
http://mvta.herokuapp.com/
2 stars 0 forks source link

Enhance contagion definitions to be more varied/dynamic #237

Open scrom opened 10 years ago

scrom commented 10 years ago

Some additional attributes of contagion would be useful...

1: Incubation period - how long it takes to become "active" 2: Communicability - how contagious is it? (what's the chance of someone else getting it) 3: Transmission - how is it transmitted - e.g. bite, touch (touching a person or object), airborne (sharing a location), ingestion (through food/drink). (right now we just have "bite") 4: Symptoms - at the moment we just have "bite" but could also have "health", and "violence" (where health is an hp loss and violence triggers a random violent action) For each symptom, the hp impact, frequency of occurrence and escalation (getting worse over time) chould be defined. 5: Duration - is it permanent or short-lived (ticks)

This would need a lot of work. Each contagion would need its own definition record in the game data.

scrom commented 10 years ago

Will want to enhance existing contagion mission with this to delay patient zero behaviours

scrom commented 10 years ago

Most of this is now implemented. Incubation period and duration may need work/fixing. So far it looks like it's working well. Note, the contagion definitions are attached to creatures etc, not to the map after all.

scrom commented 10 years ago

incubation period, duration and escalation all look like they're working. More thorough testing still needed around "bite" and zombie definition will need some thorough play testing to ensure game isn't unbalanced by the changes around frequency as it's now calculated differently. Also about to start work on transmission methods other than biting.

Eventually for example entering a room with, poison gas (or similar) might cause health damage for a while.

Will need to decide if contagion is removed from player once duration is over (I think the answer is yes but this would need some work).

Similarly, is something contagious if during incubation period or only when active (I want to keep it simple but might need to define "contagiousDuringIncubation" and "removeWhenExpired" flags.

(assume if "removeWhenExpired" is false that it's also contagious if still associated to a character)

scrom commented 10 years ago

Decisions:

scrom commented 10 years ago

mutation now also supported. If mutation is set to true, incubationPeriod, communicability and duration may alter when transmitting. In addition, symptoms will be the current active symptoms -e.g. potentially already escalated rather than the original starting symptoms.

scrom commented 10 years ago

Currently the only transmission method implemented is "bite" - this will want expanding to "contact", "airborne" and possibly "blood". (these will be the only 4 I implement)

The only 2 symptoms implemented so far are "bite" and "hurt" (self). There's a placeholder symptom for "violence" (random acts of violence/abuse). "vomiting", "hunger" ,"dehydration", "confusion" and "bleed" would be some interesting alternatives..