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

Updates Morale Menu for clarity #31164

Merged
merged 9 commits into from
Jun 13, 2019
Merged

Updates Morale Menu for clarity #31164

merged 9 commits into from
Jun 13, 2019

Conversation

AndrewMcKinney
Copy link
Contributor

SUMMARY: interface "updates the morale menu"

fixes #30612

Describe the solution

best_morale_menu
morale menu now is above.
total positive and total negative sums are shown along with the morale points and this percent contribution to that sum

Describe alternatives you've considered

I considered showing almost all the values involved with the calculation (values, values^2, sum of values^2) but this made the interface far too cluttered.

Additional context

I also tried to structure the code such that player_morale::display() will not have to be updated in the future as long as:
player_morale::get_total_negative_value,
player_morale::get_total_positive_value,
player_morale::getLevel,
player_morale::calculate_percentage
are all updated. These are far smaller functions with simple code, much preferable to having to deal with editing player_morale::display() again

@KorGgenT KorGgenT added [C++] Changes (can be) made in C++. Previously named `Code` Info / User Interface Game - player communication, menus, etc. labels Jun 6, 2019
@AMurkin
Copy link
Contributor

AMurkin commented Jun 6, 2019

You need to astyle your changes.

@Night-Pryanik
Copy link
Contributor

  1. While you're here, could you please rename Total morale gain to Total morale change, as "gain" and negative values don't sound good together? Or maybe change text to Total morale loss if numbers are negative?
  2. Showing percents instead of plain values is much more confusing in my opinion. I believe most players would hate to calculate things like "how much is 21.61% out of 64?" Either add exact number next to the percents or remove percents altogether and replace them with exact numbers, like it was before.

@AndrewMcKinney
Copy link
Contributor Author

AndrewMcKinney commented Jun 6, 2019

@Night-Pryanik I'll fix point 1. when I get a chance

But I disagree with point 2.; due to the new morale calculation the exact values would change every time a new morale point is added.

Say I eat mushrooms for a +1 morale gain. An exact number would show

Total positive morale: +1
enjoyed mushrooms: +1

Now I shoot up heroin

Total positive morale: +50
heroin: +50
enjoyed mushrooms :  +.01 (if it even shows up)

players will wonder "why did my mushrooms drop in enjoyment".

@Night-Pryanik
Copy link
Contributor

players will wonder "why did my mushrooms drop in enjoyment".

And they are damn right if asking such a question! The morale system must be as clear as possible. Its complexity is not the reason to hide exact numbers behind hard-to-calculate percentage.

@ifreund
Copy link
Contributor

ifreund commented Jun 6, 2019

I'd be in favor of hiding both the percentage and exact numbers behind a

  • Despaired
  • Depressed
  • Sad
  • Annoyed
  • Neutral
  • Pleased
  • Happy
  • Elated
  • Ecstatic

scale (or some variant thereof)

@AndrewMcKinney
Copy link
Contributor Author

@Night-Pryanik
Its complexity is the reason to hide the exact values from the players. The exact values are useless and change greatly based on context. they are worthless at best and misleading at worse.

Players also do not need to calculate 21.32% of 43. I know 65% of 43 > 21% of 43 which is enough to tell a player what he should be worrying about.

@ifreund perhaps in another PR

astyling should be fixed.

@Night-Pryanik
Copy link
Contributor

The exact values are useless and change greatly based on context. they are worthless at best and misleading at worse.

Using your logic, percentage presentation is useless too. What's the point of knowing that A is better than B, i.e. "65% of 43 > 21% of 43"? We might as well just leave the list of things affecting morale, without any numbers.

@AndrewMcKinney
Copy link
Contributor Author

@Night-Pryanik
Because the player will know what to value/avoid in the future. Exact values add nothing to this.

@Night-Pryanik
Copy link
Contributor

Because the player will know what to value/avoid in the future.

Player already knows this because exact values are shown in the item inspection menu.

@AndrewMcKinney
Copy link
Contributor Author

While that may be true in a linear relationship, these variables are a sum of squares meaning that an exact value of 50 is actually 2500 and a value of 2 is actually 4.

I don't expect anyone can tell me the relative weight between a value of 30 and a value of 36 so percentages are shown, since that does tell your the relative weight at a glance.

@Night-Pryanik
Copy link
Contributor

Well, I said my opinion. I still think it's more confusing than plain numbers, but maybe it's only a matter of habit, and maybe it's only me. Let's hear what others say.

@ZhilkinSerg
Copy link
Contributor

Can you make morale menu style configurable via options and leave both styles?

@kevingranade
Copy link
Member

The current state is actively misleading, and exposing intermediate state of the calculations is beyond confusing and bad practice besides. I did think of an alternative, what if we just sort by impact instead of exposing a number at all?

@Meuka
Copy link

Meuka commented Jun 8, 2019

what if we just sort by impact instead of exposing a number at all?

This could be a good idea.

Maybe have the morale gains be a darker shade of green the better they are and the losses be a darker shade of red the worse they are to really drive home that they're sorted by the impact they're having while leaving out the actual numbers.

@AndrewMcKinney
Copy link
Contributor Author

Is showing percentages not showing impact?

@AndrewMcKinney
Copy link
Contributor Author

This is all good to merge if discussion is finished.

@kevingranade kevingranade merged commit c5e5e1b into CleverRaven:master Jun 13, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[C++] Changes (can be) made in C++. Previously named `Code` Info / User Interface Game - player communication, menus, etc.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Morale menu feedback is unclear and potentially misleading
9 participants