-
Notifications
You must be signed in to change notification settings - Fork 104
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
Design doc for multi character slot system #177
base: master
Are you sure you want to change the base?
Conversation
Could this be extended to work with late-joins too? Like if I select bartender as a late-join role and I have my bartender character as one of my active characters, it'll automatically select them (because they have the highest preference for the job)? |
Maybe make it so that clicking on a job in the latejoin pops down a menu that's like "which character slot", and slots that match the preference are bumped to the top. |
|
||
Currently you can only have one "high" job preference. I'm not sure how this proposal would play in with that, as you'd obviously be able to have multiple characters each with their own high preference set. I can think of two solutions: | ||
|
||
* Just allow this. This means people can have multiple "high" job preferences in practice. I'm not sure it's a big deal? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This would allow crafty players to give themselves priority over everyone else for a job or set of jobs using duplicate slots to influence the odds, the second proposal (a high priority slot) is better.
High priority means they get picked before medium or low priority players, so being able to have more than one high priority selection effectively just lets players use slots to give themselves higher job odds.
I feel a better route might be to separate the concept of a character and a character's preferences. This also works better for servers that want to persist certain bits of character data (say, persistent wounds or records), and allows a character to have multiple clothing options per job preference set if they want. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think this is a good way to handle characters or jobs. It's too confusing for the average player to follow and makes having a consistent character that players modify overtime more difficult (this is the primary usage of character slots).
Separating out Borgs,Antags and other unusual roundstart playables is a really good idea, since those don't make sense to have as jobs.
|
||
### Alternative character types | ||
|
||
This approach also opens up the way for "alternative" character slot types. Right now all character slots are "humanoid", which makes little sense for roles like borgs. Instead of selecting borg / AI as regular jobs, we may instead want to make a wholly new character slot type instead. May also make sense for antags like nukies. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I like this as a solution for borgs, antags or other unusual crew
|
||
## Proposal | ||
|
||
It should be possible to have multiple character slots active at once. When selecting jobs, a job is picked for all your characters at once, after which the actual character slot is picked. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this is a really clunky solution that isn't very clear to the player how it works.
|
||
The lobby currently shows your active character in the menu. With this change, that would instead show all your character slots lined up horizontally. This is also nice because if you do take advantage of multiple character slots this allows you to easily tell "I have engie, med and sec selected". | ||
|
||
We will probably need a "duplicate" button to allow you to clone a character slot, if you want to make a character slot with the same appearance but a different job easily. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is also really clunky. If a player makes changes to one character they then need to mirror all those changes to the copies which is a pain in the ass.
|
||
### Job/character selection | ||
|
||
The game would run job selection first, with your apparent job preferences selected as the union of the preferences of all your characters. Then when a job has been picked for you, your character slot is picked based on what jobs are selected on your characters. If more than one character has the job selected, it'd just be picked randomely between them. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is very complicated and would be confusing un-explained behavior to a player. Job preferences should not be tracked on a per character basis, they are something that a player has. Job preferences should reflect those of the player themselves since they are effectively a consent system for the type of gameplay that a player wishes to engage in during that session. A better solution would be to have a system for managing Job Preference presets, aka the ability to save/select saved preferences.
I'll be honest, most of this seems like a lot of over-complication that isn't focused on what players actually want to accomplish when they interact with the character creation/selection and role preference menu. But elements like splitting borgs, and other non-humanoid or antag roles into separate character types is a good idea tbh. In terms of improving character selection I have some recommendations/ideas:
|
That is a much better idea. Nice. |
I didn't see PJB's most recent above but wanted to workshop this feature a bit (this is similar to my IRL work so it's interesting to me) Character IdentitiesAS A Player AS A Player AS A Player (repeat for other unique characters like wizards) AS A Player High/Med/Low priorityAS A Player AS A Player AS A Player Matchmaking - PlayerAS A Player AS A Player AS A Player Matchmaking - DesignerAS A Game Designer AS A Game Designer AS A Game Designer AS A Game Designer AS A Game Designer That's what I get out of the "design intent" of the current sort of muddling about approach, but Jez proposes a better design above so we might amend these user stories a bit... |
With Jez' suggestion the stories become: Character IdentitiesAS A Player AS A Player AS A Player (repeat for other unique characters like wizards) AS A Player JOB LOADOUTSAS A Player AS A Player AS A Player AS A Player AS A Player AS A Player Matchmaking - PlayerAS A Player AS A Player Matchmaking - DesignerAS A Game Designer AS A Game Designer AS A Game Designer AS A Game Designer AS A Game Designer |
One huge ease-of-use and ease-of-code win with Jez' suggestion is that it make customizing "If I'm a nukie/wizard/blob/etc I want to be this person" I'm not seeing a good solution for a player desire of "if I'm a tot/II/HR I want to be so-and-so though" - I can see both +s and -s for this, because there's a real problem with "known people who queue antag who also have a favourite character" on some more family servers (i.e. servers where you learn to recognize people) which I call the Bodie Phenomenon where I think a story might exist for "AS A Player Problem being that things like tot selection currently happen multiple minutes into the round as a cope mechanic for people rushing objectives |
Frankly I also think there could be scope for just divorcing character selection until after the matchmaking code has given you a round start role allocation. That would then make things unified once you've got a role picked between late join and round start -> pick/assigned a role, pick a character, deploy. "YOU HAVE BEEN ASSIGNED: CLOWN DO YOU WANT TO PLAY AS YOUR ASSIGNMENT WILL BE REVOKED IN: 30 SECONDS" BUT THEN you need to sort roundstart spawning to occur as being from late join areas rather than folks just spawning in their department like they currently do. Which might be a good thing? Considering at the moment spawning dumps you in a powerless room whilst the server concludes map init,...) |
No description provided.