Skip to content

August 8, 2017

Generating Fiction and the Three Laws of Criss

by Criss Davis

*If you are reading this and continue to read on, then you will find that not only do I tend to ramble, but my thoughts are also all over the place. Well for that I say, sorry. If you are still reading these words just know that there were many, many more words that came before them and I chose to delete most of them for your sake.

The first Laws of Generating Fiction. The Three Laws of Criss.

Lets all take a moment to remember the greats of the past and acknowledge that sometimes inspiration comes from the most unwilling and unsuspecting of places. For instance, a young man in the military who would stray away and spend hours writing and would become one of the fathers of Science Fiction. While I did spend eleven years in the Navy, that man was not me. It was Asimov. I just couldn’t sleep and was thinking about thinking again.

Computer Generated Fiction and The Three Laws of Criss. ( we touched on the third law already. )

The First Law – The Universe and its attributes are immutable after creation.

The Second Law – They think therefor they must exist. 

The Third Law – For every character transformation there has to be an equal and opposite number of outside influences over an integer that is equal to time. 

What does this translate to in python ( my chosen programming language ) and how will this make my program completely different and revolutionary from every other program that is currently out there?

The First Law – The Universe and its attributes are immutable after creation.

Lets use a metaphor. In the original Star Wars episode 4, it opens up with…… “A long time ago in a galaxy far, far away….” Thus George spoke and a universe was created. A reference point was established. A big pointer that said, “you are here” that points backwards somewhere to “a long time ago”. *(somewhere to the left). You are in the present and behind you is a long time ago.

Thus, the great story teller you are you have just established a Universe and as a bonus a timeline as well. Good job. From now on, you can load the “Star Wars” universe whenever you want to edit it and you can move forward or backward in time and when you are done you can close the “Star Wars” universe.

Attributes and Immutability. This should be common sense but I will spell it out for you. In the beginning of your Universe you decided that Up was Up and Down was Down. You also Decided if Magic exists, if interstellar travel exists, ghosts can go “boo” and if zombies can or cannot run. They cannot by the way. If you are a programmer like me, then imagine that this is a Tuple. You don’t get to change it, you use it. I won’t insult your intelligence because if you are going to be programming your own machine to write a novel you should either be agreeing or disagreeing with me right now. If you have no idea what I’t talking about then we are two far apart for this conversation to have any real meaning and why are you here?

The Second Law – They think therefor they must exist. 

If a character is going to be used in any way, then that character MUST exist. That means that they must have a full beginning to end accountability of their actions with the Universe from the moment they enter the Universe and until the end of time or until they depart the Universe. This means setting a minimum standard level of attributes for each character.

The level of attributes can be deterministic, but there should be and will be at least a minimum for the program to run. Different levels of attributes and accountability can be set for primary, secondary, and tertiary characters. Much like a game, you set up the pieces and then let them play out and keep track of what happens, where and when. Only then can your computer truly keep track of the interactions of the characters within its Universe.

while universe:

for each timeline:

for each character:

for each interaction:


The Third Law – For every character transformation there has to be an equal and opposite number of outside influences over an integer that is equal to time. 

I covered this in detail already. Every conversation, action, event, everything, has attributes, and everything affects everything in some way either + or – or neutral. Everything is tracked and impacts the world around it, just like the real world.

Minor changes happen slowly over time. Major changes can happen suddenly. A person does not change suddenly from minor events and be believable. The data needs to be there to support that. I don’t want rehash the whole thing for those who read the last one. Still working out the math and formula there, but I think the idea is sound.



Leave a Reply

%d bloggers like this: