Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  
Pages: 1 [2]

Author Topic: Ability to Design Sites and Buildings  (Read 3830 times)

Eric Blank

  • Bay Watcher
  • *Remain calm*
    • View Profile
Re: Ability to Design Sites and Buildings
« Reply #15 on: April 25, 2010, 06:20:26 pm »

Speaking [of] ruins, how would this system handle them? would a random part of the building be destroyed or would it be better to plan it?

I think it should be either or, depending on the individual each building. Randomized buildings are a necessity as well.
Logged
I make Spellcrafts!
I have no idea where anything is. I have no idea what anything does. This is not merely a madhouse designed by a madman, but a madhouse designed by many madmen, each with an intense hatred for the previous madman's unique flavour of madness.

Arkenstone

  • Bay Watcher
  • Perfect Clear Diamond
    • View Profile
Re: Ability to Design Sites and Buildings
« Reply #16 on: April 25, 2010, 07:14:06 pm »

Sounds nice, but I think that one or both of two other ways might be better:

1.  The sites remain hard-coded, but Toady has everyone on the forums help write that code to make a nice variety of designs.
2.  The smaller buildings (like hovels) are like workshops that have impassible tiles all around the edge, a door and a roof.  They'd be made out of ~5 wood and a door; would be empty, but with the ability to put other buildings (like beds) inside; and would be one of the most important buildings in Human Fortress Mode.
Logged

Quote from: Retro
Dwarven economics are still in the experimental stages. The humans have told them that they need to throw a lot of money around to get things going, but every time the dwarves try all they just end up with a bunch of coins lying all over the place.

The EPIC Dwarven Drinking Song of Many Names

Feel free to ask me any questions you have about logic/computing; I'm majoring in the topic.

Eric Blank

  • Bay Watcher
  • *Remain calm*
    • View Profile
Re: Ability to Design Sites and Buildings
« Reply #17 on: April 25, 2010, 10:09:30 pm »

But hard coded is no fun. :c
Isn't it nicer to be able to give structures to your civilization yourself? Then you can make a completely unique one with their own architecture. Modding is big, simple, and entertaining in DF and bigger modding is more potential for horrible calamities Fun.

I don't really understand what you're getting at with the second part...
Logged
I make Spellcrafts!
I have no idea where anything is. I have no idea what anything does. This is not merely a madhouse designed by a madman, but a madhouse designed by many madmen, each with an intense hatred for the previous madman's unique flavour of madness.

Rotten

  • Bay Watcher
    • View Profile
Re: Ability to Design Sites and Buildings
« Reply #18 on: April 25, 2010, 10:51:59 pm »

awesome
I like this idea. If it's OK, here's what I would do to expand it.

Code: [Select]
[building: Hovel] <- what is it
[owner: citizen] <who owns it
[ownerwealth: 0<w<100] <- this comes in handy later
[location: outskirts, slums] <-where is it located
[prefstring: small]
[prefstring: dirty]
Z1
wwwww
wTCBw
D..bw
wwwww
Z2
.....
.....
.....
.....
[building: House]
[owner: citizen]
[ownerwealth: 100<w<1000]
[location: outskirts, center]
[prefstring: tidy]
[prefstring: adequate]
Z1
wwwwwwwwwwww
wb..D.D.TT>w
wwwww.w.cc.w
D.....D....w
w....ww.BBBw
wwwwwwwwwwww
Z2
wwwwwwwwwwww
wC........>w
wC.........w
wC.........w
wC........bw
wwwwwwwwwwww
Z3
............
............
............
............
............
............

[building: Inn]
[owner: town]
[entitylocation: leader] <-someone who is guaranteed to be at this building
[prefstring: beer]
[prefstring: more beer]
[prefstring: goverment]

blah blah lazy

[building: temple]
[owner: civreligion]
[entitylocation: priest/ess]
[entitylocation: high priest/ess]

yeah yeah

[building: shop]
[owner: citizen: storeowner] <- adding a : defines class of citizen
[children: template: type: item] < just a timesaver. Children: template means copy template type: item to all child tags
     [general: all]
     [grocery: plant, meat, drink]
     [brewery: drink]
     [butchery: meat]
     [crafts: craft]
     [clothing: clothing, armor]
etc...


etc.


And then for the site RAW. This could be done just like Knight Otu said, so I'm just mentioning something that's more indepth than the current system of towns, This requires town populations to grow while you are playing the world.

Code: [Select]
[civ: human]
     [building: always: inn] <- town MUST have an inn
     [building: always: topop: class: residence] <- would set amount of residences equal to the number of people defined in the wealth equation mentioned in their respective RAWs
               [building: hovel]
               [building: house]
               [building: mansion]
               [building: apartment: expand] <- means it is expanded instead of adding another
     [building: progression: size: store: affecttemplate: invalidate] <- stores after the general store are set up in a progression, defined below (more notes at [1])
               [general] <- since general store is first, it must be present
                    [grocery] <-is tabbed in to show that gen. store is prerequisite
                         [brewery]
                         [butchery]
                    [craft]
                    [combat]
                         [weapon]
                              [ranged]
                         [clothing]
                              [armor]
               etc...
     [building: always: prerequisite: river: bridge]


etc...

