Skip to content
This repository was archived by the owner on May 22, 2025. It is now read-only.

Deletes all gamemodes in favor of storytellers - #22661

Merged
ToasterBiome merged 171 commits into
yogstation13:masterfrom
Moltijoe:DeleteAllGamemodes
Oct 18, 2024
Merged

ToasterBiome merged 171 commits into
yogstation13:masterfrom
Moltijoe:DeleteAllGamemodes

Conversation

@Moltijoe

@Moltijoe Moltijoe commented Sep 28, 2024 •

Copy link
Copy Markdown
Contributor

This is an extension of #22565
That pr works (mostly) and is stable enough to leave testmerged for the time being

This pr goes further, removing all gamemodes as storytellers make them obsolete.
Removing gamemodes will improve code maintainability in the future, as well as reduce code bloat.
However, a number of unrelated features relied on game modes to work, so while removing them, i noticed that it would become far more unstable for the time being.

Rather than risk messing up that original pr, i made a new branch, that is this

Now for how the system itself works

Storytellers

It works by using the existing event system that was previously only for midround events, but develops it further
It has 5 different event tracks

  • Mundane - Barely affects the round, whether positive or negative
  • Moderate - Can have an affect on the round, but usually isn't outright destructive
  • Major - Can have significant lasting effects on the round, some lesser ghost role antags are under this track
  • Roleset - Contains the majority of antags, whether ghost role or otherwise
  • Objectives - An objective for the crew to complete that rewards them in some way

Each event also has a list of tags, such as

  • TAG_ALIEN - The event is an alien threat
  • TAG_COMMUNAL - The event impacts most of the crewmembers
  • TAG_DESTRUCTIVE - the event generally causes destruction to the station
  • TAG_SPOOKY - the event can be considered somewhat scary in thematic
  • Others - it's easy to add more tags, allowing for more event selection customization

The storytellers work by having a "storyteller" generate points over time for each track
Once a track reaches a certain threshold, the "storyteller" will buy an event from that track
The event purchased will be determined by

  • The original designated weight
  • How many times it's been run before during the round
  • How the storyteller favours that event's tags

Different types of storytellers can be made to convey different game feelings

  • Guide - regular experience
  • Sleeper - less antags, but more events that are less likely to be destructive or combatitive
  • Mystic - more spooky, magical, or space related events
  • Operative - More antags, and those antags are more likely to come from within the crew, can spawn roundstart antags during the round
  • Clown - admin only - Spawns WAY more mundane and moderate events and they can repeat freely, but far fewer major events

Adding new events to this system is easier than making new event for dynamic, and they're going to spawn in more varied amounts compared to the old events + gamemode system

Why is this good for the game?

Dynamic is less dynamic than would be ideal and requires more work to update, maintain, and improve that we have
Storytellers is both more flexible to start, and is a lot easier to understand from a coding perspective, making it far less of a resource drain on our dev team to maintain

Testing

why should i need to test this

🆑 Biome, Molti, Dwasint, & other Monke devs
rscadd: Adds storytellers
rscdel: Deletes literally all gamemodes, buh bye
tweak: so many round events, like, genuinely so much
/:cl:

Yogbot-13 added a commit that referenced this pull request Oct 10, 2024
Yogbot-13 added a commit that referenced this pull request Oct 10, 2024
Yogbot-13 added a commit that referenced this pull request Oct 11, 2024
Yogbot-13 added a commit that referenced this pull request Oct 15, 2024
Yogbot-13 added a commit that referenced this pull request Oct 16, 2024
@ToasterBiome ToasterBiome added DO NOT MERGE Should not be merged without express approval from a Head Dev On hold - HD Should not be merged without HD Approval labels Oct 18, 2024

@ToasterBiome ToasterBiome left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ready

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

DO NOT MERGE Should not be merged without express approval from a Head Dev Feature This adds new content to the game On hold - HD Should not be merged without HD Approval Revert / Deletion Altoids is probably mad about this Test Merge - Requested This PR is waiting for a test merge to be scheduled Test Merge - Scheduled This PR is waiting to be test merged Tweak This PR contains changes to the game.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants