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

Revamped Free Start #64697

Merged
merged 12 commits into from
Apr 4, 2023
Merged

Revamped Free Start #64697

merged 12 commits into from
Apr 4, 2023

Conversation

bombasticSlacks
Copy link
Contributor

@bombasticSlacks bombasticSlacks commented Mar 30, 2023

Summary

Features "New balanced free start for character creation"

Purpose of change

It's been well known for a while that point totals in multipool are not balanced and haven't been for a while. It's not something that the team wants to maintain long term, and we wish to encourage a wider variety of character types without forcing players to take challenging starts or loading up on weird non-downsides.

Describe the solution

Introducing Survivor Mode, free form with guidelines.

Revived the summary info from #52877 but address the issues by making it dynamic based on an average NPC.

Created a new helper singleton object called player_difficulty. This creates a very basic NPC which the avatar can compare themselves to for various metrics.

These metrics are split into two categories:
Difficulties - How challenging things will be in game. currently summarized as “OFFENCE”, “Defence”, “SOCIAL”

Power Level - How many points you have compared to a normal character. Currently summarized as "Genetics" and "Knowledge".

So difficulties go from trivial to impossible,
Power level go from underpowered to overpowered.

These are evaluated as:

Offence is calculated as your best weapon (similar to NPCs) out of a: machete, combat knife, and baseball bat (items easy to find early) or whatever your best starting weapon is compared to a basic NPC.

Defence is a combo of armour on all locations, dodge, and the ability to run away compared with a basic NPC.

Social is the ability to convince and the opinion NPCs will have of you compared with a basic NPC.

Genetics is a judgment on how many stats and traits you have compared to an average character from old multipool.

Knowledge is a judgment on how many skills and proficiencies you have compared to the average character from old multipool with an additional consideration for any speed learning and reading stuff you have.

Finally I cleaned up some nomenclature in the menus, including moving multipool and single pool to be called "Legacy"
and some UI weirdness like how we showed skills from professions.

Also refactored getting NPC opinion of, so it can be accessed from a constant.

Describe alternatives you've considered

Testing

Tested the menu quite a bit. Numbers seem good to me for now.

Additional context

SCREENSHOTS:
NOTE Genetics has been renamed to Lifestyle
image

image

image

image

@github-actions github-actions bot added [C++] Changes (can be) made in C++. Previously named `Code` Character / World Generation Issues and enhancements concerning stages of creating a character or a world NPC / Factions NPCs, AI, Speech, Factions, Ownership <Enhancement / Feature> New features, or enhancements on existing astyled astyled PR, label is assigned by github actions json-styled JSON lint passed, label assigned by github actions labels Mar 30, 2023
@Kamejeir
Copy link
Contributor

Kamejeir commented Mar 30, 2023

