Skip to content

New name generator#6761

Draft
xfractalino wants to merge 36 commits intomasterfrom
name-generation-rework
Draft

New name generator#6761
xfractalino wants to merge 36 commits intomasterfrom
name-generation-rework

Conversation

@xfractalino
Copy link
Copy Markdown
Contributor

Brief Description of What This PR Does

This PR includes a new name generator as suggested here.

This new generator uses more complex rules, based on organelles, processes and species characteristics, and yields consistent phonotactics and grammatical gender agreement.

Progress Checklist

Note: before starting this checklist the PR should be marked as non-draft.

  • PR author has checked that this PR works as intended and doesn't
    break existing features:
    https://wiki.revolutionarygamesstudio.com/wiki/Testing_Checklist
    (this is important as to not waste the time of Thrive team
    members reviewing this PR)
  • Initial code review passed (this and further items should not be checked by the PR author)
  • Functionality is confirmed working by another person (see above checklist link)
  • Final code review is passed and code conforms to the
    styleguide.

Before merging all CI jobs should finish on this PR without errors, if
there are automatically detected style issues they should be fixed by
the PR author. Merging must follow our
styleguide.

public Dictionary<string, string> OrganelleMap = null!;

[JsonRequired]
public Dictionary<string, List<string>> Processes = null!;
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it would guard against typos if some of these lists used more types. For example this might work well as Dictionary<Compound, List<string>> that way the JSON would refuse to load if there's a typo in a compound name. And as an added bonus the compounds would get converted to int keys which should be much more efficient to access. Same could be maybe applied to the organelles etc.

Though in some cases due to the complexity of JSON loading, I've needed to split things into two parts: first loading into untyped collection and then in the Resolve method actually looking stuff up. This also keeps the benefits (prevents typos and values that can never happen) but is slightly harder to setup.

"producing": [
"geno",
"creo",
"geno",
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

geno x2

"liking": [
"amans",
"phila",
"phila",
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

phila x2

@xfractalino xfractalino force-pushed the name-generation-rework branch from e325a38 to 432247a Compare February 26, 2026 10:58
@revolutionary-bot
Copy link
Copy Markdown

We are currently in feature freeze until the next release.
If your PR is not just a simple fix, then it may take until the release to get reviewed and merged.

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

Labels

None yet

Projects

Status: In progress

Development

Successfully merging this pull request may close these issues.

5 participants