icosilune

Some further thoughts on APIs for social systems

[Experiments,General,Research] (06.26.08, 10:23 pm)

It will help quite a bit to establish exactly what will be needed from the various systems involved. It is clear that a knowledge system will allow characters to have reflective models of the world, of themselves, and so on, but it is less clear exactly how this information will be accessed or modified. What are the entry and exit points? What are the procedures? What is the greatest, clearest layer of abstraction that can be drawn here?

Similar questions can be raised for the other components as well. There are lots of resources on how to write modular and robust APIs, but these presuppose understanding what they are going to be used for precisely. Answering this question seems like the next logical step.

Social Simulation Architecture

[Research] (06.24.08, 2:20 pm)

So, creating a general platform for adapting works into games requires some underlying foundation. It needs to be abstract enough to accomodate all of its targets for adaptation, but also robust enough to serve some value. The idea behind this idea is to make a platform for social simulation, of managing characters within some sort of specific domain. The general idea of “social simulation” is quite vague, but is meant to take on a fairly precise goal. The fictional works targeted by this research for adaptation are about characters and relationships. The characters in the stories work within a system of social rules, and it is these rules that I aim to simulate. Games tend to look at adaptations from the perspective of action and progress, Interactive Drama tends to look at the construction of an experience, my goal here is to capture characters and relationships.

This whole work will need to be broken down into several subsystems.

  1. Character. Management of individual characters, their properties, their behaviors, relationships, etcetera. This system would also need to keep track of moods, emotions, needs, wants, all at conscious and unconscious levels.
  2. Action/Event/Behavior. How characters interact with the world around them, will need a database and a means for organizing, fetching, as well as loading them from files. The behavior system needs a way to determine what characters do at any point in time. Its goal is to answer the questions for a character “What should I do?” and “How should I do it?”
  3. Space/World. Defines spaces, locations, what the environments are, what the affordances and properties of them are. Includes code that would manage path planning and other potential operations.
  4. Animation/Rendering. How the world is displayed. Ideally this could be pluggable, and depending on the type of logic used elsewhere, how space works within the domain, etcetera, different rendering engines could be attached (2d/3d/text). The feasibility of this depends on how the space system is structured.
  5. Text/Dialogue/Conversation. How characters communicate with each other. Much of the intended communication is symbolic, but that needs to get expressed somehow. Furthermore, this system needs to be connectable to user input of some kind.
  6. Fact/Knowledge. Information about characters and the world need to be managed somehow. This is a fundamental, underlying level and involves a great deal of inter-reflection. Characters might know facts about themselves, about others, and might have incorrect information. This system deals with models of models. It may be necessary to turn to outside knowledge engines for this sort of work.

Excitement

[Concerts,General] (06.17.08, 10:51 am)

I’ve been finding it hard to write about work related things, especially research related things, because over the past several weeks there has been very little time to devote to them. The primary reason for this is the move. Overall, the move has gone very well, and we are happy with the new apartment, but it is one of those things that is enormously taxing in terms of time and energy. We decided to hire professional movers, which, ultimately, I think was the correct decision. The process of moving our possessions (including no less than twenty boxes of books) into the truck took them a mere two hours, where in the past it has taken something on the order of six or eight. So, we’re all set, aside from needing to unpack, which will probably take another three months or so.

In other, more exciting news. We went to see Ladytron at the Variety Playhouse. It was extremely awesome. I shouted along to all of the songs I knew until at the end I could barely speak. They played a lot from their new CD, which is outstanding and ethereal, but, sadly, they did not play Blue Jeans. Woe is me.

More later when things settle down.

Adapting a fictional domain

[Research] (06.10.08, 6:20 pm)

Let’s look at the adaptation problem again in context of all of this modeling business. If our goal is to adapt a work from a narrative medium into a computational medium there are a number of implications. The first is that because in order to build a model of a narrative, one must first take an interpretive position on it. Forming the model is a creative act in the first place. However, this is not quite good enough. The model of the story, including its setting, logic, tropes, character types, characters, events, etcetera, still remains a descriptive model, not a generative one. A human author could take this model and say, write a in-setting continuation of the book’s events, but that model is not sufficient for a computer program to emulate it. What is required here is a second process, which is to build a procedural model from the descriptive model.

To make a procedural model from a descriptive one, information in the model must be formalized, the model’s rules must be converted to algorithms, and the fundamental ambiguity present in the model must be made concrete and unambiguous. This step has the greatest destructive capacity in any adaptation. But, is the most important in terms of making creative decisions. Many descriptive models simply cannot be made into generative ones, so this can lead to various problematic situations. In games, where these sorts of adaptations are abundant (at least for certain types of source narratives), there is an existing repertoire of procedural models that work well as games, so the underlying source model becomes destroyed or forced into this new shape. Successful adaptations necessarily do not have this failing, but identifying successful adaptations and their models is a difficult task (though it will be an important one).

However, some degree of conventions and tropes from the target domain will be necessary. It would be impossible for the resulting artifact to be recognized as a game if it lacked means of input. Regardless of the model underneath, there would be impositions from the source domain in terms of what the model is allowed to do.

Creating an adaptation will also require a representational model of the source text. How do elements appear and how are they described? If the adaptation is visual, then it requires some sort of visual representation of the characters, spaces, objects, etcetera. A visual design strategy and scheme must be chosen, and this would need to resemble the source text in some way. This process requires another set of decisions. Like adapting a written narrative to a film, there are many aesthetic choices available and necessary, and these must be consistent too with the descriptive model formed of the source in question.

