Dwarf Fortress > DF Modding

Object Relationship Database

(1/3) > >>

Canis786:
So I was thinking of what could help a lot of people when coming up with what to add to DF and I came up with the idea of crowd sourcing object relationships. Basically what my idea is anyone who wanted to help would go to a web page, and input some information for others to use so they don't have to spend time thinking "what can a goblin do?". Instead they would ask the database and get a list.

The general idea is we have two objects that are related by some type of relation ship.

Person has Hair

In this case the two objects are Person and Hair and the relation ship is has. A more complex set of relationships might be

Fire consumes fuel
Fire radiates heat
Heat ignites fuel

This would be a set of relationships that when applied together would allow for fire to essentially explode when it comes into contact with fuel. The thought process is fire grows as it consumes fuel. As fire grows so does the amount of heat it radiates. The heat ignites fuel around the fire thus increasing its size yet again. Then the cycle continues until there is no fuel left.

The web page would be incredibly simple and have a search (which I would ask everyone to use before they input some relationship to prevent a mass of similar entries). Basically you select from a list of objects already in the database (searchable) and a list of relationships (searchable) and apply it. You would also be able to add objects and relationships should they not be listed.

If I made such an application how many would be willing to add a few things here and there?

Footkerchief:

--- Quote from: Canis786 on December 17, 2009, 06:36:46 pm ---so they don't have to spend time thinking "what can a goblin do?"

--- End quote ---

Two central questions here.  First, do people actually wonder this?  Secondly, if they do, do they want the answer to be expressed as a series of abstract relationships?


--- Quote from: Canis786 on December 17, 2009, 06:36:46 pm ---A more complex set of relationships might be

Fire consumes fuel
Fire radiates heat
Heat ignites fuel

This would be a set of relationships that when applied together would allow for fire to essentially explode when it comes into contact with fuel. The thought process is fire grows as it consumes fuel. As fire grows so does the amount of heat it radiates. The heat ignites fuel around the fire thus increasing its size yet again. Then the cycle continues until there is no fuel left.

--- End quote ---

Is this about fires in DF, or in real life?  Either way it's incoherent, since that chain of events depends heavily on outside circumstances.  Trying to express all interactions in terms of these kinds of "simple" relationships is, well, absurd.

I'm still not sure what the purpose of this is.  Is it a reference for players?  What does it do that the wiki can't do?

Bricks:
Yeah, I'm a little confused as to where you are going with this.  Extrapolating heavily, I guess you are trying to find a way to handle the relationships between game elements?  Currently, we 1) don't really have access to that level of code, and 2) the fact that DF is very much a simulation means that we don't have to encode for every possibility of every way things interact.  In fact, this is the absolutely worst way to program: try to anticipate every possibility and exception.
Spoiler (click to show/hide)I'm sure someone will come in and point out that the absolutely worst way to program is something like dropping acid, unplugging your monitor, and rolling your face on the keyboard.

Morgus:
the absolutely worst way to program is something like dropping acid, unplugging your monitor, and rolling your face on the keyboard.

:P

Canis786:
The objective doesn't have anything to do with code. The idea is to reduce the amount of time thinking about what specific objects can do and what they can react with. So instead of a person spending an hour or more trying to figure out how one object interacts with its environment they could query the database for that information.

When it comes to code people do ask "what can a goblin do?" and its much more complex then you think. Goblins can start a siege, retreat from a siege, send a child kidnapper, send a small ambush party, equip themselves with armor and weapons, break a dwarf into servitude, create massive towers,... there is a whole shit load of things goblins can do in game currently and a whole shit more possible things they could be programmed to do. The idea is to make that list so if Toady or someone else decides they wish to add something cool they have a massive list for ideas.

The Fire/Fuel isn't incoherent. It is a set of relationships between objects. You could have Fire ignites Fuel but that simplifies the overall idea. By using heat you allow for fire to increase the temperature of an area. You allow for fire that isn't hot enough to light specific fuels. The idea is that by breaking the simplified reaction down to smaller pieces you can allow for a more complex reaction that is easier to handle.

Navigation

[0] Message Index

[#] Next page

Go to full version