OK – here’s my next assignment. We’re going to start small, with children’s stories. I think I have a good handle on how to write a decent children’s story myself.
We’ll start the attack like this:
- Gather a list of common animals. (Done)
- Come up with a way to generate cute prefixes for the names of these animals in English (Janga Jackal, Kiminy Kangaroo, or something like that – no idea how I’m going to do this).
- Handcode some basic knowledge about each of the animals in this list that will give rise to goals that a given animal would want to accomplish within a story (a mole wants dark and to burrow, a cat wants to chase things).
After the above, I’ll figure out what to do next.
One of my goals of this project is to have a story be spit out in the same way a theorem is proved or a the next move of a chess game is computed by searching lots of possibilities. There’s also an element of probability that needs to come in to play too, of course. (If everything were 100% deterministic, you’d get the same story each time.)
Here are a couple of resources I found that might help in modeling all of this. I’m not sure whether they’re too low-level for what I’m trying to accomplish, though:
I think the next step after random name generation is assigning a personality type to each of the generated characters. I’ve found this, which appears to be a good start:
Hopefully I won’t run afoul of any copyright laws using this internally.
Once a personality type is assigned, then different world events can trigger different reactions based on personality type. Also, a character needs to have goals which are consistent with their personality type. Not sure how I’m going to do this yet.
Here’s Harible’s very first “story”. I’ve gone against Chip‘s name database and have a boy coming across one to three girls.
Nathen was walking and came across Nicole and Lina.