Friday, May 20, 2011

Content intermission

I am cleaning up the editor and getting rid of unwanted data. Here I will be recording the data that will go in to the first versions of the game, the data planned and the placeholder data that I am removing. "Release" date is approaching fast, so I need to clean things before you can get your hands on the editor (or not).

First biome will be "Generic forest". Come to think of it, it is not really a forest. It should be called something better, but I'll give the final names once the list is more stable, probably names based on real life climates. It will contain a fair balance of bushes and trees, with a fairly uniform distribution. Tree list: birch, oak, pine, willow. Thea leaves and fruit of these trees lack any special uses, just the general uses. They are not a viable food source. Bush list is not final, but will contain 3-5 plants, 1-2 for alcohol, 1 smokable, 1 usable in clothing industry. And of course these plants will be the primary food source. All plants will be surface plants. As I said, there will be no turtling up deep in a cave in the initial phases. I want you out in the open, working the fields and defending them, while balancing that with an ever increasing underground fortress. Once watter is in the game, willow will prefer wet areas.

"Generic forest" will be the first supported and maintained biome. The second will be "Fruit forest", with an abundance of fruit baring trees and plants having a more industrial role. Third will be "Dense forest", with a lot of coniferous trees, a high area that is an industrial heaven, bot has less sources of food.

Then will have two shrub-lands, on dry, with only a tree here and there, and the second a swamp. And one desert area, with cacti. I have no idea how to make you survive here, and the realism of food generation will probably take a serious hit here.

I am focusing on "Generic forest", which will be little baby's first biome, a fairly generic, balanced and bland one. Te rest of the biomes are a little sketchy, and if time does not permit it, "Stoneage" will only feature this biome and if I can help it, the desert one (because of the challenge).

So: Generic forest, Fruit forest, Dense forest, Shrublands, Swamp, Desert. The list is short but I don't want to launch a bazillion of different biomes with uninteresting differences between them. I want each to have its own feel and own unique list of plants and animals, an I'll keep adding to the list whenever I get a new idea. I am already designing a fantasy biome.

What is removed from the biome list? All DF biomes, including: Mountain (I'll have mountains, but they won't be a biome; adding specificity here is done by height rules), Glacier, Tundra, Temperate Freshwater Swamp, Temperate Saltwater Swamp, Temperate Freshwater Marsh, Temperate Saltwater Marsh, Tropical Freshwater Swamp, Tropical Saltwater Swamp, Mangrove Swamp, Tropical Freshwater Marsh, Tropical Saltwater Marsh, Taiga, Temperate Coniferous Forest, Temperate Broadleaf Forest, Tropical Coniferous Forest, Tropical Dry Broadleaf Forest, Tropical Moist Broadleaf Forest, Temperate Grassland, Temperate Savanna, Temperate Shrubland, Tropical Grassland, Tropical Savanna, Tropical Shrubland, Badlands, Rocky Wasteland, Sand Desert. River and ocean biomes were never included.

I mentioned birch, oak, pine, willow as the trees included in the first biome. Here are a few more trees: acacia, alder, ash, birch, cedar, chestnut, cacao tree, kapok, mango tree, larch, mahogany, maple, mangrove and palm. The list is still missing a few classical fruit trees (apple, pear, orange...) and a few made-up trees that I will be using to balance a biome. Saguaro is the only cactus I have right now, but I'll add 3 more.

I removed all DF specific trees: blood thorn, candlenut, feather tree, fungiwood, glumprong, highwood, black-cap, goblin-cap, nether-cap, rubber tree, spore tree, tower-cap and tunnel tube.

Plant list is in disarray now, I will talk about plants in another post. But the plan is to have a few bush like plants, but also 1-2 grain barring high density plants that you will plant in large farm plots. These plants will appear in small patches here and there, but the sharp contrast between the landscape in its natural form and after dwarf hand intervention that changed it to support your fortress' population is intentional. There will be no mushroom in the first version and nothing can be planted underground or under poor conditions.

The animal list is even worse, but I am not doing animals for "Stoneage". But the domestic animal list will be the same as in DF (those are actually domestic animals), but without mules (do we need to have the difference between a donkey and a mule? I think not) and camels. What I want is that each biome shall have a specific semi-wild but half-trained animal that you can choose preembark if you wish. This animal will be very expensive but provide a biome specific unique advantage. You won't be able to get two without severely gimping your initial supplies, so you will need to capture a mate for it if you want more. Why not just capture a specimen in the early stage without buying one? Because the bought specimen will give a significant boost in domesticating the species .

That is enough about content for today. As you probably noticed from the images, the editor has gone through some changes, but I will talk about those in a next post.


  1. Thing thing I wonder about the editor views is why? What advantage do they have over some format of text files?

    The don't look bad, but it seems like almost no matter how fancy you make them, modding would still be slower than directly editing a text file.


  2. To JP:

    The same reason I have turned down other solutions, like text files, databases, excel spreadsheets (and other ideas suggested to me by mostly IT background people or engineers): because it is not user friendly. I do not want you to install a database, use some difficult program or even edit text files. Once I have a successful launch, if people start using text editing exclusively I will encrypt data files. Not to force you to use my tool, but to save you the hassle of using primitive and cumbersome methods.

    As with my game, the experience the user will have is key, and this ideology is a core part of all the products, including the game, the editor, the site and the service (once they will be available). I am not one to cut corners at a GUI or something for the sake of my own convenience.

    Also, the editor can present to you data in a more human readable format and can cross reference data.

    Also, XML files are a temporary solution. Since the game changes so much right now, so does the data. XML is very resistant to change. But the files are very big. In the future I won't be able to afford hosting costs once mods will have several hundred of KiB or even a few MiB of XML files accompanied by a lot of PNG files. Sure, sticking them into a ZIP file will extend the maximum size of content packs a lot, but this is a band aid solution.

    Another thing that the tools will do is mod merging. You will be able to design a mod that only changes only a few properties of an object, without breaking compatibility with the game or any other mod that does not depend on that particular value of that property. This will be very hard to do in a text editor manually.

  3. Oh yeah, I forget one more very important reason. DwarvesH actually has graphics. And while it may not seem like it, it already has a ton of tiles. These tiles can't be just dropped somewhere randomly and they will work. There are very specific requirements.

    But the responsibility of placing tiles in the right places is also handled by the editor. And it caches the results. Without it, you would need to manually edit large tilesheets every time you install a mod with graphics. And undo these changes once you uninstall it.

    But more on how to create mods in the next post.

  4. Fair enough.

    Although you do preclude the possibility of some forms of user generated content this way. For example, if people wanted to write their own script to dynamically generate a bunch of fantasy trees (and heck, procedurally generate the sprites... that'd be fun) they could. With the editor, that'd be a little harder.

  5. Not necessarily. These script need to output something, right? So all you need is to make them output a fairly simple XML file and a PNG file with the sprites. All you need to do then is run the editor, which will be unavoidable since it will be run once at game execution to make sure that the cache is up to date.

    Last time the subject of procedurally generated content came up, I found the idea intriguing but did not have the framework support to do anything about it. This time I want to try something, so stay tunned.

    As for generating the sprites procedurally, that would be extremely interesting, but I have no idea right now how one could tackle this subject. contributions are welcome :)!