inb4 someone wants to pull something that lets them be able to be blind to the game telling them that their character is all-round overpowered (they can't handle not picking every good trait and the game pulling a Wolfenstein 2 The New Colossus "baby mode")

@Nebnis
Copy link
Contributor

Nebnis commented Mar 30, 2023

Great PR. I have trouble balancing myself out so having some comparation with ingame things might prod me into the right direction

@Terrorforge
Copy link
Contributor

This may be nitpicky, but looking at this as someone who's never seen it before, I don't see the point of differentiating between and using different terminology for power level and difficulty. Maybe I'm just easily confused, but when I see "Knowledge: overpowered, Offense: trivial", I don't immediately grokk that these are representing nominally different types of information, I just think "wait, is 'trivial' stronger or weaker than 'overpowered'?"

I think it makes more sense to just use the power level terminology throughout. "Offense: overpowered" conveys the same information as "Offense: trivial", right?

@bombasticSlacks
Copy link
Contributor Author

bombasticSlacks commented Mar 30, 2023

I think it makes more sense to just use the power level terminology throughout. "Offense: overpowered" conveys the same information as "Offense: trivial", right?

The reason was that Trivial gives more of the feeling of "you are making the game too easy for yourself", whereas something like "powerful" could make a new player go "hell yeah I am making a powerful character 😎"

With the swap to overpowered as the top word it might be okay, though.

@github-actions github-actions bot added the BasicBuildPassed This PR builds correctly, label assigned by github actions label Mar 30, 2023
@TheShadowFerret
Copy link
Contributor

TheShadowFerret commented Mar 31, 2023

Does having levels in added new skills(spellcraft/deduction/whatever third parties add) increase or ignore Knowledge?

@bombasticSlacks
Copy link
Contributor Author

Does having levels in added new skills(spellcraft/deduction/whatever third parties add) increase or ignore Knowledge?

if non-combat they should yeah.

@Raikiri
Copy link

Raikiri commented Mar 31, 2023

I agree that adjectives "easy" and "trivial" simply don't land on the same scale that "underpowered" and "overpowered" do. The gradations should be either power levels "Feeble/Weak/Strong/Overpowered", capability compared to a normal baseline "Below average/Above average" or on gameplay difficulty "Trivial/Easy/Hard/Very Hard/Insane", however, you probably should not mix them.

Personally I think thematically the most interesting thing is to make each category have its own gradation, for example offence can go on a scale: "Harmless/Mostly harmless/Dangerous/Lethal", while knowledge can go on a scale "Struggling/Dabbling/Smart/Expert/Genius"

Furthermore, having a "trivial" in your "social" category by no means actually trivializes the game. So maybe the "difficulty level" scale is not the right one for these categories.

@pjf
Copy link
Contributor

pjf commented Mar 31, 2023

Can we use a different name than 'genetics'? Going to the gym (high strength), being a smoker, having the blob give you psychosis, or being spiritual don't really seem to fit the 'genetics' theme (although obviously some things do).

Perhaps 'background' or 'lifestyle'? I'm not attached to any term in particular, but 'genetics' doesn't feel right to me.

@Terrorforge
Copy link
Contributor

The reason was that Trivial gives more of the feeling of "you are making the game too easy for yourself", whereas something like "powerful" could make a new player go "hell yeah I am making a powerful character 😎"

With the swap to overpowered as the top word it might be okay, though.

Is that a bad thing? New players have it hard enough as it is, I don't actually think we need to discourage them from making strong characters. I think it would be difficult for a new player to make something that's truly so strong the game stops being fun and/or hard, anyway.

But if you do keep the current language, they need to be more clearly differentiated in the ui. Right now it looks and feels like they're using different words for the same thing, and it's confusing.

@PatrikLundell
Copy link
Contributor

Looks like a very ambitious task!

I'd suggest replacing words with numbers with a fairly large range (0-100 or 0-1000), as words are rather fluffy and easily misinterpreted (does "average" mean the mathematical average or "rather average" = fairly crappy? Is fluffy word X better or worse than fluffy word Y?). After all, there would have to be numbers as the basis for the words of it anyway.

Also, it should be made clear where the game's balance point lies, as there is a lot more space for additions above the balance point than below it (if stats are balanced around 38 points, you can't go lower than to 4, but at least up to 80, if 20 is the maximum number, and it seems the balance point for skills is at 0, which is also the minimum).

There's also a need for a clear explanation that the comparison is for a starting character, rather than something reflecting the game difficulty. The last screen shot (at the time of this writing) has a character with a skill of 1 in 3 ranged skills described with offense and defense as "trivial" (based on starting equipment?) which a new player probably would find very misleading.

I agree with @pjf that "genetics" does a poor job of conveying what the category is. I'd suggest something like "properties" (unless the group is split up).

The last sentence of the screen displaying the Legacy Multiple pools start (at the time of this writing) ought to either be split into two sentences or separated into two parts.

Consolidated descriptors, added 1 additional band, Lifestyle

Co-Authored-By: pfj <[email protected]>
Co-Authored-By: Terrorforge <[email protected]>
Co-Authored-By: PatrikLundell <[email protected]>
@Nebnis
Copy link
Contributor

Nebnis commented Mar 31, 2023

If i may throw my own idea. I would name it "Extremely weak, Very weak, weak, average, strong, very strong, extremely strong".

@Fris0uman Fris0uman merged commit 962ffff into CleverRaven:master Apr 4, 2023
Maleclypse pushed a commit to Maleclypse/Cataclysm-DDA that referenced this pull request Apr 6, 2023
* Add difficulty info to character creation screen

* Remove some difficulty impact refs

* Working needs to be refactored

Basic UI Changes and freeform upgrades

* Refactored and working, might need balance

* Added option for debug

* Last few bits of cleanup

* Fixes

* more fixes

* more fixing without compiling

* more cleanup of unused

* FIX CLANG

* spacing

Consolidated descriptors, added 1 additional band, Lifestyle

Co-Authored-By: pfj <[email protected]>
Co-Authored-By: Terrorforge <[email protected]>
Co-Authored-By: PatrikLundell <[email protected]>

---------

Co-authored-by: David Seguin <[email protected]>
Co-authored-by: pfj <[email protected]>
Co-authored-by: Terrorforge <[email protected]>
Co-authored-by: PatrikLundell <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
astyled astyled PR, label is assigned by github actions BasicBuildPassed This PR builds correctly, label assigned by github actions [C++] Changes (can be) made in C++. Previously named `Code` Character / World Generation Issues and enhancements concerning stages of creating a character or a world <Enhancement / Feature> New features, or enhancements on existing json-styled JSON lint passed, label assigned by github actions NPC / Factions NPCs, AI, Speech, Factions, Ownership
Projects
None yet
Development

Successfully merging this pull request may close these issues.

10 participants