[1]- classes of building X (in this case, stores) progress in number of types in reference to progression: x (in this case, size of town, so larger towns have more shops). affecttemplate
means that child tags affect parent tags from the buildings RAW. Since stores (and other buildings set up similarly) are set up there (for items) and here (for progression), modding is
easier (because it is broken up logically). Invalidate means that parent buildings are kept, but whatever is in their template from the buildings RAW is removed if in the child template when the child is built. Ok?
Other things could be copy (keep template items in parent, but also in child), remove (remove parent), etc.
[2]- this was to long to fit on one line to not break the format, so I stuck it down here.  Prerequisite is used to say that it is built when it's type (class) need is met (in this case, citizens are 50 or greater)

General note: Though the tags look confusing, they aren't. The basic structure:
[building- it is a building (seems dumb, but this structure could be applied to other things)
always: means that it must be present, will be force-generated even if materials to make it don't exist
topop, prerequisite, progression: are all related. Means how should be made, when, why. For instance, topop means build x, in relation to population required, prerequisite means     
          you need this, progression means move up the chain in relation to x
class tag (bridge, butchery, inn, etc.): defines what the rest of the tag refers to. Can be a general category (...on: size: store]) or singular building (like [general] or [butchery].
 Normally for singular buildings you have to define general and specific ([building: always: store: general]), but if the item is already classed by being tabbed under another like:
          [...:store]
               [general]

          than it's fine.

Basic structure: The basic structure of a building tag is [building: when/why built (always, progression: factor, etc.): what built],  return, tab, children tags (if applicable)

Though these look complicated, they're actually really simple and (hopefully) powerful. They also are probably more confusing then they should be, typed this wall at 11 PM.
Logged
True, but at a certain velocity the resulting explosion expels invader-bits at fatal speeds. You don't want to be dropping trogdolyte-shaped shrapnel bombs into your boneworks.
Only in Dwarf Fortress...

Arkenstone

  • Bay Watcher
  • Perfect Clear Diamond
    • View Profile
Re: Ability to Design Sites and Buildings
« Reply #19 on: April 26, 2010, 07:35:05 am »

That's so similar to a workshop raw, might as well make it one (for humans only); after all, you need some reason to build hovels in a potential Human Mode, who wants to spend 20+ wood to do so?  This way, it becomes feasible to make such single structures.  Besides, hovels should be easily destroyed by stuff like trolls.
Logged

Quote from: Retro
Dwarven economics are still in the experimental stages. The humans have told them that they need to throw a lot of money around to get things going, but every time the dwarves try all they just end up with a bunch of coins lying all over the place.

The EPIC Dwarven Drinking Song of Many Names

Feel free to ask me any questions you have about logic/computing; I'm majoring in the topic.

Toady Two

  • Bay Watcher
  • [CAN_SCIENCE]
    • View Profile
Re: Ability to Design Sites and Buildings
« Reply #20 on: April 26, 2010, 08:02:53 am »

It's a very good idea. What could also be added is the ability to randomize the shape of a building type and choose from a selection of hovels and such. That way sites would be more colorful.
Logged

Arkenstone

  • Bay Watcher
  • Perfect Clear Diamond
    • View Profile
Re: Ability to Design Sites and Buildings
« Reply #21 on: April 26, 2010, 03:47:01 pm »

...choose from a selection of hovels and such.
That's what I'm talking about when I say:
The sites remain hard-coded, but Toady has everyone on the forums help write that code to make a nice variety of designs.

Essentially, the people from the forums are making the different styles of buildings; the reason why I said hard-code it is because that's easier than making a raw file interface.
Logged

Quote from: Retro
Dwarven economics are still in the experimental stages. The humans have told them that they need to throw a lot of money around to get things going, but every time the dwarves try all they just end up with a bunch of coins lying all over the place.

The EPIC Dwarven Drinking Song of Many Names

Feel free to ask me any questions you have about logic/computing; I'm majoring in the topic.

Eric Blank

  • Bay Watcher
  • *Remain calm*
    • View Profile
Re: Ability to Design Sites and Buildings
« Reply #22 on: April 26, 2010, 04:49:19 pm »

It's a very good idea. What could also be added is the ability to randomize the shape of a building type and choose from a selection of hovels and such. That way sites would be more colorful.

With what had thought of as site definitions, the player could define every building type allowed in that site type, the minimum and maximum and such, so that if you were to give it more than one building that's designed to be a hovel it will randomly choose between any of the possible selections for hovels each time one is placed in the site, and factoring in wealth of the persons assigned to each hovel would also be used, based on the wealth needs as given in the building's definition.
__
I don't like the idea of hard-coded sites for the reasons I've already given, but it is a good idea considering it's about the only way it'll ever get in any time soon.
Having players define their own sites will also be nice later on, when, as I understood it, players will be able to create their own civilization based around an adventurer, and it's entirely possible still that toady may allow the player to define everything about their new-founded civilization, including their sites, for which all this would be immensely helpful.

Still saving all the suggestions made here.
« Last Edit: April 26, 2010, 04:59:52 pm by Eric Blank »
Logged
I make Spellcrafts!
I have no idea where anything is. I have no idea what anything does. This is not merely a madhouse designed by a madman, but a madhouse designed by many madmen, each with an intense hatred for the previous madman's unique flavour of madness.

CaptApollo12

  • Bay Watcher
    • View Profile
Re: Ability to Design Sites and Buildings
« Reply #23 on: April 26, 2010, 11:33:59 pm »

I fully support this idea. It would have to be delt with everything else. Like if toady wanted to have something wierd and awesome and this being a placeholder would not work. something htat will stay the way it is would be needed to be implemented. If I make sense.

I want toady to do things with worldgen a lot more. If a single save takes up 4gb im okay with that.
Logged
"MONTARON!  You are so AGGRAVATING!   'Tis disturbing to my demeanor..."
Pages: 1 [2]