diff --git a/src/SUMMARY.md b/src/SUMMARY.md index 4fd9784..6f2327d 100644 --- a/src/SUMMARY.md +++ b/src/SUMMARY.md @@ -4,6 +4,7 @@ --- - [Why?](meta/why.md) - [Guide to Editing Docs](meta/guide-to-editing-docs.md) +- [Removing Docs](meta/removing-docs.md) # Coding --- @@ -75,9 +76,7 @@ - [Crew](design/masks/crew.md) - [Amnesiac](design/masks/crew/amnesiac.md) - [Angel](design/masks/crew/angel.md) - - [Animal Hater](design/masks/crew/animal-hater.md) - [Arms Dealer](design/masks/crew/arms-dealer.md) - - [Arsonist](design/masks/crew/arsonist.md) - [Avenger](design/masks/crew/avenger.md) - [Bomber](design/masks/crew/bomber.md) - [Cannibal](design/masks/crew/cannibal.md) @@ -87,7 +86,6 @@ - [Empath](design/masks/crew/empath.md) - [Enthraller](design/masks/crew/enthraller.md) - [Fruit Vendor](design/masks/crew/fruit-vendor.md) - - [Gambler](design/masks/crew/gambler.md) - [Glutton](design/masks/crew/glutton.md) - [Guzzler](design/masks/crew/guzzler.md) - [Insider](design/masks/crew/insider.md) @@ -97,9 +95,7 @@ - [Mind Reader](design/masks/crew/mind-reader.md) - [Parasite](design/masks/crew/parasite.md) - [Phantom](design/masks/crew/phantom.md) - - [Philanthropist](design/masks/crew/philanthropist.md) - [Pilferer](design/masks/crew/pilferer.md) - - [Polymath](design/masks/crew/polymath.md) - [Sacrifice](design/masks/crew/sacrifice.md) - [Scapegoat](design/masks/crew/scapegoat.md) - [Survivalist](design/masks/crew/survivalist.md) @@ -115,4 +111,12 @@ - [Red Carpet](design/masquerades/red-carpet.md) - [Station Events](design/station-events.md) - [Machine Degradation](design/machine-degradation.md) -- [Wildcards](design/wildcards.md) +--- +- [Removed Documents](design/removed.md) + - [Animal Hater](design/removed/animal-hater.md) + - [Arsonist](design/removed/arsonist.md) + - [Gambler](design/removed/gambler.md) + - [Mask Tokens](design/removed/mask-tokens.md) + - [Philanthropist](design/removed/philanthropist.md) + - [Polymath](design/removed/polymath.md) + - [Wildcards](design/removed/wildcards.md) \ No newline at end of file diff --git a/src/design/masks.md b/src/design/masks.md index cc9e741..a65f6d9 100644 --- a/src/design/masks.md +++ b/src/design/masks.md @@ -69,7 +69,7 @@ Some general archetypes of masks (again, not exhaustive and new archetypes can a - **Converter**: Masks which convert another player to a certain mask or give them additional objectives on some condition. Should be very uncommon, *especially* duplicating masks. Examples: [subverter](masks/traitor/subverter.md), [enthraller](masks/crew/enthraller.md). - **Copier**: Masks which copy other masks on some condition. Examples: [cannibal](masks/crew/cannibal.md). - **Giver**: Masks which center around creating and disseminating items to others for some purpose. Examples: [arms dealer](masks/crew/arms-dealer.md), [fruit vendor](masks/crew/fruit-vendor.md). -- **Sabotager**: Masks whose objectives revolve around engaging in some kind of malicious activity that generally harms others and leads to direct conflict. Examples: [animal hater](masks/crew/animal-hater.md), [arsonist](masks/crew/arsonist.md). +- **Sabotager**: Masks whose objectives revolve around engaging in some kind of malicious activity that generally harms others and leads to direct conflict and has deniability with troupe masks. Examples: [vandal](masks/crew/vandal.md). - **Murderer**: Masks which center around directly engaging in conflict with and killing other players. Examples: [assassin](masks/traitor/assassin.md), [veteran](masks/crew/veteran.md). - **Guardian**: Masks which center around preventing other players from being harmed or killed. Examples: [avenger](masks/crew/avenger.md), [tracker](masks/crew/tracker.md). - **Freak**: Masks whose objectives interact with the simulation in a way that is strange and leads into weird interactions, but not necessarily direct conflict with others. Examples: [glutton](masks/crew/glutton.md), [daredevil](masks/crew/daredevil.md). @@ -97,10 +97,4 @@ Sometimes, variants can be interesting enough to warrant an entire new mask expl Masks are given out immediately when players spawn, whether on the transport shuttle or just through cryo. All players receive a mask, regardless of role (though certain roles may be prohibited from being members of certain factions). -The mask that you receive is determined by the current [Masquerade](masquerades.md), players are given a mask randomly from the set of masks the masquerade generated. Players **cannot** influence what mask they are given. - -### Mask Tokens {.es-unimplemented } -At the end of a round, if you've successfully complete your objectives, you receive a **mask token** that's associated with your account. -Between rounds, a few round's worth of tokens can be redeemed to pre-select your mask before the round begins. - -This provides an incentive for completing mask objectives (to earn tokens) as well as a way to occasionally mitigate randomness. +The mask that you receive is determined by the current [Masquerade](masquerades.md), players are given a mask randomly from the set of masks the masquerade generated. Players **cannot** influence what mask they are given. \ No newline at end of file diff --git a/src/design/masks/crew/daredevil.md b/src/design/masks/crew/daredevil.md index d676626..562898f 100644 --- a/src/design/masks/crew/daredevil.md +++ b/src/design/masks/crew/daredevil.md @@ -2,6 +2,8 @@ {{#template ../../../templates/implemented.md }} +{{#template ../../../templates/slated-for-rework.md reason="doesnt interact with other players enough, they tend to just do their own thing. going to be reworked into a different mask most likely that is more player-interaction-driven"}} + > **Name:** Daredevil > > **Troupe:** [Crew](../crew.md) diff --git a/src/design/masks/crew/empath.md b/src/design/masks/crew/empath.md index 34bd801..dcceda6 100644 --- a/src/design/masks/crew/empath.md +++ b/src/design/masks/crew/empath.md @@ -23,7 +23,7 @@ Their main ability is the power to sense the aura of a target player, which they Which aura they see is dependent on the mask the player has: - **Neutral Aura:** Basic, unassuming. Default aura used for the majority of roles such as [VIP](vip.md), [Mercenary](mercenary.md), [Glutton](glutton.md), etc -- **Killing Intent:** Murderous, violent. Used for roles that have kill-related objectives, such as [Traitors](../traitors.md), [Animal Hater](animal-hater.md), [Veteran](veteran.md), etc +- **Killing Intent:** Murderous, violent. Used for roles that have kill-related objectives, such as [Traitors](../traitors.md), [Martyr](martyr.md), [Veteran](veteran.md), etc - **Strange Feeling:** Dull, hazy. Reserved for masks which have not gained their main objectives, such as the [Amnesiac](amnesiac.md) or Copier-type masks like the [Cannibal](cannibal.md) ## Gameplay diff --git a/src/design/masks/crew/pilferer.md b/src/design/masks/crew/pilferer.md index e99ddc7..491173a 100644 --- a/src/design/masks/crew/pilferer.md +++ b/src/design/masks/crew/pilferer.md @@ -32,8 +32,6 @@ This ability cannot be used on unconscious or dead players. The Pilferer's objective and actions lead them into direct minor conflict with many people, while the random nature of their action means they're unlikely to be able to powergame very hard with the items they do manage to steal. The leadup to the steal--having to be outside of their viewcone--integrates nicely with the viewcone mechanic itself and other related mechanics, like footsteps being muted when walking, or invisibility granted by things like the [Spy](../traitor/spy.md)'s stealth suit, if the Pilferer can manage to steal it. -The Pilferer has co-deniability with the [Philanthropist](./philanthropist.md), whose behavior up to the conclusion of the action is functionally identical. - ## Variants *Professional Pilferer* - Action usable N times (>1) per player, and with a faster doafter. \ No newline at end of file diff --git a/src/design/masks/crew/sacrifice.md b/src/design/masks/crew/sacrifice.md index 2e1d435..3ac5e92 100644 --- a/src/design/masks/crew/sacrifice.md +++ b/src/design/masks/crew/sacrifice.md @@ -2,6 +2,8 @@ {{#template ../../../templates/implemented.md }} +{{#template ../../../templates/slated-for-rework.md reason="just not interesting enough of an objective, not strong enough to matter at all, people basically just suicide in the right place and it usually doesnt affect much, although i still think the concept is workable"}} + > **Name:** Sacrifice > > **Troupe:** [Crew](../crew.md) diff --git a/src/design/removed.md b/src/design/removed.md new file mode 100644 index 0000000..f68d560 --- /dev/null +++ b/src/design/removed.md @@ -0,0 +1,3 @@ +# Removed Design Documents + +This section exists to catalogue previously designed, and perhaps even previously implemented, documents which were, for some reason or another, removed from Ephemeral Space. We hope that this serves as a useful repository for future reference, and that it helps us avoid accidentally redesigning failed concepts. \ No newline at end of file diff --git a/src/design/masks/crew/animal-hater.md b/src/design/removed/animal-hater.md similarity index 84% rename from src/design/masks/crew/animal-hater.md rename to src/design/removed/animal-hater.md index 3d5678a..bdef9b9 100644 --- a/src/design/masks/crew/animal-hater.md +++ b/src/design/removed/animal-hater.md @@ -1,10 +1,10 @@ # Animal Hater -{{#template ../../../templates/unimplemented.md }} +{{#template ../../templates/removed-unimplemented.md reason="not enough actual small creatures on station, too much of a freak-type mask, not really enough of an interesting conflict that i think its worth having, itd be better with another dimension to it" }} > **Name:** Animal Hater > -> **Troupe:** [Crew](../crew.md) +> **Troupe:** Crew > > **Description:** Take out your anger by killing small creatures around the station. No one will notice, right? > diff --git a/src/design/masks/crew/arsonist.md b/src/design/removed/arsonist.md similarity index 83% rename from src/design/masks/crew/arsonist.md rename to src/design/removed/arsonist.md index 3efd002..0e9b4a8 100644 --- a/src/design/masks/crew/arsonist.md +++ b/src/design/removed/arsonist.md @@ -1,11 +1,10 @@ # Arsonist -{{#template ../../../templates/unimplemented.md }} - +{{#template ../../templates/removed-unimplemented.md reason="we have plenty of fires as is. just not very interactive, much less interesting than other masks, less dimensionality, less integration, too one-note" }} > **Name:** Arsonist > -> **Troupe:** [Crew](../crew.md) +> **Troupe:** Crew > > **Description:** Set little fires around the station. Watch the cinders dance around. > diff --git a/src/design/masks/crew/gambler.md b/src/design/removed/gambler.md similarity index 91% rename from src/design/masks/crew/gambler.md rename to src/design/removed/gambler.md index 8dffbad..039af81 100644 --- a/src/design/masks/crew/gambler.md +++ b/src/design/removed/gambler.md @@ -1,10 +1,10 @@ # Gambler -{{#template ../../../templates/unimplemented.md }} +{{#template ../../templates/removed-unimplemented.md reason="i still like the concept just dont think its interesting enough to be a mask with what we've learned so far, not really interactive enough, will probably get revisited eventually" }} > **Name:** Gambler > -> **Troupe:** [Gambler](../crew.md) +> **Troupe:** Crew > > **Archetypes:** Freak > diff --git a/src/design/removed/mask-tokens.md b/src/design/removed/mask-tokens.md new file mode 100644 index 0000000..ee81caa --- /dev/null +++ b/src/design/removed/mask-tokens.md @@ -0,0 +1,8 @@ +# Mask Tokens + +{{#template ../../templates/removed-unimplemented.md reason="Extracted from mask document. Mask tokens kind of directly conflict with Masquerades. You can't both pick your own mask, and also have a focused game style in play. We still want some metaincentives for objective stuff but not like this." }} + +At the end of a round, if you've successfully complete your objectives, you receive a **mask token** that's associated with your account. +Between rounds, a few round's worth of tokens can be redeemed to pre-select your mask before the round begins. + +This provides an incentive for completing mask objectives (to earn tokens) as well as a way to occasionally mitigate randomness. \ No newline at end of file diff --git a/src/design/masks/crew/philanthropist.md b/src/design/removed/philanthropist.md similarity index 56% rename from src/design/masks/crew/philanthropist.md rename to src/design/removed/philanthropist.md index a600f12..0216165 100644 --- a/src/design/masks/crew/philanthropist.md +++ b/src/design/removed/philanthropist.md @@ -1,10 +1,10 @@ # Philanthropist -{{#template ../../../templates/unimplemented.md }} +{{#template ../../templates/removed-unimplemented.md reason="just not interesting, i dont think it even has much deniability with pilferer, pilferer at least leads to actual conflict when this could realistically be really cheesy and dumb" }} > **Name:** Philanthropist > -> **Troupe:** [Crew](../crew.md) +> **Troupe:** Crew > > **Archetypes:** Giver, Freak > @@ -20,7 +20,7 @@ The Philanthropist can put random luxurious items into people's backpacks, as lo ## Abilities -The Philanthropist has a player-targeting action usable once (successfully) per player, with a doafter that doesn't show up for others, identical to the [Pilferer](./pilferer.md)'s. They can activate this action only when out of sight of that player (i.e. in their viewcone's shadow, or more literally, when they're facing the same direction), taking ~1.5-2 seconds, failing if either of them move. If successful, this will spawn a random item out of a pool (maybe the current gift pool? idk) and place it into their backpack. +The Philanthropist has a player-targeting action usable once (successfully) per player, with a doafter that doesn't show up for others, identical to the Pilferer's. They can activate this action only when out of sight of that player (i.e. in their viewcone's shadow, or more literally, when they're facing the same direction), taking ~1.5-2 seconds, failing if either of them move. If successful, this will spawn a random item out of a pool (maybe the current gift pool? idk) and place it into their backpack. If there isn't enough space in their backpack, it will attempt to place the item in their pockets, simply cancelling with a popup if this also fails. @@ -28,4 +28,4 @@ This ability cannot be used on unconscious or dead players. ## Gameplay -The Philanthropist serves as a way to introduce some item variance into the game through their gifts--often useful things, like materials, money, or ammunition. Because the Philanthropist and [Pilferer](./pilferer.md) have functionally identical behavior up until the point of the action completing, people aren't incentivized to listen to a Philanthropist's plea of "heyyy lemme sneak up right behind you real quick and give you some money". +The Philanthropist serves as a way to introduce some item variance into the game through their gifts--often useful things, like materials, money, or ammunition. Because the Philanthropist and Pilferer have functionally identical behavior up until the point of the action completing, people aren't incentivized to listen to a Philanthropist's plea of "heyyy lemme sneak up right behind you real quick and give you some money". diff --git a/src/design/masks/crew/polymath.md b/src/design/removed/polymath.md similarity index 59% rename from src/design/masks/crew/polymath.md rename to src/design/removed/polymath.md index 19b909e..740da3e 100644 --- a/src/design/masks/crew/polymath.md +++ b/src/design/removed/polymath.md @@ -1,10 +1,10 @@ # Polymath -{{#template ../../../templates/unimplemented.md }} +{{#template ../../templates/removed-unimplemented.md reason="kind of Too Much deniability, maybe ok in some masquerades but also i dont want to bait someone into implementing this when its not really that good. the flavor text is awesome though i cooked with that" }} > **Name:** Polymath > -> **Troupe:** [Crew](../crew.md) +> **Troupe:** Crew > > **Archetypes:** Depends > @@ -20,13 +20,13 @@ The Polymath is a highly variable crew mask that receives two random abilities f ## Abilities -The Polymath's abilities depend on the random abilities chosen for them--for example, from the [Fruit Vendor](./fruit-vendor.md), [Arms Dealer](./arms-dealer.md), [Philanthropist](./philanthropist.md), or [Connoisseur](./connoisseur.md). Abilities are rolled first, and then objectives. Objectives which require for certain abilities--like the Fruit Vendor's objective--should require the corresponding ability. However, other objectives may always roll, even without the corresponding ability. +The Polymath's abilities depend on the random abilities chosen for them--for example, from the Fruit Vendor, Arms Dealer, Philanthropist](./philanthropist.md), or Connoisseur. Abilities are rolled first, and then objectives. Objectives which require for certain abilities--like the Fruit Vendor's objective--should require the corresponding ability. However, other objectives may always roll, even without the corresponding ability. ## Gameplay -The Polymath generates high amounts of variable deniability for essentially any crew mask with an ability--suddenly, being able to spawn fruits out of the aether no longer implies a harmless Fruit Vendor, and it may in fact be a Polymath with the ability to [kill an enemy](./veteran.md) or [set fires](./arsonist.md). +The Polymath generates high amounts of variable deniability for essentially any crew mask with an ability--suddenly, being able to spawn fruits out of the aether no longer implies a harmless Fruit Vendor, and it may in fact be a Polymath with the ability to kill an enemy or set fires. -The existence of the Polymath requires people to think more carefully about ability-granting masks, and the randomization allows for some truly strange combinations (Fruit Vendor with [Glutton](./glutton.md) objectives, anyone?). +The existence of the Polymath requires people to think more carefully about ability-granting masks, and the randomization allows for some truly strange combinations (Fruit Vendor with Glutton objectives, anyone?). ## Variants diff --git a/src/design/wildcards.md b/src/design/removed/wildcards.md similarity index 52% rename from src/design/wildcards.md rename to src/design/removed/wildcards.md index c56bb4e..9fdf780 100644 --- a/src/design/wildcards.md +++ b/src/design/removed/wildcards.md @@ -1,6 +1,6 @@ # Wildcard Roles -{{#template ../templates/unimplemented.md}} +{{#template ../../templates/removed-unimplemented.md reason="Wildcards as a whole are an aspect of multistation oriented thinking that no longer fits ES's wider design. In particular they don't mesh well with Masquerades, and create isolated pockets of gameplay separate from the wider game." }} A portion of the station, at roundstart, are selected to be Wildcards--pawns in the round that are external to the main crew experience. These can include things like: - Solo free agent roles (shitty pod guy) @@ -9,11 +9,11 @@ A portion of the station, at roundstart, are selected to be Wildcards--pawns in - Helpful solo/team roles (traders) - Grey team roles (swarmer drones) -Wildcard roles are never considered part of the crew [troupe](./masks.md) at roundstart, are not part of the typical role pool, and have goals of their own that may lead them into conflict or cooperation with the crew and other wildcards. Gameplay for them should be crafted so that they have reason to interact with things that will affect the station's inhabitants in a nuanced way, but they do not necessarily need to directly interface with the crew in "roleplay". +Wildcard roles are never considered part of the crew troupe at roundstart, are not part of the typical role pool, and have goals of their own that may lead them into conflict or cooperation with the crew and other wildcards. Gameplay for them should be crafted so that they have reason to interact with things that will affect the station's inhabitants in a nuanced way, but they do not necessarily need to directly interface with the crew in "roleplay". *Notes: It probably makes sense to select some roles first, and only shunt players off into the wildcard pool if they only selected roles that are already fully saturated, or once an adequate number of each role has been selected?* -Wildcards will often be humanoids with the same capacity as the station crew, in which case they may opt into having [masks](./masks.md). Specific wildcard roles can decide whether they will roll masks, and what subset/weighting of masks they should use. Wildcards may also be nonhumanoid, in which case they should not roll masks. +Wildcards will often be humanoids with the same capacity as the station crew, in which case they may opt into having masks. Specific wildcard roles can decide whether they will roll masks, and what subset/weighting of masks they should use. Wildcards may also be nonhumanoid, in which case they should not roll masks. When the round starts and the players who will be put into the wildcard pool are selected, they are given a selection of wildcard roles and allowed to vote on which to play. diff --git a/src/design/roundflow/roundstart-arrivals-latejoining.md b/src/design/roundflow/roundstart-arrivals-latejoining.md index 672e9f0..c5a80b2 100644 --- a/src/design/roundflow/roundstart-arrivals-latejoining.md +++ b/src/design/roundflow/roundstart-arrivals-latejoining.md @@ -2,8 +2,6 @@ {{#template ../../templates/partially-implemented.md }} -When the round starts, players are internally split up into two groups. The first are those that will play the station roles. This group should comprise the vast majority of players. Those in the second group are given the option to play as a [wildcard role](../wildcards.md). - ## Arrivals At the start of the round, the station crew spawns in cryosleep aboard a transport ship. The ship has detected that only a few minutes remain until they arrive at the station, and now the crew must reorient themselves and prepare to board. It's been a significant length of time since the crew was put into cryosleep--maybe years--and they're going to be a little dazed, or.. worse? diff --git a/src/meta/removing-docs.md b/src/meta/removing-docs.md new file mode 100644 index 0000000..d05741d --- /dev/null +++ b/src/meta/removing-docs.md @@ -0,0 +1,9 @@ +# Removing Docs + +When removing docs, or sections of docs, that are deemed outdated and unsatisfactory or whose features were already removed from the game, you should follow a simple process. We want to keep things around that are removed for archival and learning purposes, as opposed to removing them from the repo entirely. + +- Move the doc into the [Removed](../design/removed.md) folder, as well as in the SUMMARY.md. + - If the offending part is only a section of a doc, as opposed to an entire doc, create a new doc for it and place it in the `Removed` folder. See [mask tokens](../design/removed/mask-tokens.md). +- Add the correct removal template marker (`removed-implemented.md` or `removed-unimplemented.md`) to the top of the page, including writing a reason for removal. See any of the already-removed docs in that folder. +- If the removed doc contains any links to other docs, simply remove them (keep the text) rather than trying to conform the links to the new directory structure. +- If any other docs link to the now-removed doc, remove the links and rewrite fragments referencing the removed concept. \ No newline at end of file diff --git a/src/templates/removed-implemented.md b/src/templates/removed-implemented.md new file mode 100644 index 0000000..da15c74 --- /dev/null +++ b/src/templates/removed-implemented.md @@ -0,0 +1,6 @@ +```admonish danger "Removed After Being Implemented" +This design document was once implemented, but has since been removed from Ephemeral Space. + +The following reason was given for its removal: +[[#reason None]] +``` \ No newline at end of file diff --git a/src/templates/removed-unimplemented.md b/src/templates/removed-unimplemented.md new file mode 100644 index 0000000..ffa9a91 --- /dev/null +++ b/src/templates/removed-unimplemented.md @@ -0,0 +1,6 @@ +```admonish danger "Removed During Design Stage" +This design document was once relevant, but was deemed unsatisfactory before being implemented into Ephemeral Space. + +The following reason was given for its removal: +[[#reason None]] +``` \ No newline at end of file diff --git a/src/templates/removed.md b/src/templates/removed.md deleted file mode 100644 index 3d0a564..0000000 --- a/src/templates/removed.md +++ /dev/null @@ -1,6 +0,0 @@ -```admonish danger "Removed" -This design document used to exist but has since been removed from Ephemeral Space. - -The following reason was given for its removal: -[[#reason None]] -``` \ No newline at end of file diff --git a/src/templates/slated-for-rework.md b/src/templates/slated-for-rework.md new file mode 100644 index 0000000..e7a761f --- /dev/null +++ b/src/templates/slated-for-rework.md @@ -0,0 +1,6 @@ +```admonish warning "Slated For Rework" +This design document is finished, but is going to be reworked in the future as a result of playtesting or design iteration, so it should not be taken as gospel. + +The following explanation was given for a rework: +[[#reason None]] +``` \ No newline at end of file