Ultimately, what form will the adapted artifact have? If we are assuming it to be a game, it will necessarily be interactive, and would be a simulation of the procedural model built. That means that the resulting work could be played in many different ways, allowing a great deal of creativity and exploration of the model being simulated.

However, there is another degree of freedom introduced through this process. Because procedural rules are concrete and unambiguous, they may be disputed or challenged. It is possible but futile to challenge the motives or actions of a character in a narrative, but if an adaptation has been made, the user can challenge the interpretation made by the adaptor. Originals have a certain inherent authority, but adaptations can always be made and remade. Forming an adaptation means making decisions on a variety of levels, and the existence of an adaptation implicitly states that it is possible to make an adaptation in the first place. As a result, the existence of the adaptation, and the formalized nature of its rules makes it a target for criticism, analysis, and modification. A procedural adaptation of a narrative opens up the model of that narrative.

Just to Clarify

[General] (05.30.08, 2:01 pm)

That's quite a dropWell, there were a total of four kittens in the attic, in addition to our Icarus, who fell from the sky last Wednesday. We got them all now, and are in the process of giving them away to friends and possibly to the Humane Society.

However, I did want to demonstrate a little bit more clearly the height from which the creature fell. I’m pretty impressed, honestly.

We’ll be back to our regular rambling later on.

Descriptive vs Generative models

[General,Research] (05.25.08, 9:31 pm)

Suppose we look closely at a system and build a model from it. That model will assuredly be useful in describing the system, and possibly predicting that system, but it is not necessarily the case that the model will allow us to build new variants or instances of the system. Examples of this are structuralist formulations of film or narratives. Valdimir Propp’s morphology of Russian folktales is a great example of this, the morphology may be used to analyze or describe folktales, but when reversed and used as a generational tool, far too much is missing. Other models may be used to generate artifacts. Examples of these can range from the work of Karl Sims, to CS paper generators, to any other abstract “generator” algorithm or program. These tend to be much more particular, applied to special cases and mini-domains rather than large scale categories.

There are other differences between generative and descriptive models. Descriptive models are generally much more useful for humans. Even if a descriptive model cannot be used to generate an artifact, it may still be used to check whether an artifact matches a given model. This is very helpful for human authors or creators, who might want to make something that mostly fits a model, but then perverts it, complicates it, or changes it in some interesting way. For instance, in the domain of superhero comics, Alan Moore’s Watchmen follows the overt tropes of the genre, but exposes a psychological depth that is otherwise not traditionally present. Other works might attempt to synthesize genre models, or for the sake of parody, will stress elements of the model to extremes. Descriptive models are enormously powerful as tools for creativity.

Generative models tend to be useful, not for human creators, but for electronic ones. A generative model has the structural elements of a system specified down to an algorithmic level, such that any algorithm processing machine may use the model to generate an artifact. Generative models must also be narrow enough for the algorithm to cohesively express a domain. With this level of precision, the model must take positions on how to express its domain. Value and content judgments are necessary, as decisions must be made regarding what to include or exclude, what to prioritize or emphasize. As a result generative models tend to much more resemble artifacts themselves, representing a certain creative take on a domain, rather than a broad model of the domain at large. The CS paper generatorhas a certain embedded model of what CS papers are like, and its approach serves to illustrate the absurdity of this model. Genetic Image has a similar understanding of how an image should be composed, and it is fundamentally and intrinsically limited by this viewpoint in terms of what it can express as a tool. As tools, constructive models are limited, but their value becomes apparent when they are seen as artifacts. Instead of critiquing a model through a carefully constructed parody, generative models critique or expose their own perspectives through their very execution.

From far enough away, both descriptive and generative models are similarly constrictive. The constraints of a structuralist descriptive model of a genre is as limiting as one that reduces the model to an algorithm. Furthermore, a descriptive model may be made into a generative model if it is focused enough, if one takes sufficient positions in their interpretation to resolve the inherent ambiguity of the descriptive model. Ambiguity is probably the key difference between the two. A descriptive model allows for a variety of interpretations, as such it is resistant to critique because of its open nature. A generative model has removed all ambiguity to the point where it may be executed algorithmically, but as a result may be critiqued and used as an expressive tool.

Enter Icarus

[General] (05.22.08, 1:23 pm)

Meet Icarus. She’s quite cute, isn’t she? Like her namesake, she fell from the sky. Or, more precisely, from our roof. The attic seems to have developed a small cat infestation. Audrey and I found her while leaving for the gym. Two people who were nearby were watching over her and gave us a more complete account. Evidently she was on the top of our roof, calling for her mother, then jumped down, and miraculously, only broke her tail. We took her to the animal hospital and got her patched up, and now she seems to be energetic and happy.

We’re going to call the Humane Society to see if they can take care of the ones still up in the attic. This little one, though, I don’t think we can part with.

Quals published

[Research] (05.17.08, 2:18 pm)

I just published the first set of real, actual qualifying exams. I have heard on some authority that I have somehow passed, a miracle which surprises me as much as anybody. The results of this labor are posted here for your pleasure and as a warning for future generations to come.

Protected: Qual 1-3

[General,Research] (05.17.08, 2:11 pm)

This content is password protected. To view it please enter your password below:

Protected: Qual 1-2

[General,Research] (05.17.08, 2:09 pm)

This content is password protected. To view it please enter your password below:

« Previous PageNext Page »