Hey guys. I've been contemplating starting to develop a pretty complicated system revolving around natural resources and materials available in the world. I figured that the first step I would take would be to find some publicly-available databases that would encapsulate the data that I'm not expert enough to know: things like all the different types of geologic rocks that exist (along with qualities like hardness, rarity, etc), or different types of animals that habitate specific biomes.
I could obviously gather a lot of this information through typical research and by compiling massive lists of things, but I figured that there'd be an easier way to do it; someone must have compiled a list of all the common rock types and their qualities in XML (or even in a SQL database already). Only trouble is that with a little bit of searching, I haven't been able to find any resources that provide what I'm looking for.
I intended on starting with natural resources (rocks, minerals, etc) and was trying to find some sort of precompiled, non-html, parseable database, and couldn't. While that's the first thing I was looking for, I'd be interested if anyone can help me find anything of the sort. If anyone knows a resource for this sort of thing, let me know?
I've never seen anything like that. A reference librarian would be a good person to ask, maybe at a specialized school or a school with a focus on natural resources.
There's no getting around research. Many people have probably done parts of your research but your needs are cross-disciplinary and serve a unique goal you have in mind.
Also, I wouldn't go into extreme detail. Don't forget that this is for a game, and games are supposed to be fun.
One option is OpenCyc. You can download it and run it and it will start up a web server which you can use to browse it. I tried to do it, but my laptop only has 2 GB of memory which isn't enough. However, in reality you probably wouldn't want to run OpenCyc and connect your game to it through bindings, rather you would probably process the dump of their data and extract subsets and then use some other tool to make use of the data.
Ideally, I would give you a link to browse the data to see what is there. But the best I can find online is the stripped down and less directly useful semantic web data. Browsing the semantic web data, it doesn't appear to be as comprehensive as the wikipedia page though.
Also, I wouldn't go into extreme detail. Don't forget that this is for a game, and games are supposed to be fun.
The one very specific example I provided wasn't cross-disciplinary at all. Also, I'm pretty okay on the design tips for the time being. If I end up with any questions about the necessary specificity of my game (or find myself having forgotten exactly what it is I am making) I'll ask you first?
One option is OpenCyc. You can download it and run it and it will start up a web server which you can use to browse it. I tried to do it, but my laptop only has 2 GB of memory which isn't enough. However, in reality you probably wouldn't want to run OpenCyc and connect your game to it through bindings, rather you would probably process the dump of their data and extract subsets and then use some other tool to make use of the data.
Ideally, I would give you a link to browse the data to see what is there. But the best I can find online is the stripped down and less directly useful semantic web data. Browsing the semantic web data, it doesn't appear to be as comprehensive as the wikipedia page though.
Thanks, that's a good start. I might be able to get something out of OpenCyc. Thanks for the tip. :D
I'd suggest creating a hierarchy of material types so properties can easily be inherited. All metals melt for example, no need to store this type of information on the specific materials.
I don't know of any existing databases you could use.
I'd suggest creating a hierarchy of material types so properties can easily be inherited. All metals melt for example, no need to store this type of information on the specific materials.
That's a good idea, and probably better sustainable in the longrun, although it'd require me doing a lot of the legwork on my own, probably. Thanks.
Revisiting this topic, I was disappointed with the data in OpenCyc. Better are the reference lists of data compiled in the Dwarf Fortress forums where they compile this data as I understand it for the use in mods or with the forlorn hope that the developer of Dwarf Fortress will adopt it.
This DF forum topic has densities, melting points and a variety of other data.
29 Nov, 2011, David Haley wrote in the 9th comment:
Votes: 0
I would assume that most geological data you would find for this would be more or less useless, except as a distant starting point. It just wouldn't be concerned with the kinds of things relevant to gameplay; you'd have to derive your gameplay-relevant properties from a very different view of the world. For example, how useful would it be to know the particular mineral molecular structure of some material, or a very scientific measurement of the material's flexibility? Most likely you're interested in higher-level concepts like "does it take more force to break this or that".
I think that going with something like DF, which donky suggested, would be a far better approach since they're likely to view the world in a more similar way.
How comprehensive does the list really need to be? And what properties are you interested in, in particular? I think David made a pretty good point, as did plamzi. Nobody is trying to force your hand in terms of game design, but you didn't really elaborate much on your needs, and developers sometimes forget that just because you can, doesn't necessarily mean you should. In this case, giving my opinion as a potential player of your game, I would echo David and plamzi: the level of specificity you seem to be looking for is more likely to confuse and ultimately turn me off, ifit feels more like I'm playing an interactive encyclopedia than a MUD.
TLDR: Try creating a small, custom database of 20-30 metals and minerals and basic, relative properties of each. It should only take 30 minutes, and you can always expand it later. :)
05 Dec, 2011, David Haley wrote in the 11th comment:
Votes: 0
Yes, Deimos's TLDR is exactly what I was trying to say. Do that. :smile:
In this case, giving my opinion as a potential player of your game, I would echo David and plamzi: the level of specificity you seem to be looking for is more likely to confuse and ultimately turn me off, ifit feels more like I'm playing an interactive encyclopedia than a MUD.
But is this not the old bugbear, "fear of realism" again? Generally, I think that wherever I see it, party B has no real idea of what party A has in mind and visualises some scenario where something not worthwhile is produced.
If I had a database with the given properties either that Oliver suggested or mentioned in the DF thread, I'd be able to model encumbrance and likelihood of item damage (for instance) automatically rather than doing so with numbers created somewhat arbitrarily. The data doesn't have to be all used simply because it is there, it can just be dipped into to give a feeling of believablity.
For the sake of interest for anyone with time to waste, here's a thread on realism in MUDs from 1996, since I have the link handy :smile:
I dunno if it's an old bugbear or not, but I think fear of complexity might look a lot like fear of realism. So it might actually be legitimate fear when the audience probably aren't geology students… Overall I agree that whenever possible believability is important. Although, I wouldn't want chemists in my game to actually need to have studied chemistry just to enjoy the profession. Or be effective in it.
I think it's a fallacy to assume that a more realistic game is inherently less playable, but it has to be asked, does the game require the data, or is the data motivating the game? For a data motivating the game standpoint, it seems like it would be difficult to make an enjoyable game based on rock densities, and I think that's what people are reacting to. For a fun game, the flow should be "The game would be more fun if it had feature X, I need Y data to make X work". So in this case, you *could* reference real world models to model encumbrance and likelihood of weapon damage, but an abstraction using more arbitrary numbers would probably serve the same purpose.
This coming from someone who likes to implement absurd amounts of detail in his games, mind you.
You can do things that are realistic without them being complex. Likewise, you can do things that are unrealistic and they can be too complex. The point is, it's almost always a design decision. It's not one with a clear right or wrong, but starting the project with some edict that everything must be as realistic as possible will be ignoring any potential gains from pragmatism to be had.
05 Dec, 2011, Rarva.Riendf wrote in the 16th comment:
Votes: 0
The real reason you want an already existing database is that it is a fucking pain in the ass to fill one…
Yeah, I think the point most people are making isn't that realism is bad, or even that too much realism is bad. It's more that too much detail/complexity is bad. The OP would get the very same critique (from me, at least) if he were looking for a database of completely fictitious materials and arbitrary densities, hardnesses, etc. Real data vs. fake data isn't the issue. The issue is that, from my experience, this level of detail is both unnecessary and confusing if it's exposed to the players. If it isn't exposed, then it's simply unnecessary, since players are highly unlikely to care whether diamond is 2.16 times as dense as quartz or 3 times. It's likely sufficient to say that diamond is much denser than quartz.
05 Dec, 2011, jurdendurden wrote in the 18th comment:
Votes: 0
I currently am sitting on a table of about 80 materials that cover everything from gemstones to skin to paper to different types of wood. Each one has a specific set of attributes when used to create or craft items. For example, a suit of chain mail made from mithril is far less bulky than one made from gold.
I have also added some other features into the game that coincide with the material of items. One such addition is that items made from iron can rust if underwater too long and not sheathed/in a pack. Also, items made from paper can lose whatever is written on them (scrolls, letters, books) if unprotected underwater. Items can become wet in my game as well, and if they are made from cloth they will weigh more while wet.
Each area has a 'primary resource' setting which can be toggled to any material in the game, although I monitor for things such as an abundance of adamantite. Mining in any area will produce 25% more primary resource than any other material that can be mined. Determining what other materials are mined up is done with a rarity setting for each ore/gem type in my table. Also, each wood type has a region setting, which determines where trees can pop in any particular zone in my game (Swamps tend to produce white oak/elm trees, forests will have spruce/cedar trees, etc..).
Here is a link I found that might help you out, I looked it over there's a lot of organized info on this site.
The real reason you want an already existing database is that it is a fucking pain in the ass to fill one…
Indeed, indeed. But if the source data is detail from the real world, then in theory it only needs to be done once.
Problem is classification, material that can be solid or liquid as the same temperature but different pressurization etc. Glass is a fluid, not a solid, but do you want it classified as a fluid in a game. Do you want raw material you can actually use and modify of final product ? etc etc etc A database is driven by the need behind it, hence why you need to define your precise need first. And then probably have to import many databse to fill the one you want. You cannot have only one 'raw material databse' for this reason. Way to vague.
I could obviously gather a lot of this information through typical research and by compiling massive lists of things, but I figured that there'd be an easier way to do it; someone must have compiled a list of all the common rock types and their qualities in XML (or even in a SQL database already). Only trouble is that with a little bit of searching, I haven't been able to find any resources that provide what I'm looking for.
I intended on starting with natural resources (rocks, minerals, etc) and was trying to find some sort of precompiled, non-html, parseable database, and couldn't. While that's the first thing I was looking for, I'd be interested if anyone can help me find anything of the sort. If anyone knows a resource for this sort of thing, let me know?
Thanks much.