Limegarden.net Personal site of Wouter Lindenhof

6Sep/100

Next version of Story editor

Quite a productive night, if I may say so.

Currently the new features are already worthy of a new release. It has an installer, it has file association and an update checker. Yep, now you can ignore my blog and still have the latest version of Story Editor.

However I have good news and bad news. The bad news is that you will have to wait untill it has been released. The good news is this release will most likely be done before the weekend. The reason for the delay is because a) it's late and b) I want to test the downloading mechanisme. Oh and of course, it needs to alert you when a new version is availabel. So I still got my work cut out for me for this week.

5Sep/100

Releasing Story Editor V1.0.0.3

As promised I would release the next version of Story Editor a week later and well a week has past. For me it was a crazy week so I had decided to do some of the programming in the week instead of the weekend and this has paid off.

So what has changed?
First of all I have decided on an extension. You can still work using the old zip files, although I recommend you start using the sez format.

Second you can now reorder chapters and scenes, by selecting the chapter or scene in the outline and then use the green buttons.

Next week I will try to make the Story Editor installable with automatic updates, so that you don't have to download the whole package again.

Here is the link to my favorite creative story writing application: Story Editor V1.0.0.3.

15Aug/100

Story editor

I like writing stories. They are a form of entertainment to me and as such I enjoy spending my time in writing something else then code. However I have never found a tool that met my requirements. In my opinion an application for creative story writing should be focused on allowing you to write as comfortable as possible without any distraction, which often means you turn off the automatic spell-checker and more.

Now Microsoft Word would have been a great tool were it not that I need to keep track of all kinds of things in my story. I used to do this with an Excel file but that didn't work. I have tried some of the creative story writing software out there (open-source, free and commercial) but they either provided too much, miss certain features or required me to work in a way I thought was cumbersome (I don't want a pop-up when I look at details of a person).

So I have decided to write my very own story editor.
A key feature will be that it uses a dynamic data format. In most applications you can add and edit your characters but then you only a few predefined fields available, like name, birthday, bio and notes. If you are writing a deep space story which involves many alien races you would need to define that for each character in the bio. In my story editor I want to be able to just add an extra field.

Another feature I'm going to put in for certain is that everything can have transient properties, which is fancy way of saying that some properties might not last forever. In the Lord of the Rings we see that the one ring switches quite a bit from owner. Having one field to track information about the owner would be insufficient as I want to know the owner of the ring at a certain point in time. Of course, this system is a bit cumbersome when you want to keep track of the owner of the a ball in a football match. ;)

The first release will be when the editing of files and the outline editor fully works.

25Jan/100

Procedural story

story_03

A little while ago I was meeting a good friend of mine and we had a lot of things to talk about. For one he had just returned from Kenya and he had a lot to show and tell and the things he told me where amazing. But as the day went one, we almost always seem to come back to one subject: Games and developing of games. Funny enough the two of us have almost had the same kind of ideas.
Both of us are developing games in our free time and both have the idea of trying to make as much as possible procedural generated. One of the things we are both interested in is creating the story. While I look for an infinite solution (where the player can play forever and has an interesting storyline) he has a more pragmatic approach.
As we discussed procedural generated stories he pointed out that a story teller needs to tell his audience what happens where and when (not to be confused with why). This triggered a thinking path I had not yet explored. Until then I had simply assumed events happen in a certain order. When a user is playing a computer game he will grow a certain emotional attachment to the player. Emotions in a story are important. For example Romeo and Juliet is a story about hate between families, love between two person and has a lot of betray. Romeo and Juliet is considered one of the classic romantic stories and by some it is considered one of the most romantic stories ever written.
So after the talk and some thinking a procedural story generator could be written as a system that tries to move from emotion to another emotion both for individuals as a culture. To give yet another example: The player gets betrayed by a general and while he was betrayed the general does end the war (and the country he fought for sees him as a hero), while at the other side (the defeating side) wants to see the general death. You now have four elements: The player, the general, the winning country and the losing country. The player is angry as he is betrayed. The general is content and pleased as he is being seen as hero. The winning country feels superior to the losing country and the losing country feels disgust towards all other elements. See the diagram.

At this point the computer needs to "write" the next part of the story. The computer could now plot a new scheme by just adding or removing some story elements. The player could for example become the leader of the rebellion or he could join the general as one of his right-hand leaving his feelings of betray or he could kill the general and become the new general. In this case I want to add another character say the princess of the winning country and make the player the leader of the rebellion. The princess finds out that the generals betray and for some reasons she encounters the player and they fall in love with each other. Yet they can't be with each other as one country hates the other ruler. The general at this point hates the player. The graph might be clearer.

Moving forward we arrive at a point in the story where the player and the princess are married and they rule both countries. The general is now hated by all. And here is another graph.

For the story generator the only thing is how the possible futures of all elements could be. Once he knows the possible futures all it has to do is create "story chapters" which move the story toward the possible features. If needed a chapter could have a branch which excludes one of the possible features, for example the player kills the general before the princess was able to find out about the betray of the player so she never finds out the wrong he did and therefore never encounters the player.
Of course a lot more thought needs to go in this, but it solved for the procedural "writers-block".