Skip to content

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

Open
@I-am-Erk

Description

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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Assignees

No one assigned

    Labels

    (P4 - Low)Low priority issues: things which are e.g exotic, minor and/or hard to encounterCharacter / World GenerationIssues and enhancements concerning stages of creating a character or a worldMechanics: Character / PlayerCharacter / Player mechanicsNPC / FactionsNPCs, AI, Speech, Factions, Ownership[C++]Changes (can be) made in C++. Previously named `Code`

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions