Ok, so I've seen Toady read, consider and reply to posts in this thread, so here are my questions and few suggestions:
1) I don't like generating new world, especially if I spent few hours for an especially nice, gigantic one, and I guess many people have simmiliar opinion on that matter, so what about trying to first make map generation become final(as in: you do ALL of the world generation stuff, even if it's gonna have no use for a long time), so we don't have to regen the world each time something new is introduced.
2) What do you think about having some sort of 'tech trees', in which each item/building/material depends on others (like: steel depends on discovery of iron and pig iron(and accesibility to flux stone), iron relies on technology of smelting, which humans&dwarves should know right from the start, but for example elves have to discover it(but they probably won't, since they love their super-duper wooden items)
So each tech(these would be as said: buildings, processes, items and misc(like invention of religion, war, etc)) would have 0/100 points. When people(a civ) invent(or have already invented) one of prerequisites it would add 50/n points(where n is number of prerequisites), and then each a civ creates artifact in category of one of prerequisites it would give +10 points, exceptional would give 2 and all other would have slight chance to give 1. Everybody with skill*2+points > 100 would be able to produce it, and depending on uncomonnes of this tech would gain fame(this could be hard, so it could perhaps be implemented later)
And maybe some high-end techs for very old worlds(>2k years old), that COULD be invented, like:
-muskets (and early, black powder based weapons in general)
-Automatic crossbows
-Different bows
-Invention of plastic for incredibly old worlds
-etc, etc, etc.
Well, you understand, so a year 50 world would be vastly different from year 5050 one, in which there could possibly even laser weapons be invented(oh, well, that's a joke, but some relatively-high-tech, steampunk items could be nice)
And perhaps magic, which starts to fade away as technology progresses....
3) Relationship between words and learning languages:
Words should have relationship with other words, so for example:
children(100%)
=singular: child(95%)
=related, other forms: baby(80%)
=related, above: parents(50%), sex(50%)
=related, below: toy(60%), growing(60%), childhood(60%)
=related, loosely: small(30%)
=2nd gen related:
-=To parents, above: marriage(25% - 50% of parents relationship), love(25%)
-=To childhood, below: fun(30%)
=3rd gen related:
-=To love:
--=opposite: hatred, hate(-18,75% - 75% of love)
=opposite: oldman(-75% relationship)
-=related, loosely: death (-22,5%)
-=2nd gen related, below: grandma,grandpa,grandmother,grandfather (-45%)
--=3rd gen related, to death, closely: bone(65% of -22,5% ~= -14,62%)
--=3rd gen related, to death, above: weapon(50% of -22,5% = -11,25%)
Also, materials would have perhaps ~70% relationship, so in a religion based around children there would be religious value for example for:
-[name], dwarven(related to small, loosely - 30% of 30%=+9%) child(+95%) bone(-14,62%) toy(+60%) axe(95% * -11,25%, since it is below a weapon ~= -10,68)
The value summed up would be 9+95-14,62+60-10,68=138,7%
So for everybody in this religion such item would be worth 238,7% as much as to anybody else.
Simplified overview:
Other form of this word: 95% related
related, closely: 65%(oh well, maybe better 75% ?)
related, loosely: 30%
related, below: 60%
related, above: 50%
opposite: -75%
special: related to a variable/stat/skill/relationship with other entities. Used in dialogues
related, misc: related in misc way. Relationship rate is 40%. Used in dialogues, examples: generated(by), lurk(there, example: caverns, related, lurk: monsters), tech prequisite, etc.
Depending on situation it could be only calculated for example up to 5th generation.
And well, you know, temples could be decorated with items/creatures that have positive religious value, so you would know not to join a religion with temple decorated with children skulls and little dorfs chained to ceiling....
And that could add a lot of dialog possibilities, like:
Urist McPlayer: Tell me about... (here player types a word, for example miasma)
McAnswerer: Miasma is a substance.
(game searches variables, finds that corpses spawn miasma and that it in general detests all sentients with single exception of kobolds for example)
McAnswerer: Nobody likes miasma, except kobolds. Corpses generate miasma.
(game searches words: kobolds, nobody, miasma and corpses(since other words are not nouns) and chooses random one or two of them)
McAnswerer: Kobolds is A small, squat humanoid with large pointy ears and yellow glowing eyes. In 476 a kobold named Kobo McKobold ravaged village of SunKeeps. (sentence reached standard length limit, so kobold is the only topic now)
(since last sentence was loosely related to miasma, game goes back to the topic)
McAnswerer: I dislike miasma and everything related, except for substances. (To make dialogues not too long)
Also, player could sometimes choose subject in between sentences, like:
McAnswerer: Nobody likes miasma, except kobolds. Corpses generate miasma. Would you like to listen about kobolds? (randomly chosen one of nouns)
Options could be:
Yes(talks about it)
No(Back to the topic, miasma in this case)
Rather tell my about nobody
or:
McAnswerer: Kobolds is A small, squat humanoid with large pointy ears and yellow glowing eyes. In 476 a kobold named Kobo McKobold ravaged village of SunKeeps. Ok, now back to the topic, right?
Yes
Continue(picks random subject)
Tell me more about year 476
Tell me more about Kobo McKobold
etc...
And to force opinions(based on preferences, searched up to 3rd gen, religions, up to 4th gen, and history: - to creatures that ravaged, stolen, etc, + to famous heroes and members of own civs/organisations):
What do you think about... (player types a word)
And answers would be generic sentences, different for item types, named beings, artifacts, creatures and normal words, like:
Nobody likes [xxx] (if all races dislike it)
Nobody here likes [xxx] (if everybody in town/nearby dislikes it)
Nobody likes [xxx], except for [yyy] (if only one race likes it)
Nobody likes [xxx], except for [yyy] and [zzz] (in case of two races, assuming it is disliked by at least three)
Nobody likes [xxx], but [animal] seems to love it
Everybody likes [xxx]
Everybody likes [xxx], just not [yyy]
My religion is about [xxx]
[God] occasionally takes form of [xxx]
There is religion based around [xxx]
In [civ] they praise [xxx]
[xxx] was invented by [yyy] in [year]
[xxx] reminds me of [yyy].
[xxx] is [item/creature/building description, if such object was found]
My [xxx, if it is a stat] is [stat, for example: superhuman]
I refuse to speak about [xxx], because of [reason, for example: "sorrow", if [xxx] is a creature that killed his wife, or "hatred that would enrage me"]
In [year] [xxx], [action] (opt: in) [place], ie.: in 911 McElephant ravaged BoatsMurdered.
And more, of course some sentences would be related, like current "blah blah blah ravaged blah" and "and killed
Sometimes there would be "Would you like to listen about [xxx]?", "about [xxx] or rather [yyy] ?", "Do you like [xxx]?", etc. these could factor relationship with the one player speaks to when player says he likes what other person likes. Repeating sentences(maybe last 25/50/100 get remembered?) would annoy speaker
And also there would be hardcoded actions for words of type "special", like:
trade [something, can be null, then only traders trade, because some people may react to "would you like to trade [religious object]"]
buy [like trade, but player would like to buy something from someone, only this item is traded, and most of people could agree for most objects]
sell [when player wants to sell something to someone, would be accepted if subject owns money/unused non-worthless items and religious/preference based relationship is above certain level]
service
join [religion/me/I'd like to join religion]
These, in addition to hardcoded responses for "Tell me about [xxx]" or "What do you think about [xxx]?" would have their own sentences, like:
I'd like to join your cult (hardcoded answers: "We welcome you", "Seek [yyy]", etc. In addition to generic ones)
or:
I'd like to sell you [xxx]
And
last thing about this, I promise:
There would be whole-civ/cult/group-based relationship applied only inside that group based on worldgen actions, ie.:
Lots of elves were killed, so "elf" gets associated with "dying" and "death"
They were killed by bronze collosi, so "bronze collosus" gets associated with "killing" and "death"
Also, on slower pace, and loosely elves would get associated with bronze collosi
And as for language, that's simple: all sentients can know a language on following levels:
Not know( <2%)
A bit ( <15% )
Can speak ( >40%)
Good (>70%)
Very good (> 80%)
Fluent(>95%)
Native(100%)
Percentage is amount of words known(to not burden game with remembering every single one)
Except a player, who can either know a word, or not. Words are learned by asking somebody with higher percentage of known words(and when both player and teacher have a common language at >=Good) to teach player (may sometimes cost money/items or require doing a quest, for example killing a monster, or bringing an item). Game determines what words does that person know by checking his/her relationship(words used in common sentences, with relationship to them, with relationship to own race, civ, religion, etc, while probably does not know uncommon ones)
Player can also learn words by himself when he knows language at >35% and when he hears a sentence with >70% of words he does understand.
Player should be able to ask someone "May we speak in... [language] ?".
Also if an unknown word is in between two known words and is related to a word player knows there is a chance to learn it. Language learning skills(amount of words taught by teacher, amount of words possibly gained when hearing mostly understood sentence and chance to learn a word surrounded by two known words) should be based on Linguistic ability and/or Patience.
Words not known are translated from english (like Dagger->Urist)
While implementing these things MIGHT be easy(depends on engine architecture) it will be
just about nearly impossible with human-like patience to create files describing relationship between words, their special meanings and links to hardcoded topics/variables. For that, an army of people would be needed. I suggest hiring community.
Ok, thanks for reading, sorry for such a huge wall of text and eventual poor english, since I'm not a native english speaking person and I've got spell checking set to another language.
Just imagine overhearing a conversation:
Urist McDad: What do you think about sex(randomly chosen subject)
McDaughter: I like sex. Everybody likes sex except elves. Would you like to hear about elves?
Urist McDad: No, continue.
McDaughter: Sex makes children. In 528 Urist McMom born a children with Urist McDad.
Urist McDad: Tell me about Urist McMom.
McDaughter: In 512 McMom married Urist McDad. I detest Urist McDad for his false ribs and being old(remember? old is opposite of young, which is related to child, which McDaughter is)
Urist McDad: Thank you for conversation. See you soon.( they're family, so there are more informal greetings)
So yeah, I hope toady implements this and asks community to create such relationship-describing files....
PS.: I've got more ideas, but this is already long enough, so I'll wait on Toady One's comments about this....