Friday 7 March 2008

Story telling engine base on agent interactions


Comics have been successfully used as a programing language for agents, giving them instructions on how to act and how to do it; If we take that model and reverse it, we can use comics to describe the actions of agents already interacting with each other, thus, creating a storytelling engine that can generate stories dynamically based on the interaction of said agents.

The model for the agent behaviours is based on the emotional model of Hayes Roth. This model is chosen due to the nature of comics themselves. Comics like those found on newspapers and children magazines are funny because their characters behavior depend heavily on emotions and commonly express them in exaggerated ways.

Our project implements this emotion-based model for agent behavior in a way that tells a story in the form of comic strips. For this, the model will be adapted to a discrete space-time form since the actions no longer occur in real time (like in traditional simulations games) but rather in a sequence of frames or panels. This changes are inspired in the analisis of time and space mechanics in comics by Scott McCloud. The emotional model will also be adapted to reflect the rather extreme emotions and responses that characterize cartoon characters.

Wednesday 30 January 2008

Regarding humor

Humor is of course an totally ambiguous, yet it must be clearly defined in order to implement it as a computer system, thus i have opted to focus on 2 very important and common aspects of humor and comedy in cartoons and comics: "Randomness" and "Gratuitous Violence".
  • Randomness
Randomness is very common and useful comedic resource present in lots of comics. A clear example of this is Cheff Brian from Ctrl Alt Del. This kind of humor is quite easily implemented by simplistic algorithms that need only some basic preconstructed nonsense in order to achieve the "funnyness" spected by the user.

This aspect of random humor is also explored in my previous alien-conversation prototype when one of the aliens just apears holding a smal pig. This pig has nothing to do with anything else and was, acording to feedback by players, the most enjoyable part of it, so, this is another way i can be sure randomness is an important factor in "funnyness".
  • Gratuitous Violence
"Gratuitous violence is always a bringer of hapyness"
Mikael Kindborg
This are the epic words of my thesis supervisor on the subject of violence. And any of us can relate to that. Maybe nowadays humor has changed a bit toward the "politically correct" bullshit, but clasic humor on cartoons has always being based on sensless violence. Lots of the best cartoons on tv were a constant parade of guns, explosives and the suffering of small animals.The algorithmical representation of violence will be something interesting to work on since i have no idea of how to do it right now...

The world and the actions of agents

The main diference betwen my agents and the work of Hayes Roth will be, i think..., in two aspects: the world and the actions.

The world
Which will be panel-based since the story will be told in a comic strip. This will have an important efect on time. Time will no longer go on in normal time, but in a special sort of time detailed by Scot McCloud, this will be definetly one of the most problematic aspects of the story telling engine


The actions
The stories, as i thought to be a good idea, will be based on genre. Fairy-tales will have diferent setings and posible actions for characters that love sories of horror stories. Thus, and since i have played medieval role-playing games this project will be focused on those. This way i have a very specific set of actions for the agents to perform.

this set of low level actions, like run and fight will be one part. The other set of actions are the global uncleanly defined set of goals that every agent must accomplish, which is also a massively important part and also a quieten difficult one to implement.

Basic arquitecture

After reading a truck-load of repetitive papers about improvisational agents I think i found the correct framework upon which to base my project, the epic work of Barbara Hayes Roth.

Improvisational agents as means to tell stories has been researched by Hayes Roth is several papers and projects. This architecture is almost exactly what i need for my ai-comics. The interaction of this inteligent agents will be, as in Hayes work the origin of the stories told by the comic strips.

The basic arquitecture of the agents:

Agents will have the basic Hayes Roth's characteristics. A 3 part agent will have:

- "a body" which will be the, in this case, graphical representation of itself. This part will also be the one to express moods and other mindstates for the other agents and the player to look upon.
The mind

- "a mind" that in turn has 3 parts:
The Agenda manager that chooses behaviors based on moods and other criteria
The Scheduler that chosses the way of implementing those behaviors
The Control plans that contain the actual list of actions to be executed by the agent.

- The interface, that conects body and mind

Wednesday 23 January 2008

Ultra-basic first prototype

A rather basic prototype of the idea:

As you can see in the attachment, this was the basic idea for the program.
The user... lets call him "player" ofcourse this will be more or a toy than a game.. but whatever...

The player generates a story, as shown on the first uper sequence of panels. This is the story with no internvention from the player whatsoever. its nice and well done but the player considers it borring.. so the player changes things on the last pannel giving one of the characters and very angry mood and a gun.
With this information, the program re-generates the story from that point forward now considering the new information input from the palyer and thus creates the new two las pannels of the story.
Now the player is happy becaouse the story is funny thanks to 2 very important aspects of comic commedie: randomness (due to magically apearing guns and bad moods) and senseless violence.

First ideas

This prototype was created to give a basic idea of the random history generation engine for comics.
It only uses random strings of characters and random images to create funny looking conversations between two aliens.

The mechanics for the generation and manipulation of the comic strips will probably remain very similar for the final implementation

Click HERE to begin or click the image:

Defining "FUN" is of course a thing probably not very possible, yet doing it for a relatively smal and specific group of users should be viable... i hope...

Wednesday 12 December 2007

- Regarding my work

This blogs is mainly created to make a log of my progress while working on my masters thesis project about artificial inteligence, interactive systems and Comics