Discreet Cosine Transform

A few thoughts on ruby, video and other things

Object-Oriented Story Telling

Being in both computer programming and role playing (as I would guess many old D&D players find themselves - geek begets geek after all), I have often thought about the concepts of relational data, object-orientation, and story telling.

In relational data, one record relates to another via some common data. There are a million glib examples, like looking up the weather for your hometown via the zip code (a more detailed way to say it might be you can find approximate latitude and longitude via the zip code, and find weather via lat and long - those that have worked with relational data before can almost picture the SQL statement in their minds right now).

Developers then spend a lot of time modeling real-world things and processes into software objects - single units of both functionality and data, with the very common trite examples being something like you have an ‘’order’‘ object that contains many ’‘item’‘ objects. Often, you even take it a step further and map those objects onto relational data - orders and items become records in a relational database. Common strategies for doing this exist, such as object-relational mappers (ORMs) and diagramming techniques, while not the fad at the moment, exist, such as relational database diagrams and object models in UML. A common long exists for these types of relationships, that talk about things like the definition of a given specific object (an “is a” relationship), the relationship between different objects (“has one”, “has many”, “has many through”, etc.) and how to relate one object to another. So a zip code has a general latitude and longitude, a town has a zip code, and a bunch of records that describe temperature, barometric pressure and wind speed all have a latitude and longitude to describe where they were measured or are predicted to occur. Viola, I input the zip code, I get out a weather forecast.

Story telling, maybe particularly interactive story telling, strikes me as having some similar ideas. A character has friends and enemies, possess items of power or items other people desire, and resides or adventures in a location. That same location houses other characters, and has traits of its own: geography, weather, and in the case of fantasy perhaps magical properties. It also has history: events that happened there in the past, and those evens in turn involved other characters (or your character). You can even think of useful queries you might perform against that data - say as a dungeon master, or just as author trying to keep all your notes straight. What are all the events that happened here, at a specific location? When was a specific character in this location? If the character possessed that highly valued item of power at the time (the ring!), then logic would apply that the item of power was in that location at the same time (though magic, of course, always jeopardizes logic such as this!).

No, I have not put this grand plan into action yet, but its on my mind per my previously stated goal of finding where my current life still intersects Dungeons and Dragons.