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

Add warning if attempting to keep world #36107

Merged
merged 3 commits into from
Dec 23, 2019

Conversation

AlexMooney
Copy link
Contributor

@AlexMooney AlexMooney commented Dec 14, 2019

Summary

SUMMARY: Interface "Adds warning when keeping world"

Purpose of change

Keeping a world causes strange behavior related to global variables. The game isn't designed around keeping the world, so anyone who chooses to do so should be made aware of possible bugs.

For instance, #26126 Previous game's NPC followers have "memory" of new player"

Describe the solution

  • Set default world handling from keep to reset
  • Add a warning when mode is set to query and keep is selected

Testing

Screenshot from 2019-12-14 10-11-31

I selected no and was redirected back to the prompt. I selected keep and yes and it continued.

I also verified that the options menu default and ordering is as I expect.

@Night-Pryanik
Copy link
Contributor

I feel this is not a proper fix for the issue. Furthermore, if game indeed isn't suited for multiple runs in the same world, we should probably remove an option to keep worlds after character's death altogether.

@I-am-Erk
Copy link
Member

There's nothing wrong with allowing people to restart in their world if they die in the Evac center, but there is no real fix for players attempting to restart in a world where they've already completed a bunch of npc quests; fixing that would require extensive rewrites of enormous amounts of the game.

src/game.cpp Outdated Show resolved Hide resolved
@AlexMooney
Copy link
Contributor Author

I feel this is not a proper fix for the issue.

You're right that it's not a fix that should close the issue. I've edited the comment to remove the "fixes" part. We may still want the warning until all of the world persistence bugs are squashed.

@I-am-Erk
Copy link
Member

until all of the world persistence bugs are squashed.

This is not a thing that is likely to ever happen, in my opinion. It requires writing an enormous number of variable cases for every npc.

Certainly for the purposes of 0.E blockers, I would say this resolves the bug. Going forward we can think about how we want to handle persistent worlds; personally I think as long as people are aware NPCs might get a little weird, there's no harm in keeping it as a non-default option.

@ZhilkinSerg ZhilkinSerg 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 Info / User Interface Game - player communication, menus, etc. Quality of Life QoL: degree to which players are comfortable, and able to enjoy CDDA labels Dec 16, 2019
@Fris0uman
Copy link
Contributor

Might be good to be more specific about what kind of bug to expect, aside from NPCs remembering you and the cloth of your former character fitting you as well I don't think there many bug induced by keeping the world. This warning seem a bit too scary, as if keeping the world could be game breaking.

@AlexMooney
Copy link
Contributor Author

@Fris0uman I'm happy to change it. Would you provide the alternative copy?

@I-am-Erk
Copy link
Member

"Warning: NPC interactions and some other global flags will not all reset when starting a new character in an already-played world. This can lead to some strange behavior."

@kevingranade
Copy link
Member

Needs an astyle.

@Fris0uman
Copy link
Contributor

What Erk said ^^"

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` Character / World Generation Issues and enhancements concerning stages of creating a character or a world Info / User Interface Game - player communication, menus, etc. Quality of Life QoL: degree to which players are comfortable, and able to enjoy CDDA
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants