Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  

Poll

What would you like me to do after this next round of bugfixing on RandCreatures?

Extract even MORE data - I want to customize what I get.
- 50 (24.3%)
Megabeasts and semimegabeasts need more work.
- 15 (7.3%)
Why no vermin? I want to annoy the heck out of myself.
- 10 (4.9%)
Nothing swims underwater?! How could you? I want aquatic life.
- 60 (29.1%)
Let's have (rare) random creatures that breathe fire and/or poison you to death.
- 34 (16.5%)
Forget RandCreatures; work on LangCreate.
- 17 (8.3%)
Zombie's Toothbrush.
- 6 (2.9%)
Make birds more birdlike.
- 12 (5.8%)
I want something else, but I'll suggest it in-thread.
- 2 (1%)

Total Members Voted: 205


Pages: 1 [2] 3 4 ... 17

Author Topic: LangCreate (v34 and v40) and RandCreatures (v34, being rewritten)  (Read 84324 times)

Tsuchigumo550

  • Bay Watcher
  • Mad Artificer
    • View Profile
Re: Creature, Civ, and Language Generator (Now with links)
« Reply #15 on: November 27, 2012, 09:25:06 pm »

I ran a test with my always-wanted-to-mod-in-but-no-time-too-lazy-and-a-noob-at-raw-mods race of fox people:
Spoiler: Hali Language (Run 1) (click to show/hide)

For the base words I used Spanish numbers and made-up suffixes, changing bits around to fit sometimes, and then added other "base words" for things I'd envisioned for the speaking. Words with an x in them were meant to have negative connotation, and hi, ha, and ho being common syllables. It should be missing a few letters (mostly uncommon ones, but there are some like G if I'm not mistaken.)

Running other tests would be nice. Might do some more tonight, but this will likely be my only post.

tl:dr- your first program is fantastic, and I haven't ran the 2nd one yet.
Logged
There are words that make the booze plant possible. Just not those words.
Alright you two. Attempt to murder each other. Last one standing gets to participate in the next test.
DIRK: Pelvic thrusts will be my exclamation points.

melomel

  • Bay Watcher
    • View Profile
Re: Creature, Civ, and Language Generator
« Reply #16 on: November 28, 2012, 09:51:50 am »

Not to nit pick but shouldn't this be in the modding section?

If it'd been in the modding section, I never would've seen it!


The second program I will probably never touch (as I stripped out all the new animals/giant animals/animal men in a fit of horrified pique after my first fort was besieged by worthless giant thrips) but the language creator?  Oh, yesss.
Logged
I HAVE THREE HUNDRED THOUSAND CRAFT ITEMS. I WILL TRADE THEM ALL FOR CHEESE.
7+7

Black_Legion

  • Bay Watcher
    • View Profile
Re: Creature, Civ, and Language Generator (Now with links)
« Reply #17 on: November 28, 2012, 10:16:25 pm »

Love the creature generator, got a few good ones that seem like perfect things to throw against my hapless fortresses.

If you don't mind me asking how did you get it to generate the creatures? In one of the resource libraries do you have a dictionary of body, material, and body-template tokens along with a general creature template?

I've always wanted to try writing a creature generator but one of the best ways that came to me was copying each tag into a dictionary or other list schema and then jumbling them up together that way. That doesn't seem the most productive or best way to do so. Don't even have a clue as to how I would create rules to get something intelligible or raw worthy. Do you have any pointers or suggestions I might be able to use? I don't want the source code but I'd like an idea of a possible pseudo-implementation I could start with, I'll struggle with it from there.

Again, great tools that will be fun to play around with for some time.
Logged

Eric Blank

  • Bay Watcher
  • *Remain calm*
    • View Profile
Re: Creature, Civ, and Language Generator (Now with links)
« Reply #18 on: November 29, 2012, 04:40:29 am »

Man, I was really rooting for Girlinhat when she was actually talking about making that program; seemed bloody awesome at the time, and it still does now that you've actually done it. I'll probably use this at some point, maybe just because I like ‼surprises‼ in games.

Is your DFlang system an update to the older DFlang still available on the DFFD? I haven't had any real issues with the older one, so I'll wait and see how much more advanced yours can get beyond generating off much shorter strings.
Logged
I make Spellcrafts!
I have no idea where anything is. I have no idea what anything does. This is not merely a madhouse designed by a madman, but a madhouse designed by many madmen, each with an intense hatred for the previous madman's unique flavour of madness.

Talvieno

  • Bay Watcher
  • Hello, Death. How's life?
    • View Profile
Re: Creature, Civ, and Language Generator (Now with links)
« Reply #19 on: November 29, 2012, 09:20:47 pm »

-lots of stuff here -
Thanks for the detailed review! I'm glad you found it useful.

Love the creature generator, got a few good ones that seem like perfect things to throw against my hapless fortresses.

If you don't mind me asking how did you get it to generate the creatures? In one of the resource libraries do you have a dictionary of body, material, and body-template tokens along with a general creature template?
Thanks!
How did I get it to gen creatures? Very carefully. (Actually, that's a bit of an understatement.) There aren't any "resource libraries" apart from "entitydata.txt". It decides each line in the file separately. First it creates a list. It appends the creature name line to the list, followed by an empty description line. It goes on down the creature data, putting in the various tags, then the body tokens and everything else, until it gets to the end. Once it gets to the end, it overwrites the description line with a semi-accurate description, prints it to the file, and starts work on the next creature.

The only thing that might resemble a "library" is a HUGE line of code with tons of body parts, weighted to make more common body parts more prevalent. It chooses from these at random. Most creatures get a mouth to stop weird things from happening, but that's the only thing that's fixed. Some creatures get eyes, some creatures don't. If they don't, they get extravision. If they get fingers without hands, it manually removes the fingers, or adds hands before them. It's a mess, really, but it works. (Honestly, Toady's whole system is a mess, and clearly wasn't designed with anything like this in mind, lol.)

I've always wanted to try writing a creature generator but one of the best ways that came to me was copying each tag into a dictionary or other list schema and then jumbling them up together that way. That doesn't seem the most productive or best way to do so. Don't even have a clue as to how I would create rules to get something intelligible or raw worthy. Do you have any pointers or suggestions I might be able to use? I don't want the source code but I'd like an idea of a possible pseudo-implementation I could start with, I'll struggle with it from there.
You're right, it's not the most productive way. You have to have if-then rules that determine what can be added. If a creature has fingers, for example, then it can get claws or fingernails - but that doesn't necessarily mean it will. You go through it one line at a time. Mixing everything up and randomizing it would be very, very detrimental to your game's loading time and size of the errorlog.txt. (lol. Trust me on this one, I had it over a megabyte in size at one point.)

The source code is included - check the *.kpl file.

Man, I was really rooting for Girlinhat when she was actually talking about making that program; seemed bloody awesome at the time, and it still does now that you've actually done it. I'll probably use this at some point, maybe just because I like ‼surprises‼ in games.

Is your DFlang system an update to the older DFlang still available on the DFFD? I haven't had any real issues with the older one, so I'll wait and see how much more advanced yours can get beyond generating off much shorter strings.
DFLangCreate is actually completely separate. It bears (as far as I know) few resemblances (if any) to DFLang. I actually created it before I knew DFLang existed.

DFLang works (as I understand) by letting you add in words from real-world languages. It tries to make words that sound like they go with those real-world languages. My program lets you custom-create a language. Instead of being restricted to something you'd hear in real life, you can make a language that looks like "eenoweeno buggubbaweegee mugga hannomoogo", if you feel so inclined. The length of the words genned is determined by the length of the fake (or real) words you put in, so if you put in: "parsimonious,accoutrements,sesquipedalian,circumlocution,remunerative,idiosyncratic,anomalistic,perfidiousness,unencumbered,auspicious,unparagoned,magnanimous"
it might spit this out at you.
   [T_WORD:ABBEY:samelemes]
   [T_WORD:ACE:retrodad]
   [T_WORD:ACT:umecis]
   [T_WORD:AFTER:aumavenaminus]
   [T_WORD:AGE:pedipiss]
   [T_WORD:AGELESS:ciodanemiarioras]
   [T_WORD:ALE:mematios]
   [T_WORD:ANCIENT:cireccetalepiss]
   [T_WORD:ANGEL:relaciomecas]
   [T_WORD:ANGER:celerfuinore]
   [T_WORD:ANIMAL:ruilepiruricetre]
   [T_WORD:APE:umiritre]
   [T_WORD:APPLE:memlevelin]
   [T_WORD:ARCH:retrigud]

I'm pretty sure DFLang can't do that. :P But then, I've never actually used it, so I don't know.

On the down side, DFLang's creations are probably a LOT more likely to look like real-world languages. The best mine can do is imitate.
Logged
Quote from: Mr Frog
Talvieno ... seems to be able to smash out novella-length tales on demand

Tsuchigumo550

  • Bay Watcher
  • Mad Artificer
    • View Profile
Re: Creature, Civ, and Language Generator (Now with links)
« Reply #20 on: November 29, 2012, 09:25:40 pm »

I do somewhat like your language program though, could be my "i like weird, random everything" thing though.
Logged
There are words that make the booze plant possible. Just not those words.
Alright you two. Attempt to murder each other. Last one standing gets to participate in the next test.
DIRK: Pelvic thrusts will be my exclamation points.

Talvieno

  • Bay Watcher
  • Hello, Death. How's life?
    • View Profile
Re: Creature, Civ, and Language Generator (Now with links)
« Reply #21 on: November 29, 2012, 09:32:24 pm »

It's not really "weird, random everything", though. What it does is very structured and precise. It just doesn't start with real-world languages, so it can't end up with them. Or anything very close to them. Again, I don't know what DFLang does, and at this point I think it might be a good idea if I found out...

For the lulz: (each of these was genned with a wordlist ~250 words long, using the 250 most common words in each language (minus words that were 1 or 2 letters short).)

Here it imitates Japanese:
Spoiler (click to show/hide)

Here it imitates German:
Spoiler (click to show/hide)

Here it imitates Spanish:
Spoiler (click to show/hide)

And here it imitates Latin:
Spoiler (click to show/hide)
« Last Edit: November 30, 2012, 08:45:59 am by Talvieno »
Logged
Quote from: Mr Frog
Talvieno ... seems to be able to smash out novella-length tales on demand

Eric Blank

  • Bay Watcher
  • *Remain calm*
    • View Profile
Re: Creature, Civ, and Language Generator (Now with links)
« Reply #22 on: November 29, 2012, 11:04:13 pm »

Man, I was really rooting for Girlinhat when she was actually talking about making that program; seemed bloody awesome at the time, and it still does now that you've actually done it. I'll probably use this at some point, maybe just because I like ‼surprises‼ in games.

Is your DFlang system an update to the older DFlang still available on the DFFD? I haven't had any real issues with the older one, so I'll wait and see how much more advanced yours can get beyond generating off much shorter strings.
DFLangCreate is actually completely separate. It bears (as far as I know) few resemblances (if any) to DFLang. I actually created it before I knew DFLang existed.

DFLang works (as I understand) by letting you add in words from real-world languages. It tries to make words that sound like they go with those real-world languages. My program lets you custom-create a language. Instead of being restricted to something you'd hear in real life, you can make a language that looks like "eenoweeno buggubbaweegee mugga hannomoogo", if you feel so inclined. The length of the words genned is determined by the length of the fake (or real) words you put in, so if you put in: "parsimonious,accoutrements,sesquipedalian,circumlocution,remunerative,idiosyncratic,anomalistic,perfidiousness,unencumbered,auspicious,unparagoned,magnanimous"
it might spit this out at you.
   [T_WORD:ABBEY:samelemes]
   [T_WORD:ACE:retrodad]
   [T_WORD:ACT:umecis]
   [T_WORD:AFTER:aumavenaminus]
   [T_WORD:AGE:pedipiss]
   [T_WORD:AGELESS:ciodanemiarioras]
   [T_WORD:ALE:mematios]
   [T_WORD:ANCIENT:cireccetalepiss]
   [T_WORD:ANGEL:relaciomecas]
   [T_WORD:ANGER:celerfuinore]
   [T_WORD:ANIMAL:ruilepiruricetre]
   [T_WORD:APE:umiritre]
   [T_WORD:APPLE:memlevelin]
   [T_WORD:ARCH:retrigud]

I'm pretty sure DFLang can't do that. :P But then, I've never actually used it, so I don't know.

On the down side, DFLang's creations are probably a LOT more likely to look like real-world languages. The best mine can do is imitate.

Heheh, "retrodad"

Actually it does pretty much the exact same thing. It gives you a selection of real-world languages to choose from initially, but you can write your own syllable/word files as text files. Here's one I used for a kobold language:

Spoiler (click to show/hide)

And here is the symbol roots file that goes with it:

Spoiler (click to show/hide)

These are partly actual names of kobolds and partly what I imagined that seemed to fit well enough.

And this is what it output:

   [T_WORD:ABBEY:wip]
   [T_WORD:ACE:bromis]
   [T_WORD:ACT:klaylin]
   [T_WORD:AFTER:ithisnis]
   [T_WORD:AGE:plother]
   [T_WORD:AGELESS:plotaygus]
   [T_WORD:ALE:weelump]
   [T_WORD:ANCIENT:plotrake]
   [T_WORD:ANGEL:Bugerpins]
   [T_WORD:ANGER:slaymbis]
   [T_WORD:ANIMAL:ronthug]
   [T_WORD:APE:chug]
   [T_WORD:APPLE:weell]
   [T_WORD:ARCH:klaylmis]
   [T_WORD:ARM:alluld]
   [T_WORD:ARMOR:cerbi]
   [T_WORD:ARROW:soresnis]
   [T_WORD:ARTIFICE:sleen]

And it also generates pretty long words, sometimes, because it apparently mixes and matches them, or something. "Bunker" is in that list, and I got ubunker, bunker, ebunker, and beebunker out of it, among others using "bunker". Amusingly, ubunker means secret and bunker, chamber. So "secret chamber" would be "ubunkerbunker."

I suppose I'll try to use yours to generate something similar to the languages DFlang produced for me, and see if it is significantly different in outcome or usage.

Er, notably, DFlang will accept the funky accent symbols. Never actually tried that before but there's nothing obviously wrong with the result besides my test word pool was ridiculously small and I combined it with another language, so the accents are rarely used in that language.
« Last Edit: November 29, 2012, 11:20:41 pm by Eric Blank »
Logged
I make Spellcrafts!
I have no idea where anything is. I have no idea what anything does. This is not merely a madhouse designed by a madman, but a madhouse designed by many madmen, each with an intense hatred for the previous madman's unique flavour of madness.

Talvieno

  • Bay Watcher
  • Hello, Death. How's life?
    • View Profile
Re: Creature, Civ, and Language Generator (Now with links)
« Reply #23 on: November 30, 2012, 08:36:09 am »

Okay, I've experimented with DFLang, and apparently, what it does is cut words in half and paste them around, as well as copying full words and pasting those around, too. For example:
th is
w ould
b e
som ething
th at
dfl ang
w ould
d o
t o
a
l ist.

Then it pastes them around, and you get thight, mething, somat, thang, dfloud, wis, etc., as well as thismight, thatwould, mightdflang, somethingthis, and so on. If you give DFLang a list with 10 eight-letter words, it can generate a maximum of 210 words from them. (10 + 102 + 102) Therefore, if you actually attempt to gen a language with only ten words, it'll say there isn't enough data to make a language from. However, anything DFLang creates will look a lot more like the words you put in (and thus more like a "real world" language), because it doesn't really do much to them besides shuffle them around. It doesn't create the language, really - you do. It just shuffles them and creates the file.
    My program doesn't need nearly as long of a wordlist, and actually splits words even further:
th i s
w ou ld
b e
s o m e th i ng
m y
l a ng ua g e
cr ea t o r
w ou ld
d o
t o
a
l i st.
Spoiler: edit (click to show/hide)
Then it takes those and divides them into vowels and consonants, and beginnings, middles, and ends. (This is part of why you can use odd characters with DFLang: it doesn't need to know where the vowels and consonants are, it just needs a good place to split the word in half.) With mine, the language generated will be a LOT more unique, giving you  things like sangeald, croumethe, thegor, weates, seld, etc. It then dumps words that are too long, too short, have odd endings/beginnings, have a vowel/consonant structure dissimilar from the words you put in, etc.
    If you give DFLangcreate a list of 10 eight-letter words, with every vowel-consonant combination being unique, it can generate well over a maximum of a million words from that list.

    One extra downside (or upside, depending on your position) to my program is that you don't create your own root word list.
« Last Edit: November 30, 2012, 09:06:39 am by Talvieno »
Logged
Quote from: Mr Frog
Talvieno ... seems to be able to smash out novella-length tales on demand

Vodrilus

  • Bay Watcher
  • Has been forced to endure NaNoWriMo failure.
    • View Profile
Re: Creature, Civ, and Language Generator (Now with links)
« Reply #24 on: November 30, 2012, 03:46:03 pm »

it didn't have enough words, but it genned it anyway. closer to the end of the file, when it started running out of combinations, it began making them longer:
Just a small tweak suggestion: Giving short words higher priority might give them a better chance of getting a suitable (short) combination. (Picking the nit.)
Logged
Going backwards in reversed time (just like everybody else).

Talvieno

  • Bay Watcher
  • Hello, Death. How's life?
    • View Profile
Re: Creature, Civ, and Language Generator (Now with links)
« Reply #25 on: November 30, 2012, 05:43:20 pm »

it didn't have enough words, but it genned it anyway. closer to the end of the file, when it started running out of combinations, it began making them longer:
Just a small tweak suggestion: Giving short words higher priority might give them a better chance of getting a suitable (short) combination. (Picking the nit.)
It does give shorter words a higher priority, actually. That's why it ran out of (shorter) combinations and was forced to make some of the words longer to keep from dumping the whole batch. There's a message at the end of the generated file that warns you if it happens: "Forced maximum word length X letters longer than normal". If it says "3", that means that on average, the words are 3 letters longer than the "standard", which is the default dwarven language (the one Toady wrote).
« Last Edit: November 30, 2012, 06:04:24 pm by Talvieno »
Logged
Quote from: Mr Frog
Talvieno ... seems to be able to smash out novella-length tales on demand

Splint

  • Bay Watcher
  • War is a valid form of diplomacy.
    • View Profile
Re: Creature, Civ, and Language Generator (Now with links)
« Reply #26 on: November 30, 2012, 05:52:21 pm »

Can't believe I missed this. This language generator could probably produce a servicable language to make the barbarians seem less like human sized dwarves without pain receptors.

Vodrilus

  • Bay Watcher
  • Has been forced to endure NaNoWriMo failure.
    • View Profile
Re: Creature, Civ, and Language Generator (Now with links)
« Reply #27 on: December 01, 2012, 11:16:40 am »

it didn't have enough words, but it genned it anyway. closer to the end of the file, when it started running out of combinations, it began making them longer:
Just a small tweak suggestion: Giving short words higher priority might give them a better chance of getting a suitable (short) combination. (Picking the nit.)
It does give shorter words a higher priority, actually. That's why it ran out of (shorter) combinations and was forced to make some of the words longer to keep from dumping the whole batch. There's a message at the end of the generated file that warns you if it happens: "Forced maximum word length X letters longer than normal". If it says "3", that means that on average, the words are 3 letters longer than the "standard", which is the default dwarven language (the one Toady wrote).
I'm not sure we're talking about the same thing. Does your algorithm create translations for short English words first? (That's what I meant.) Or does it proceed down the alphabet and assign a translation for the next word in alphabetical order?
Logged
Going backwards in reversed time (just like everybody else).

Talvieno

  • Bay Watcher
  • Hello, Death. How's life?
    • View Profile
Re: Creature, Civ, and Language Generator (Now with links)
« Reply #28 on: December 01, 2012, 11:53:53 am »

it didn't have enough words, but it genned it anyway. closer to the end of the file, when it started running out of combinations, it began making them longer:
Just a small tweak suggestion: Giving short words higher priority might give them a better chance of getting a suitable (short) combination. (Picking the nit.)
It does give shorter words a higher priority, actually. That's why it ran out of (shorter) combinations and was forced to make some of the words longer to keep from dumping the whole batch. There's a message at the end of the generated file that warns you if it happens: "Forced maximum word length X letters longer than normal". If it says "3", that means that on average, the words are 3 letters longer than the "standard", which is the default dwarven language (the one Toady wrote).
I'm not sure we're talking about the same thing. Does your algorithm create translations for short English words first? (That's what I meant.) Or does it proceed down the alphabet and assign a translation for the next word in alphabetical order?
You're right, I misunderstood the first time. No, it doesn't, and that would be a good way to improve it, you're right. Thanks for the idea! I'll be sure to tweak that.
Logged
Quote from: Mr Frog
Talvieno ... seems to be able to smash out novella-length tales on demand

kero42

  • Bay Watcher
  • Das sind mir unbekannte Blumen.
    • View Profile
Re: Creature, Civ, and Language Generator (Now with links)
« Reply #29 on: December 01, 2012, 05:49:25 pm »

it didn't have enough words, but it genned it anyway. closer to the end of the file, when it started running out of combinations, it began making them longer:
Just a small tweak suggestion: Giving short words higher priority might give them a better chance of getting a suitable (short) combination. (Picking the nit.)
It does give shorter words a higher priority, actually. That's why it ran out of (shorter) combinations and was forced to make some of the words longer to keep from dumping the whole batch. There's a message at the end of the generated file that warns you if it happens: "Forced maximum word length X letters longer than normal". If it says "3", that means that on average, the words are 3 letters longer than the "standard", which is the default dwarven language (the one Toady wrote).
I'm not sure we're talking about the same thing. Does your algorithm create translations for short English words first? (That's what I meant.) Or does it proceed down the alphabet and assign a translation for the next word in alphabetical order?
You're right, I misunderstood the first time. No, it doesn't, and that would be a good way to improve it, you're right. Thanks for the idea! I'll be sure to tweak that.

So, does this mean that the words starting with "A" would have short translations, and ones starting with "Z" would mainly be long? That would be a bit weird looking :D.  I like the language generator, I'll probably play around with it when I have the time. The creature generator looks good too, really interesting, but I probably won't be using it, at least not now. Still, you did an amazing job with this.  :D
Logged
Something I find interesting and thought I should share: DF from scratch: http://www.bay12forums.com/smf/index.php?topic=127552.0
Pages: 1 [2] 3 4 ... 17