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

Character Loadouts Sheets (aka saving/loading loadouts) #1136

Open
Mnemotechnician opened this issue Oct 23, 2024 · 3 comments
Open

Character Loadouts Sheets (aka saving/loading loadouts) #1136

Mnemotechnician opened this issue Oct 23, 2024 · 3 comments
Labels
Type: Feature Creation of or significant changes to a feature

Comments

@Mnemotechnician
Copy link
Contributor

Preamble

It's more or less a consensus that the current "one loadout per character" approach sucks. Many people have expressed that they prefer the old wizden-style loadouts, despite all the inconveniences associated with them. The current approach restricts people from rolling for a job, because they can not afford to create per-job loadouts, and as such, rolling for a job would likely result in them spawning with the default job loadout instead of what they would prefer.

In particular, many people on the floof station prefer to just not ready up during the round countdown, exactly because they have no way to configure loadouts per-job, and prefer to wait out before joining, to have a chance to adjust their loadouts for the job they choose this round.

Allowing to select unusuable loadouts is a bandaid, not a solution

It should be that obvious. Not only is it absolutely counterintuitive for end users, it also behaves erratically and can result in your character spawning with unwanted loadouts if they pick a job that permits multiple of the chosen loadouts. The "allow unusable" bandaid does not account for loadout points: even if you can't use a particular loadout at the current moment, it still drains your points by just being selected.

Besides all of this, it is extremely hard to maintain the fragile job requirement dependencies between loadouts code-wise.

Possible solution

Introduce a menu to save/load loadouts, aka loadout sheets. The menu would would list all loadouts that are currently chosen, and would provide a job selector similar to character job preferences: each loadout would be associated with a job by priority, with an optional baseline priority.

When the player takes a job, the system should find all loadouts in the character's preferences that have its job on a non-zero priority, and choose the one with the highest priority. If there are none, it should instead give the player the currently loaded loadout.

Optionally, each loadout sheet could have a weight associated with it. If multiple loadout sheets fit the current job and have the same priority, a random one of them could be chosen, and the weight would dictate how likely it is to be chosen. This would give the players to have different loadouts every shift without actually changing them before every shift.

@Mnemotechnician Mnemotechnician added the Type: Feature Creation of or significant changes to a feature label Oct 23, 2024
@gluesniffler
Copy link
Contributor

gluesniffler commented Oct 23, 2024

This is something that was discussed at Grimbly as well, an alternative solution we mentioned was partially mimicking wizloadouts. The whole reason that Death and Solidus were hellbent on one character = one job loadouts is because they expect that this inconvenience will force players to make other characters for other jobs.

In reality its just frustrating since if I really wanted to, I can and have made multiple of my birb for every position that I play with her, with traits tweaked to powergame better on each job.

This idea would simply be to allow users to make per job loadouts, but only a limited number of them, defined by a server CVAR. Thus servers that dont mind this could simply turn the CVAR to a high number or -1, and servers that do want this can just leave it on the default or lower it to 1.

Some design drafts I made in Figma attached below.
image
image

@DangerRevolution
Copy link
Contributor

This solution combines the best of both worlds:

(and was the original solution proposed to this question; last I was maint)

Character Slot Assignment:

(Illustrated using the masterpiece of 21st century gaming; Colonial Marines 13)

You can assign character slots per role; and so when you roll for a specific role it will select specific character slots.
image

I have two of the same character; but a different loadout for each to better reflect the Marine-Officer differences that I need in the loadouts. Slot 1 has a pistol and a helmet decoration, while Slot 2 has a notepad and pen for RP and Officer duties.

So, this allows you to make multiple character slots of the same character but with varied loadouts that you can assign per role as you wish in order to allow for varied loadout choices yet keeping the same character. At the same time, reusing the string similarity function from Respawn System this could possibly allow (via CVar) & enforce assigning different slots to different jobs, which further reinforces the whole "one character one department" thing some people prefer. And for the grand slam; this could make antag character slots a thing which allows unique antag character rather than having to fit your OCs into good/bad realities.

@VMSolidus
Copy link
Member

This solution combines the best of both worlds:

(and was the original solution proposed to this question; last I was maint)

Character Slot Assignment:

(Illustrated using the masterpiece of 21st century gaming; Colonial Marines 13)

You can assign character slots per role; and so when you roll for a specific role it will select specific character slots. image

I have two of the same character; but a different loadout for each to better reflect the Marine-Officer differences that I need in the loadouts. Slot 1 has a pistol and a helmet decoration, while Slot 2 has a notepad and pen for RP and Officer duties.

So, this allows you to make multiple character slots of the same character but with varied loadouts that you can assign per role as you wish in order to allow for varied loadout choices yet keeping the same character. At the same time, reusing the string similarity function from Respawn System this could possibly allow (via CVar) & enforce assigning different slots to different jobs, which further reinforces the whole "one character one department" thing some people prefer. And for the grand slam; this could make antag character slots a thing which allows unique antag character rather than having to fit your OCs into good/bad realities.

I said it last time and I'll say it again this time, that this is the exact solution I'd be most happy to support.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Type: Feature Creation of or significant changes to a feature
Projects
None yet
Development

No branches or pull requests

4 participants