2013-05-15

Weekly update MS04x20

Alright, I started to work on foreground generation and got distracted with room types.

One of things that I really want to have in Dragontorc is ease of adding new content by random people. If someone wants to add new type of wall for castle rooms, they should only need to define that particular piece, give info about it and game should learn about it, where it should be used and use it only there. That's why I have tag system and tag conditions. With them, you can define room types (or regions, more on that later) that they are described as "medieval castle" (two tags, "medieval" "castle") and that that room type accepts pieces that have both of these tags. Actually tag condition can be used in more advanced way, making it possible to write "(darkage or medieval) castle". And with "disallow" tag condition it can avoid using fantasy elements (put "fantasy" in right place and all pieces tagged as fantasy won't be used).

And pieces may define kind of rooms. For example bookshelf may tell that it should be in "library" and new room will be defined that tells what "library" is. And if user wants, they may define "library" with given room type.

Stop. Room type? Kind of room? That's what is my problem here that naming is quite problematic. I will probably change it, but for now it is:

  1. Region Type - region is area of similar graphics/mood in game. It might be castle, forest, village, stone henge and so on. It contains room of different types (kitchen, corridor, clearing, etc). Is defined with tags, collects pieces of similar tags
  2. Room Type - I am considering to rename it to Room Template. It might be more general description of room, kitchen, library, that is not dependent on region (so it might be kitchen in castle or in space base).
  3. Room (Kind) - I have no idea how to name it, it is just plain name of kind of room - kitchen, corridor, clearing and it used to differentiate various rooms within Region Type.
  4. Room Pieces - various room pieces that are building blocks of each room. They may define Room (Kinds) within Room Type.
This sounds complicated when I try to write it quickly and some documentation will be required to describe it properly. But on the other hand, with examples (xml files with graphics) it should be very easy to understand and to use.

By the way, yes I am using lots of xml files and at the moment I have no need for editor but I'd like to see one being done in future - maybe even not by me :) This will of course require some tools to test stuff that could be run from commandline or integrated into actual editor, but that should not be complicated thing to do (not the commandline version).

No comments:

Post a Comment