Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/espadrine/storygen

Procedural generation of stories
https://github.com/espadrine/storygen

Last synced: 10 days ago
JSON representation

Procedural generation of stories

Awesome Lists containing this project

README

        

A story is a sequence of events told with style. Their purpose is the meaning we
infer. They narrate actions upon objects, which both require a deep
understanding of words.

So we give each word a set of tags:
- Grammar tag: the grammatical classification, for which all have one.
- Set tags: indicate what the object is a subset of. A mammal is an animal.
- Group tag: indicate what the object is a group of, like a pack of wolves.
- Trait tags: adjectives that make that subset special. A mammal is
warm-blooded.
- Action tags: verb (and optional end of sentence) that describe what that
subset does. A mammal feeds milk to its young and has hair.

Once we have all those defined, we can create entities. Among humans, we can
define what they want to do and how they tend to act. They should have a list of
goals ordered by their importance, and a list of relationships (good or bad)
with other animals (primary humans). Those should be able to evolve, but slowly,
and at most twice over the course of a story.

A story is about a primary goal being reached. Then, that goal is cut into
smaller pieces that, added together, produce that goal. Each subgoal being
reached should enable the next: objects being obtained, secrets being learned,
goals and relationships being shifted. We distribute the ownership of those
objects, secrets, goals and relationships to thicken the plot.