initiative-sh / initiative.sh

A web-based command line for game masters
https://initiative.sh/
GNU General Public License v3.0
43 stars 4 forks source link

Implement place name generators #293

Open MikkelPaulson opened 1 year ago

MikkelPaulson commented 1 year ago

Most Places still lack name generators, so the only way to create a blacksmith (for instance) is blacksmith named Blah. The only Place that currently has a generator is the Inn.

Existing implementation example: core/src/world/place/building/business/inn.rs All recognized Places can be found in submodules of core/src/world/place

This is a tracking issue for the rather extensive list of Place types, which I won't attempt to exhaustively list here at this point. Individual issues should be created to track work done on name generators for a particular subtype.

alfonsomartinezs commented 1 year ago

I'd like to work on the shrine place generator

edit: I'd like to work on many of the generators, but I figured I'd start with this one since It'd be my introduction to rust

MikkelPaulson commented 1 year ago

@alfonsomartinezs Sure thing! If you want a guide, you can find the sole existing generator at core/src/world/place/building/business/inn.rs, although it's pretty rudimentary (not much more sophisticated than the d20 table in the DM's Guide).

There exists a description field, but it isn't yet used for anything. Generating descriptions for NPCs and Places is somewhere on my roadmap.

I've updated the ticket with a list of all entities and created a ticket for the Shrine. Please let me know if you have any questions.

MikkelPaulson commented 1 year ago

Spitballing re: #298:

Even with two generators roughed in, there's starting to be some overlap in vocabulary (right now, animals and I guess technically numbers). I'd like to start bubbling that overlap up, so that ideally each subsequent generator will require less and less brainstorming.

The other long-term goal I have for the place generators is for them to have alignments and wealth commensurate with the location where they are found, so in Evilton you're more likely to have a pub called The Hanged Man while in Richvale you'll encounter The Gilded Lily. Which will ultimately imply an architecture where the vocabulary generators are aware of the Demographics, and where each term has a good/evil/rich/poor weight associated with it. That seems like fodder for a future refactor rather than a premature optimization for today, however.

ChrisRenfrow commented 1 year ago

Hey there, I think I'd like to try my hand at adding some generators for Location -> Geography.

Spitballing re: #298:

Even with two generators roughed in, there's starting to be some overlap in vocabulary (right now, animals and I guess technically numbers). I'd like to start bubbling that overlap up, so that ideally each subsequent generator will require less and less brainstorming.

Perhaps a very simple way to start with this might be to simply add shared constants for things like enemy and animal to DRY things up until a clear pattern emerges.

azylko commented 6 months ago

Hey, I am interested in working on a name generator (I am thinking theatre) as a way to start learning Rust!

MikkelPaulson commented 6 months ago

@azylko Sure thing! Take a look at some of the completed tasks in the list to get a sense of how the generators are set up, and don't hesitate to @ me if you have any questions.

332

ThinkerDreamer commented 1 week ago

I would like to make a first version of a Blacksmith name generator. Since today is a holiday here, and I don't know how much more time I'll have for this besides today, I'll go ahead and get started.