store character names in multiple variables and alter character gen to suit #42020
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
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 yourcasual name
instead.formal name
andcasual 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 honorificdr
.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.The text was updated successfully, but these errors were encountered: