Mystaran NPC Generator (BECMI)

Weird red metals, dominions, immortals, hollow planets, invisible moons, and a lot of glorified magic zeppelins. It's all here.
The Book-House: Find Mystara products, Find Known World products.

Moderators: Gawain_VIII, Havard, Seer of Yhog, Cthulhudrew

Re: Mystaran NPC Generator (BECMI)

Postby agathokles » Sun Aug 13, 2017 6:29 am

The file is not moved at all, as you understood. `pwd` is just the command to read the current directory in Linux. mv is to move the file to its final position (it generates it in the working directory). I'll need to add windows specific commands to replace these.

I have uploaded a new version at the usual link, it should solve the issues with running the code on Windows. Please, let me know if it works!

I have also added a link to your installation guide in the first post. Thanks for writing it!

GP
agathokles
Red Dragon
 
Posts: 6557
Joined: Sat May 24, 2008 6:42 pm
Location: Milan, Italy

Re: Mystaran NPC Generator (BECMI)

Postby aklanda » Sun Aug 13, 2017 2:07 pm

agathokles wrote: mv is to move the file to its final position (it generates it in the working directory). I'll need to add windows specific commands to replace these.


Thats exactly what I meant, but my English is probably not good enough to express it well.

Tested the new version and it works well! Just created 100 characters from Karameikos from level 1 to level 6. And the output really looks great! You made the right decision to trust on LATEX! I'd wish my favorite programming-language (xojo) would allow me to use it without spending about 1000 Dollars for this option.

I get (minor) error messages, which don't seem window specific, like
"failed to load nickname Traladaran" and
"AttributeError: 'str' object has no attribute 'startwith'"

but they don't crash the programm and in my point of view all is well.

A question to the "-o"-parameter:
Am I to give the path as absolute path or as relative path to genpdf.py?
Cause
"genpdf.py -n 100 -m 1 -t 6 -r Karameikos -o 'karameikos.pdf'"
still does create a pdf-file named "npc.pdf", but no pdf-file named "karameikos.pdf".


I had a glimpse at the code (though I am not a professional programmer). To tell the truth I was wondering why you didn`t seperate data from code. But as I went through it I understood, that all the seperate rules for character-creation (for example the dependence of height from region) makes it difficult to do so.

Anyway, it's excellent work and I will surely use some of the generated characters when I play my next round of D&D.
Place hundreds of orcs against a company of elves: Aklandas Large Battle Simulator
User avatar
aklanda
Gnoll
 
Posts: 118
Joined: Sat Apr 22, 2017 2:38 pm
Location: Europe

Re: Mystaran NPC Generator (BECMI)

Postby agathokles » Sun Aug 13, 2017 3:53 pm

Thanks for the praise :-)

"failed to load nickname Traladaran" is expected: I haven't implemented a specific nicknames set for Traladarans.

The other message is an error. I'll need to check it. It may be the cause of the problem with -o you got.

As to the separation of data and code, well, it is a problem of lack of design... I didn't start with the goal to cover all this ground, so at the time, it was easier to just put everything together. On the other hand, in some point having code with the data helps (e.g., I can duplicate easily data sections by copying them).
I've moved a lot of data stuff into config.py, but full separation at the moment is not so easy. I could move a lot of stuff out of the Python code and into JSON data files, though, but then the difference between a JSON data structure and a Python dictionary is so small that it is not really worth the effort, IMO.
Also, as you note a lot of data is rich in dependences.

BTW, I've implemented gender specific height and weight. It is available in the online generator, but not in the code (it's in my git repository, but not yet on google drive).

GP
Last edited by agathokles on Sun Aug 13, 2017 9:20 pm, edited 1 time in total.
agathokles
Red Dragon
 
Posts: 6557
Joined: Sat May 24, 2008 6:42 pm
Location: Milan, Italy

Re: Mystaran NPC Generator (BECMI)

Postby aklanda » Sun Aug 13, 2017 4:16 pm

agathokles wrote:Thanks for the praise :-)


Honor to whom honor is due.

agathokles wrote:As to the separation of data and code, well, it is a problem of lack of design... I didn't start with the goal to cover all this ground, so at the time, it was easier to just put everything together.


I know this problem too well!

agathokles wrote:I could move a lot of stuff out of the Python code and into JSON data files, though, but then the difference between a JSON data structure and a Python dictionary is so small that it is not really worth the effort, IMO.


I agree!
Place hundreds of orcs against a company of elves: Aklandas Large Battle Simulator
User avatar
aklanda
Gnoll
 
Posts: 118
Joined: Sat Apr 22, 2017 2:38 pm
Location: Europe

Re: Mystaran NPC Generator (BECMI)

Postby aklanda » Sun Aug 13, 2017 4:50 pm

agathokles wrote:The other message is an error. I'll need to check it. It may be the cause of the problem with -o you got.


But is the parameter after "-o" meant as absolute path or as relative path to the main-script? (I insist ;) )
Place hundreds of orcs against a company of elves: Aklandas Large Battle Simulator
User avatar
aklanda
Gnoll
 
Posts: 118
Joined: Sat Apr 22, 2017 2:38 pm
Location: Europe

Re: Mystaran NPC Generator (BECMI)

Postby agathokles » Sun Aug 13, 2017 6:09 pm

Could be either. I generally use it as relative, but absolute should work as well.
G
agathokles
Red Dragon
 
Posts: 6557
Joined: Sat May 24, 2008 6:42 pm
Location: Milan, Italy

Re: Mystaran NPC Generator (BECMI)

Postby agathokles » Sun Aug 13, 2017 7:04 pm

"startwith" should have been "startswith". That's why it still doesn't recognize Windows... I'll upload the fix with the next release.

GP
agathokles
Red Dragon
 
Posts: 6557
Joined: Sat May 24, 2008 6:42 pm
Location: Milan, Italy

Re: Mystaran NPC Generator (BECMI)

Postby agathokles » Sun Aug 13, 2017 9:18 pm

Windows bug fixed -- let me know if it works now.

Also, I've added Hule.

GP
agathokles
Red Dragon
 
Posts: 6557
Joined: Sat May 24, 2008 6:42 pm
Location: Milan, Italy

Re: Mystaran NPC Generator (BECMI)

Postby agathokles » Sun Aug 13, 2017 9:32 pm

Updated todo list:

Well, actually at this point almost all of this stuff is done. Remaining open issues:
  • Regions to add: Alfheim, Shadow Elf Territories, possibly Sind, Minrothad and Ierendi.
  • Name generators: Robrenn (currently using the Dunael one, but Robrenn names are out of Asterix's Gaul, not Scotland), Cimarron, Simbasta, Ierendi, Minrothad, Glantrian Ethengarians, Sindhi.
  • Weapons from the Mystaran Armory
  • Races to add: Gnome, Aranea, possibly others (from PC or Savage Coast)
  • Classes to add: Atruaghin Shamani, Norse Wise Woman, Elf Druid, Elf Cleric, Shadow Elf Shaman, Elf Treekeeper, Elf Wizard
  • Special or additional classes to add: Secret Crafts, Elf Paladins/Druidic Knights, Darokin Merchant, Minrothad Sea Prince

GP
agathokles
Red Dragon
 
Posts: 6557
Joined: Sat May 24, 2008 6:42 pm
Location: Milan, Italy

Re: Mystaran NPC Generator (BECMI)

Postby agathokles » Mon Aug 14, 2017 7:45 am

Added Alfheim as a region! Ierendi might be coming next.

GP
agathokles
Red Dragon
 
Posts: 6557
Joined: Sat May 24, 2008 6:42 pm
Location: Milan, Italy

Re: Mystaran NPC Generator (BECMI)

Postby Korro Zal » Tue Aug 15, 2017 7:42 am

Would love to see Minrothad as a region with Merchant Princes. Since their mages are supposed to focus on air and water magic, perhaps the Marine magic tradition from Tome of the Magic of Mystara (Volume 1, page 21) would be appropriate?
Korro Zal
Orc
 
Posts: 35
Joined: Fri Feb 06, 2015 5:11 am
Location: Japan

Re: Mystaran NPC Generator (BECMI)

Postby agathokles » Tue Aug 15, 2017 7:58 am

Korro Zal wrote:Would love to see Minrothad as a region with Merchant Princes. Since their mages are supposed to focus on air and water magic, perhaps the Marine magic tradition from Tome of the Magic of Mystara (Volume 1, page 21) would be appropriate?


Indeed. The option to add the traditions from Tome of the Magic of Mystara is in place. However, transcribing them is a lot of work :shock:

Regarding the Merchant Princes, I need to check the rules. Implementing new classes is not terribly difficult, but there is currently no support for multi-classes, so that needs to be added.

For now, I'm working on Ierendi (much easier), while I think on how to implement multi-classes -- I need a solution that, in time, will be used for Secret Crafts, Witch Doctors and Shamans as well.

GP
agathokles
Red Dragon
 
Posts: 6557
Joined: Sat May 24, 2008 6:42 pm
Location: Milan, Italy

Re: Mystaran NPC Generator (BECMI)

Postby agathokles » Tue Aug 15, 2017 3:41 pm

Ierendi is up on the online generator (however, it does not generate Makai NPCs, only immigrants).

agathokles wrote:Updated todo list:

Well, actually at this point almost all of this stuff is done. Remaining open issues:
  • Regions to add: Alfheim, Shadow Elf Territories, possibly Sind, Minrothad and Ierendi.
  • Name generators: Robrenn (currently using the Dunael one, but Robrenn names are out of Asterix's Gaul, not Scotland), Cimarron, Simbasta, Ierendi, Minrothad, Glantrian Ethengarians, Sindhi.
  • Weapons from the Mystaran Armory
  • Races to add: Gnome, Aranea, possibly others (from PC or Savage Coast)
  • Classes to add: Atruaghin Shamani, Norse Wise Woman, Elf Druid, Elf Cleric, Shadow Elf Shaman, Elf Treekeeper, Elf Wizard
  • Special or additional classes to add: Secret Crafts, Elf Paladins/Druidic Knights, Darokin Merchant, Minrothad Sea Prince

GP


P.S.: The Makai name generator has been added, Ierendi is mostly complete, though some fine tuning may be needed.
agathokles
Red Dragon
 
Posts: 6557
Joined: Sat May 24, 2008 6:42 pm
Location: Milan, Italy

Re: Mystaran NPC Generator (BECMI)

Postby Havard » Wed Aug 16, 2017 3:25 pm

Very cool!

I got a couple of odd names:

r Adam McIntyre
m Neutral Klantyrian Fighter 35 , follower of Philosophy of Neutrality


S Publiela Livia
f Lawful Mongrel Lupin Fighter 10 , follower of Philosophy of Law


Are these single letters before the name a glitch or a title or name convention I have missed?

-Havard

The Comeback Inn - My Blackmoor Forum
The Blackmoor Blog
My Articles at the Vaults of Pandius
Moderator of the Mystara, Blackmoor and Thunder Rift forums.
My moderator voice is
GREEN.
User avatar
Havard
Dragon Turtle
 
Posts: 17091
Joined: Thu May 22, 2008 7:32 pm
Location: Norway

Re: Mystaran NPC Generator (BECMI)

Postby agathokles » Wed Aug 16, 2017 5:39 pm

It's a glitch, only in the HTML version AFAIK. I haven't found the reason yet (not that I've investigated that deeply...).

GP
agathokles
Red Dragon
 
Posts: 6557
Joined: Sat May 24, 2008 6:42 pm
Location: Milan, Italy

Re: Mystaran NPC Generator (BECMI)

Postby Havard » Wed Aug 16, 2017 9:51 pm

agathokles wrote:It's a glitch, only in the HTML version AFAIK. I haven't found the reason yet (not that I've investigated that deeply...).


Ah okay. It is easy enough to ignore. Just making sure this wasn't some intentional thing that I didn't get :)

-Havard

The Comeback Inn - My Blackmoor Forum
The Blackmoor Blog
My Articles at the Vaults of Pandius
Moderator of the Mystara, Blackmoor and Thunder Rift forums.
My moderator voice is
GREEN.
User avatar
Havard
Dragon Turtle
 
Posts: 17091
Joined: Thu May 22, 2008 7:32 pm
Location: Norway

Re: Mystaran NPC Generator (BECMI)

Postby agathokles » Thu Aug 17, 2017 4:45 pm

New release: Atruaghin is now fully covered as a new region, with the Atruaghin Shamani class and the appropriate name generator.

GP
agathokles
Red Dragon
 
Posts: 6557
Joined: Sat May 24, 2008 6:42 pm
Location: Milan, Italy

Re: Mystaran NPC Generator (BECMI)

Postby agathokles » Thu Aug 17, 2017 4:50 pm

Updated todo list:
  • Regions to add: Shadow Elf Territories, possibly Sind, Minrothad.
  • Name generators: Robrenn, Cimarron, Simbasta, Ierendi, Minrothad, Glantrian Ethengarians, Sindhi.
  • Weapons from the Mystaran Armory
  • Races to add: Gnome, Aranea, possibly others (from PC or Savage Coast)
  • Classes to add: Atruaghin Shamani, Norse Wise Woman, Elf Druid, Elf Cleric, Shadow Elf Shaman, Elf Treekeeper, Elf Wizard
  • Special or additional classes to add: Secret Crafts, Elf Paladins/Druidic Knights, Darokin Merchant, Minrothad Sea Prince
agathokles
Red Dragon
 
Posts: 6557
Joined: Sat May 24, 2008 6:42 pm
Location: Milan, Italy

Re: Mystaran NPC Generator (BECMI)

Postby Chimpman » Thu Aug 17, 2017 11:43 pm

Thanks to aklanda I was able to get everything to run properly last night. I was doing something that I thought was smart (but was actually stupid) - I had a bat file set up to run the app, but it was running from outside of the becmi_gen directory... and the MikTek version of Laytex had to download some additional plugins, but because of they way I set it up, it wasn't doing that. Anyway long story short, once MikTek updated everything worked fine.

@Agathokles
I've got a question relating to dwarves (but it could be relevant to Ethengarians, Atraughins, and others). Have you thought about how to implement Clan affiliation? I've seen some "of Clan X" on some NPCs (Ethengarians I think), but that seems to be part of their name rather than an attribute. I suppose it wouldn't be hard to include the clan choices as part of the name generator, but was just wondering if you had other plans for that.

I'm going to attempt to get some BC2300 dwarves generated tonight. I'll let you know how it goes.
Visit the Exiles Campaign Setting (a Mystara / Spelljammer crossover)
Visit Mystara 2300 BC

Moderator of The Tabard Inn and Blackmoor. My moderator voice is purple.
User avatar
Chimpman
Hadozee
 
Posts: 7526
Joined: Thu May 22, 2008 6:52 pm
Location: USA, California

Re: Mystaran NPC Generator (BECMI)

Postby agathokles » Fri Aug 18, 2017 8:43 am

Excellent! BTW, does the Gooey GUI work in Windows?

Regarding dwarven clans, there are two possible approaches:
- Adding clan names to the name generator (very easy but only adds random clan names; this is the approach used for Rakasta and Ethengarians)
- Creating different "origins" for each clan (allows to customise more, as "origin" is then used to drive the selection of many aspects of the NPC; however, at the moment it is not used for skill selection -- at some point I'll need to rework the skill selector to take into account origins...)

For BC2300, I suggest creating a new region ("Shimmering Lands") and new origins as needed (a minimum of one is certainly necessary).
agathokles
Red Dragon
 
Posts: 6557
Joined: Sat May 24, 2008 6:42 pm
Location: Milan, Italy

Re: Mystaran NPC Generator (BECMI)

Postby Chimpman » Fri Aug 18, 2017 5:06 pm

agathokles wrote:Excellent! BTW, does the Gooey GUI work in Windows?

So far I've just been running command line, but I'll give the GUI a try tonight and see what happens.

agathokles wrote:Regarding dwarven clans, there are two possible approaches:
- Adding clan names to the name generator (very easy but only adds random clan names; this is the approach used for Rakasta and Ethengarians)
- Creating different "origins" for each clan (allows to customise more, as "origin" is then used to drive the selection of many aspects of the NPC; however, at the moment it is not used for skill selection -- at some point I'll need to rework the skill selector to take into account origins...)

Ahh... this is cool. I'll check out origins next and see what I can do with them. I like the idea of setting an origin that can then be used during other/multiple aspects of character generation.

agathokles wrote:For BC2300, I suggest creating a new region ("Shimmering Lands") and new origins as needed (a minimum of one is certainly necessary).

I started working on BC 2300 last night and did get as far as creating a new region for the "Shimmering Lands". Right now though, the Shimmering Lands is populated by a bunch of Rockhome dwarves ;). Then I got sidetracked into looking at the dwarf name generator for a bit (which I modified and uploaded to source control). I implemented a little bit more variety into the name generator based on info from Gaz 6. Now we can have dwarf names like:
Borin son of Dorin
Bifia daughter of Flori

I also added last name suffix choices to replace the hard coded "warf" (which is still one of the choices). Additional suffix choices came from the dwarven language in Gaz 6. This allows for names like:
Dori Nordshyld
Thordin Borrast

I think the dwarven names can be further refined and I have a few more ideas I want to try out tonight.

See how easy it was to get sidetracked... Anyway, back to BC 2300 dwarves.
I wanted to see if you had suggestions for how to implement the ancient dwarves, since they end up being very different from their modern counterparts. Some examples:
- Shimmering Lands dwarves are predominantly Chaotic (rather than Lawful)
- I think they should have Int as their prerequisite ability
- There will be dwarven Wizards (this I think I can implement by making a new class - "Dwarf Wizard", in the same lines as Dwarf Cleric)
- Different religions and immortals (I did add new entries in the immortals.py file, but the app still seems to be pulling from the Rockhome region and not the Shimmering Lands region.

One thought I had was that I might have to implement a new race (BC_Dwarf or some such), but I'm wondering if you have other ideas for me. Could the origins you mention above help solve this issue?

Another thing I noticed while generating NPCs is that the mounts are included in the equipment tables. This might be something I would want to look at changing, both for the modern era and the BC 2300 era. Dwarves and hin riding war horses just seems wrong. It might be cool if we could come up with different mount sets to be used in specific situations. Just some thoughts. It's been a bit slow going getting into the code, but I'm steadily understanding more and more of it.
Visit the Exiles Campaign Setting (a Mystara / Spelljammer crossover)
Visit Mystara 2300 BC

Moderator of The Tabard Inn and Blackmoor. My moderator voice is purple.
User avatar
Chimpman
Hadozee
 
Posts: 7526
Joined: Thu May 22, 2008 6:52 pm
Location: USA, California

Re: Mystaran NPC Generator (BECMI)

Postby agathokles » Fri Aug 18, 2017 5:27 pm

Ok. Note that "warf" merely means "son of", so all the names generated in my version are of the type "Name son of name". I didn't include family and clan names, which is what you are adding. To get a full name, one would generate e.g., Thordin Dorinwarf Borrast of clan Everast.

Regarding equipment, I agree that the current version is a bit weak. In particular, it is only dependent on the character class. One could pass also the region and origin to get a better fitting equipment.

Regarding the implementation of Shimmering Lands dwarves, I suggest to create a new origin, "Shimmering Lander" or something like that, which would have a different alignment pattern and class selection w.r.t. the Denwarf origin.
Regarding religion, the implementation is quite more complex, as the available immortals/religions are based on the intersection of region and origin. If you are relying on the Denwarf/Dwarf baseline origin, then your region choice will be basically ignored.

GP
agathokles
Red Dragon
 
Posts: 6557
Joined: Sat May 24, 2008 6:42 pm
Location: Milan, Italy

Re: Mystaran NPC Generator (BECMI)

Postby agathokles » Fri Aug 18, 2017 5:29 pm

BTW, did you push your modifications? I don't see the commit on bitbucket. I'll have a look as soon as I can see your code.

GP
agathokles
Red Dragon
 
Posts: 6557
Joined: Sat May 24, 2008 6:42 pm
Location: Milan, Italy

Re: Mystaran NPC Generator (BECMI)

Postby Chimpman » Fri Aug 18, 2017 5:36 pm

agathokles wrote:BTW, did you push your modifications? I don't see the commit on bitbucket. I'll have a look as soon as I can see your code.

Huh, I thought I did a commit using SourceTree last night, but I don't see it on bitbucket either. I'll figure it out tonight once I get home.
Visit the Exiles Campaign Setting (a Mystara / Spelljammer crossover)
Visit Mystara 2300 BC

Moderator of The Tabard Inn and Blackmoor. My moderator voice is purple.
User avatar
Chimpman
Hadozee
 
Posts: 7526
Joined: Thu May 22, 2008 6:52 pm
Location: USA, California

Re: Mystaran NPC Generator (BECMI)

Postby Chimpman » Fri Aug 18, 2017 5:53 pm

agathokles wrote:Ok. Note that "warf" merely means "son of", so all the names generated in my version are of the type "Name son of name". I didn't include family and clan names, which is what you are adding. To get a full name, one would generate e.g., Thordin Dorinwarf Borrast of clan Everast.

Ahhh... Ok, I was confused on this part. I thought you were generating the family name, but it makes sense now. I'll clean this up a bit more tonight before checking it back in.

agathokles wrote:Regarding equipment, I agree that the current version is a bit weak. In particular, it is only dependent on the character class. One could pass also the region and origin to get a better fitting equipment.

Yes, I like that idea. I'll keep it in the back of my head as I start to get more comfortable with the code.

One thing I noticed (perhaps related)... with regard to the name generators is that most of the "human cultures" use their culture name as the name generator file, however demi-humans use their racial name as the name generator file (Alphatian vs Dwarf for example). This was a bit confusing for me. I did notice in the ethnic_by_region tags in the config.cy file. Does this have any relation to the name generator - for example in the Savage Coast region there are Montoya dwarves. Do they use the same name generator as Rockhome dwarves, or do they use something different?

agathokles wrote:Regarding the implementation of Shimmering Lands dwarves, I suggest to create a new origin, "Shimmering Lander" or something like that, which would have a different alignment pattern and class selection w.r.t. the Denwarf origin.
Regarding religion, the implementation is quite more complex, as the available immortals/religions are based on the intersection of region and origin. If you are relying on the Denwarf/Dwarf baseline origin, then your region choice will be basically ignored.

I'll try that out, thanks!
Visit the Exiles Campaign Setting (a Mystara / Spelljammer crossover)
Visit Mystara 2300 BC

Moderator of The Tabard Inn and Blackmoor. My moderator voice is purple.
User avatar
Chimpman
Hadozee
 
Posts: 7526
Joined: Thu May 22, 2008 6:52 pm
Location: USA, California

PreviousNext

Return to Mystara

Who is online

Users browsing this forum: No registered users and 7 guests