Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Refactor] Allowing Game Modes with different rulesets #10271

Open
1 of 5 tasks
MaxIsJoe opened this issue Jan 31, 2024 · 0 comments
Open
1 of 5 tasks

[Refactor] Allowing Game Modes with different rulesets #10271

MaxIsJoe opened this issue Jan 31, 2024 · 0 comments

Comments

@MaxIsJoe
Copy link
Contributor

MaxIsJoe commented Jan 31, 2024

At the core of SS13 is the ability to create spinoffs using the game's expansive codebase, tools and content. Forks like CM, Fallout 13, SCP13 and Shiptest 13 operate on the same codebase, but have widely different goals, gameplay and conditions. Unitystation should allow future forks to easily define rules for their gamemodes without writing hacky solutions or having a lot of friction between upstream changes and branch changes.

In order to allow for future game modes to be able to swiftly define their own rules, the following changes need to be made:

  • Game modes need to be chosen before maps load, and game modes must define what maps can be loaded when it is chosen.
  • Game modes should have the ability to initialize their own unique core systems before subsystems. (To allow for setting up things like Factions/Teams and specific game rules)
  • Game modes should have the ability to define if some core features in unitystation are enabled or not and some values related tot hem. (Like disabling gibs or faiths, buffing/nerfing hunger, etc)
  • Allowing game modes to define their own UI when attempting to join a round. (to allow for team selection screens or the ability to spawn on chosen locations)
  • Updating the EventsManager script to include different points of game mode initialization and map loading.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant