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

store character names in multiple variables and alter character gen to suit #42020

Open
I-am-Erk opened this issue Jul 10, 2020 · 1 comment
Open
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 Mechanics: Character / Player Character / Player mechanics NPC / Factions NPCs, AI, Speech, Factions, Ownership (P4 - Low) Low priority issues: things which are e.g exotic, minor and/or hard to encounter

Comments

@I-am-Erk
Copy link
Member

I-am-Erk commented Jul 10, 2020

Is your feature request related to a problem? Please describe.

We currently store a character's name as a single string. This makes it difficult to have NPCs refer to people as other than their full name, and even more difficult to have any system that makes NPCs refer to names parseable in other languages.

Describe the solution you'd like

In character generation, allow specification of "casual name", "nickname", "formal name", and "full name" in separate fields. Require only that at least one field be filled out. Store each entry to these names, and when a character's name is displayed, concatenate them together to mimic the current name system.

  • full name: this is the current name field. It can be manually altered and appears primarily in your @ menu.
  • nickname: this is what your NPC companions call you. If left blank, they use your casual name instead.
  • formal name and casual name: mostly used by friendly non-companion npcs.

In dialogue, allow specification of <u_full_name>, <u_nickname>, <u_casual_name>, and <u_formal_name>. For example if a character is named "Nick 'Brick' Kurusawa", we'd see the following:

  • "Hi <u_full_name>": "Hi, Nick 'Brick' Kurusawa"
  • "Hi <u_nickname>": "Hi, Brick"
  • "Hi <u_casual_name>": "Hi, Nick"
  • "Hi <u_formal_name>": "Hi, Dr. Kurusawa"
    In this case, note that this character's formal name includes the honorific dr.

Since names can now be edited at will in the @ menu, we no longer need to worry about translation. If you switch language, it's up to you to fix the presentation of your name components.

By default, we'd populate the full name field as we currently do, and I think we'd just leave it to the player to choose to populate the subfields. If left blank, all the NPCs would default to the full name until the player rectifies this. At a later date, we could build a smarter name construction system that puts the components together on its own.

considerations for the future

It'd be great if you could choose how you introduce yourself to an NPC, and have them remember and reuse that introduction. In general it would be nice to have a semi-hard-coded "first time you meet NPC" talk_topic option that included that and other stuff.

@I-am-Erk I-am-Erk added NPC / Factions NPCs, AI, Speech, Factions, Ownership [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 Mechanics: Character / Player Character / Player mechanics labels Jul 10, 2020
@stale
Copy link

stale bot commented Aug 9, 2020

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. Please do not 'bump' or comment on this issue unless you are actively working on it. Stale issues, and stale issues that are closed are still considered.

@stale stale bot added the stale Closed for lack of activity, but still valid. label Aug 9, 2020
@I-am-Erk I-am-Erk added the (P4 - Low) Low priority issues: things which are e.g exotic, minor and/or hard to encounter label Aug 9, 2020
@stale stale bot removed the stale Closed for lack of activity, but still valid. label Aug 9, 2020
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 Mechanics: Character / Player Character / Player mechanics NPC / Factions NPCs, AI, Speech, Factions, Ownership (P4 - Low) Low priority issues: things which are e.g exotic, minor and/or hard to encounter
Projects
None yet
Development

No branches or pull requests

1 participant