Inactive Holdings

Discussion in 'Modules' started by Brokenshakles, Feb 3, 2013.

  1. Brokenshakles

    Brokenshakles New Member

    Cervator edit: Renamed to Holdings and moved to Modules. I made a tiny start to the Holdings module a while ago, maybe I'll get back to it again sometime, but anybody else is welcome to help out!

    Hello everyone!,

    This thread is the product of several conversations in the #terasology IRC room that has resulted in some basic ideas for how we want fortresses in Terasology to work. To start, here is the log of the most recent conversation on this topic:

    (10:33:49 PM) brokenshakles: Anywho, we were talking about skill/level systems?
    (10:33:55 PM) Cervator: earlier, yeah
    (10:34:04 PM) brokenshakles: What direction are you leaning in?
    (10:34:07 PM) Cervator: level is easy to start with, would love to see skill later
    (10:34:19 PM) Immortius: just for minions? or for players?
    (10:34:22 PM) Cervator: early level of a specialized minion could just as well be a skill-based system
    (10:34:43 PM) Cervator: i think for discussion / brainstorming we're mainly talking minions
    (10:34:45 PM) Josh_: Just for minion's For players to have skills wouldn't really make sense in a game like this
    (10:34:46 PM) Josh_: lol
    (10:34:53 PM) brokenshakles: I like the way Eve combines the two, but if we did someting similar to that, the whole tech-tree metasystem that it implies would have to be further developed.
    (10:34:55 PM) Cervator: since that's the thing these days and we don't have a player yet :)
    (10:34:57 PM) Josh_: maybe for a mod though
    (10:35:26 PM) brokenshakles: Should there be skills/levels for the player?
    (10:35:32 PM) Cervator: :love: EVE although yeah translating some stuff like that could be tricky
    (10:35:37 PM) Josh_: I don't think so.
    (10:35:42 PM) Cervator: _probably_ ?
    (10:35:48 PM) Cervator: of some sort
    (10:35:51 PM) Josh_: maybe for a mod though
    (10:35:53 PM) brokenshakles: I mean if we are going more in the DF direction, I would keep it strictly minion bound
    (10:36:07 PM) Cervator: well everything is a module anyway :)
    (10:36:11 PM) Josh_: Minion Bound is the way to go I think.
    (10:36:24 PM) Cervator: wouldn't make any sense in a free style mode, could make sense in a manager mode
    (10:36:30 PM) brokenshakles: Yea, you lose the minion, you lose the skills/levels
    (10:36:33 PM) Immortius: later we will have actual gametypes and mods I think
    (10:36:40 PM) Immortius: as combinations of multiple modules
    (10:36:40 PM) Cervator: yup
    (10:36:47 PM) Immortius: but, that is another story
    (10:36:52 PM) Josh_: You can't really "Lose" the Minion
    (10:37:01 PM) brokenshakles: Right, but you still need a system of progression underpinning it.
    (10:37:19 PM) brokenshakles: Really? Minions can die, last I checked.
    (10:37:30 PM) Josh_: They can.
    (10:37:37 PM) Cervator: well, minions aren't really developed for realism / balance yet
    (10:37:42 PM) Josh_: Never said they could stay dead.
    (10:38:04 PM) Cervator: maybe one take on the setup would take the player's *estate* as the progression, rather than arbitrary player level/skill
    (10:38:13 PM) Cervator: the bigger and fancier the estate the better minions you can support
    (10:38:18 PM) brokenshakles: Right.
    (10:38:44 PM) brokenshakles: Minions build the estate, the estate accelerates the rate of progression of the minions
    (10:38:50 PM) Josh_: Minions are zone based right now.
    (10:38:55 PM) brokenshakles: The relationship is symbiotic.
    (10:39:10 PM) brokenshakles: Like in the Rollercoaster tycoon games?
    (10:39:11 PM) Cervator: zones could be made by constructing appropriate rooms and such :)
    (10:39:23 PM) Cervator: aw, one of the ones i didn't play
    (10:39:47 PM) brokenshakles: Well, the estate could be bound to a root structure, such as a keep or forum
    (10:40:47 PM) Cervator: yup
    (10:40:59 PM) brokenshakles: Besides, thats how most RTS's are arranged, with an MCV taking the place of a keep.
    (10:41:10 PM) brokenshakles: and DF is an RTS of a sort.
    (10:41:26 PM) Cervator: some of my very early design ideas revolved around a portal / town hall of sorts, which could come in different scopes (estate / town / region / civilization ...)
    (10:41:46 PM) Josh_: Let's not turn minion's into Sims 4 :D
    (10:41:57 PM) brokenshakles: Yea, you could also have more than one, bound up in a heirarchical structure.
    (10:41:59 PM) Cervator: just grabbing some icons from the Sims and we'll be happy ;)
    (10:43:13 PM) brokenshakles: Is there a wiki page for drawing out these Ideas on something more tangible than our own musings?
    (10:43:43 PM) Cervator: there were a few old write-ups in the old wiki, i've still got some backups around here somewhere
    (10:43:55 PM) Cervator: we've been using Incubator threads in the forum for most the brainstorming these days
    (10:43:58 PM) Josh_: If you read our convo before we already have an idea better than Estates or w/e, the zones.
    (10:44:08 PM) Cervator: the wiki write-ups were never very extensive
    Last edited by a moderator: Feb 12, 2015
  2. Brokenshakles

    Brokenshakles New Member

    (10:44:20 PM) brokenshakles: Tell me Josh, how is it better?
    (10:44:37 PM) Cervator: yeah today alone probably built up more design thoughts on the topic ;)
    (10:45:01 PM) Cervator: also: huh, zones and estates go together
    (10:45:02 PM) Josh_: Specifying different areas rather than it all being cramped into one small area
    (10:45:23 PM) Cervator: estates are huuuuuuge and would encompass areas like surrounding fields and such :)
    (10:45:26 PM) brokenshakles: Who said about craming in all in one small are.
    (10:45:42 PM) Cervator: food production, living quarters, training halls, crafts, industry, etc
    (10:45:56 PM) brokenshakles: the root structure is just that, a central structure that other building reference.
    (10:45:59 PM) Cervator: you could have a whole NPC village being part of an estate
    (10:46:09 PM) brokenshakles: the estate would be as large as you could build it.
    (10:46:15 PM) Cervator: right, "estate" is more of a concept
    (10:46:17 PM) Josh_: Well, the minions could build the estate, but the size of the estate isn't being used for Stats
    (10:46:24 PM) brokenshakles: So you would have a root structure to attach your zones to.
    (10:46:31 PM) Cervator: right
    (10:46:51 PM) Cervator: minion stats are likely an independent system
    (10:47:30 PM) Josh_: And what you're talking about is minions building an area for the zones, which is what we already talked about.
    (10:47:33 PM) brokenshakles: Like I said before, its like a MCV in C&C, its the first structure built, and allows you to build other structures, but it doesnt really limit the size of your base, it only limits how far away new structures can be built from existing ones.
    (10:48:03 PM) Cervator: this is a subtly different topic, sort of a wrapping system around zones
    (10:48:11 PM) brokenshakles: Right.
    (10:48:33 PM) brokenshakles: Remember, DF uses both structures and zones in conjunction with eachother.
    (10:49:00 PM) Josh_: Just read the convo we had before
    (10:49:01 PM) Josh_: :p
    (10:49:02 PM) Cervator: in theory a player could build an estate complete with zones without ever using minions, even if that would probably lose out on some of the flavor of the game and make some things take way longer :)
    (10:49:09 PM) brokenshakles: You build a carpenters shop, and then a lumber zone to put the raw materials/finished products in.
  3. Brokenshakles

    Brokenshakles New Member

    From this conversation we now have a rough idea of a direction we could go in concerning how to define a players territory for a fortress type game mode. The central idea is a central structure that must be built before other structures spawn. The "Estate" as we are currently referring to it as, would be upgradable, and there has been a suggestion that we allow a player to control multiple estates in a hierarchical structure. This thread is here to receive ideas and commentary on how this part of the game should be built, and to hash out the fine details of it's implementation. I will be adding suggestions to the third post of this thread as new ideas come in and are greenlighted by Cervator and friends.

    So far we have 3 general classes of objects that would make up an in game fortress:

    Estates -
    I propose that the estate central structure/zone be made up of a foundation that occupies no less than a 8x8x1 platform and no more than an 64x64x3 platform.The structure that sits atop this foundation should take a volume of no less than 8x8x5 and no more than 64x64x15. Note that sizes are listed in LxWxH order. Note that for those of you who think that the maximum bound is a bit large, thats the point, the largest estate house should be an object of splendor and wealth. Note that this structure is simply the central building that represents the heart of an Estate, it is not the entire player fortress, which is comprise of the zones attached to the estate.​

    Structures -
    I don't know what structures have dummy info created yet, so be sure to update me with that info so I can include it here.​

    On the topic of structures in general, I think it may be better to do "peicemeal" structures, where a specific structure is in fact a zone with the proper contents and form. For example, a Carpenters Shop would be defined as a "Workshop" type zone contained inside of a "Room" zone with the following structures attached to it/located inside of it: a workbench, a capenters toolbox, a sawtable. In order to upgrade such buildings/zones, the player would add additional structures to give the zone more capabilites, for instance, the above could be upgraded with additional structures, such as a lathe. This design strategy would allow more flexibility on the part of the player, instead of just having statically defined buildings that take up a standard dimension.​

    Zones -
    As new zone types get proposed I will add them here. There are already some zones implemented, but I don't have a complete list, so if you have that info be sure to post it. Note that all zones are presumed to be defined 3 dimensionally.​

    **Note: The following zones are my own personal proposals, and are subject to change and rejection. ***​

    Room zones: This is, of course, the basic container zone, it can be made any size, given a minimum size that allows for at least 1 minion to stand inside of it (recommended minimum size of 1x1x2). Note that the outer boundaries of the room is defined where the empty space meets the wall, and does not include the wall itself. All rooms also require at least 1 portal to an exterior zone (usually a hall, or another room) and there must be a traversable path from the outside world to the room zone. Note that there is no requirement for an actual door, a hole in the wall that is large enough to allow a minion to pass qualifies. However, a room that is not fully closed in by a door, or has one or more open portals to an outdoor area, will be considered an "outside" area.​

    Hall zones: The other basic element of interior architecture, these are long, narrow voids used to provide a path for foot traffic to reach rooms. Hall zones have the same basic requirements of rooms zones, and have exterior boundaries that are defined the same way.​

    Easement zones : These zones are optional zones that can be placed around certain types of structures and zones to mark off space for their future growth. I propose this because many types of sim games allow you to upgrade structures, but often do not inform you of the maximum space the higher level structures occupy when you build the initial building. When a low level structure is being placed, there should be an option presented then for an easement zone to insure nothing is build in the way before structure upgrades can take place. There should be an easement zone size available for all possible upgrade sizes a structure can take.​
    • Like Like x 2
  4. Brokenshakles

    Brokenshakles New Member

    This post reserved for space.
  5. Cervator

    Cervator Project Lead and Community Wizard Staff Member

    This is a good topic with a lot of content to it - actually probably multiple topics:
    • Estates as a concept - this could be an excellent point for extensibility with the structure size above being one implementation example. Think of it as a "Dungeon Heart" from Dungeon Keeper. Alternatively somebody could write an setup where a holy bunny on a golden pillow could be defined as the center of an estate :) Or a more straight forward variant: a portal, akin to the ones in DK, that allow for entry/exit of creatures. We may want to do a terminology split between "estate" (the whole castle/village, etc) and the "heart" (the entity that serves as the technical center/definition object for the area)
    • Estates functioning as a hierarchical organization method. More of a world structure concept, mostly taken from my earlier thoughts on portals. A player can establish an estate by making a portal while a nearby NPC village also has a world portal (attracting/generating the villagers). Player can do something to gain lordship over the village, tying the village and estate together. A kingdom could link several villages and estates together. "Chain of command" flows via this system for advanced stuff like tax collection, should that be a direction we go in.
    • Player organizing - one player can invite another player to their estate and give them rights to help manage it. One player can hold multiple estates in different places.
    • Structures as mentioned above - very Dwarf Fortressy, could consist of rooms with assorted tools and gadgets in them giving them function. Workshops, in other words (a workshop can contain multiple "structures" if that's what we call the tools)
    • Zones are starting out over in miniions to help control creatures and give them goals. Independent concept that can be used entirely without estates (simply defining "wild" gathering zones in the middle of nowhere, for instance) as well as within estates to organize rooms ("estate zones" ?)
      • For "Room" type zones I'd actually suggest including the walls to be able to include them in calculations and usability (think tools embedded in walls), Good example is how the material and quality of the walls making up a room impacts its "value" in DF and thus how much the inhabitant appreciates it
      • "Hall" type zones sound more like "Traffic" zones to me, and may not really be zones as we think of them in the context of minions, more a tool for pathfinding
      • "Easement" zones are a cool idea and definitely make sense, lest we cram stuff around the "dungeon heart" to where it can't be expanded in the future ;)
    • Score / statistics - an estate could be a central point to calculate score and assorted statistics on, akin to DF where your fortress had a total value equal to the worth of all objects contained within it. Some people like arbitrary numbers :)
    Exactly how to continue with the design and implementation of all this - oh boy :D

    overdhose is doing well with having minions interacting with zones and Josh is able to help out there with stats and such. Maybe more items placed inside zones as well?

    In the meantime we could probably start a second front beginning to define an estate / expanding portals to do more than just spawn things. Maybe connect the player as an individual to an estate and an estate to existing minion zones. Perhaps figure out a "dungeon heart" (which could probably be a portal) and interacting with it. Upgrading it? Visual representation of the "reach" of something like that, with everything inside said reach having ownership and/or value properties? Tying multiple estates / dungeon hearts together? A progression tree for estates and what it can support?
  6. overdhose

    overdhose Active Member


    The current zone system is a vey basic way of doing things. TBH : just a few hours ago as I was defining a new residential zone, I started thinking to myself : man this needs work. But for now, it does the trick to provide "something", in the "good enough" category. I sure do plan things like a farm building (which will be a zone of it's own) that "links" to subzones being the fields, and possibly first refinement tools inside the farm, or stables etc...

    It wouldn't be hard to define a zone like a "warehouse" for example, and then have every chest added to it being it's own "mini-zone" or "subzone" that adds itself automatically on placement (though i still have to figure out how to do that, most likely I'll make chests with an extra "component" I can intercept when added to the world).

    Then comes the question of the management of it all. To what level would we want to manage things? Do we need a screen to manage chests within a warehouse for example? Should chests have a subtype that defines what can be stored in them (specific types (tools, food, etc) or specific items (hammers, apples, etc)), or do we just manage the warehouse as 1 big storage.

    One thing I have been considering is have the minions add crafted "machines" (or tools, furniture etc) themselves to zones, which could be seen as "upgrading" the zone. This would solve my auto zone creation problem, when the minion puts down a block in a predefined zone, the added block becomes a subzone, and I can store it's location at placement. Say the minion claims an empty house, picking up a bed and placing it in his house, a rest zone would be created where he can sleep.

    As a dungeon heart, i had some weird idea of a chocolate volcano that occasionally spits out an oreon as a starter point. It's a lot goofier then a dungeon heart. But this is just an idea to, I have no idea how I would practically add this, else I would have done it by now.
    • Like Like x 1
  7. Cervator

    Cervator Project Lead and Community Wizard Staff Member

    Haha, +1 for "chocolate volcano with Oreon eruptions" :D

    Could be a nice example of a natural portal creating neutral creatures ;)

    As far as management goes I'd look for a balance where the player "teaches" the system, doing each thing a few times then the minions learn how things are done and try taking over. As long as the player can make tweaks later or whenever for the obsessive-compulsive micro-managers

    1) Player builds room
    2) Player places bed + table + chair in room
    3) Player gives room to minion
    4) Minion makes bedroom for other minion
    5) Player later decides king-size beds for everyone and tweaks the design woo!
  8. Cervator

    Cervator Project Lead and Community Wizard Staff Member

    Figured out a term I prefer: "Holding" - I think this might be a superior term than "Estate" as Josh rightly points out that confers more the image of a really fancy house. A holding (I'm channeling Crusader Kings II a bit here) can be just about any sort of property the player "holds" either directly or via vassals (your main house, a fortress, a city, a harbor, anything)

    It is that feudalism-like set of relationships I'd like to reuse also for managing the player's interaction with creatures and even other players.

    A single holding (say your basic first house) could have a household component attached which is where creatures get associated with you (and possibly other players). Holdings would also contain sub components which could be structures (individual buildings in a castle holding), which themselves could contain zones, items, and so on. Lots of hierarchical data.

    We just need something to be the "anchor" object that defines "There's a holding here, built by x at time y, and it relates to these other entities). One entirely different take on what this could be would be a banner with a heraldric crest / coat of arms on it, or a throne ;)

    While a household would probably mostly consist of followers/staff you could also take a step in the direction of building a family dynasty. More CK II inspiration there, but really more of a long-term idea than something to worry about just yet.

    In a far-future PVP option these "holding hearts" could also be how you contest opponent holdings. Imagine a village that is the central holding of a county (held by a count, who is probably a player). To contest control of the county you would likely need to defeat (make vulnerable) the hearts of individual holdings in the area, first outlying small towns/farms along with player constructions (like small defensive towers) then finally the fortified central village holding heart likely in a town hall / town square or so. This is a system I believe has been used elsewhere now and then, at least to some extent.
  9. Brokenshakles

    Brokenshakles New Member

    Hmm, "Holding". Sounds good. If I may dare to go a bit of distance and suggest an Actraiser/Black and White type angle, where the player is represented in game by a god-like avatar that all the minions worship, and the central structure in the holdings would be his/her personal temple. Like you said before, the structure would house a portal. The way I would see things working is that the avatar is indestructable as long as the portal/altar in the temple remains intact, but once all of a players temples are gone, the player loses his holding and must establish another temple. Note that this is just a flight of fancy, but you may take a liking to it.
  10. Cervator

    Cervator Project Lead and Community Wizard Staff Member

    Yeah that sounds like one good possibility. I had something similar in mind where any creature the player inhabits has somehow formed a spiritual link with an ethereal being (the player) allowing the creature to resurrect (explaining multiple lives). Temples could play into that as the player grows in power.

    On the other hand we might not want to push the divine aspect too much. That goes well with a single player game like B&W but could become somewhat comical when every single player in the world is a budding demi-god :)

    Anyway - there will be multiple game modes and some will be more suitable for that than others. I could see an "apocalypse" mode (we've talked about a bit in the past) where the world is about to come to an end, great time to start worshipping demi-gods that may be better able to lead a big dig to safety underground before the sky goes ablaze :D
  11. Skaldarnar

    Skaldarnar Badges badges badges badges mushroom mushroom! Staff Member

    Sooo, pushing out all the notes I took during reading, and some thoughts in my head from the city/building generation.

    The heart you discussed sounds like the city egg we had in the building related threads. So we may use the same type of data structure for the (hierarchical) use in the world, just chaning the type of what the egg represents.
    Regarding the villages/cities, the towncetner would likely be some kind of marketplace, for single holdings it may be the courtyard or a special room. In both places a simple flag or banner would be fitting, so the coat of arms idea is good in my opinion.

    All other types of rooms/buildings may have similar (invisible) eggs that hold the data about the corresponding structure, maybe redirection to substructues (we can use the entity system for communication, can't we?). I think for the long term its easier for the player to access storage rooms as a whole, given a good GUI for interaction, something like a catalogue which sorts the stored elements.

    The different types of rooms can be basically determined in three ways:
    1. when placing a block : the adjacent blocks must be checked for possible finished rooms, and a corresponding data container must be placed.
    2. during the generation by any generator, e.g. the building generator. The generators itself might place such containers properly.
    3. when instanciating blueprints for house. Either the eggs are already part of the blueprint or the blueprint is checkeck befor placement.
    This would avoid the need to check continuously for such strucutes in the world. The initial assumption is that there are no natural rooms or zones in either way (don't know if that an appropriate assumption).

    The last point on my agenda is the player organizing Cervator mentioned. What exactly do you mean with "invite another player"? Would you like the holding from changes by other players or NPCs? But that does not capture the ability to conquer hostile holdings. I interpreted the invitation as a rule for the miniions (the miniion guards especially) to not attack another player if he/she enters the holding. And here is place for more "social behaviour" of miniions, maybe they will be traitors to an evil master and open the doors :devil:
    • Agree Agree x 1
  12. Cervator

    Cervator Project Lead and Community Wizard Staff Member

    On player interaction I'm mainly thinking about the lack of ownership (sometimes there are assorted security hacks to get close to it) on a multiplayer server between individuals. A per-block variable to state what player (or whose minion) placed it would be awful, but using holdings and zones might work.

    Goal would be anti-griefing tools, score & achievements, stuff like that. In addition of course to allowing access to other players to help out with the "household" staff and resources like rooms and storage. And indeed if the desire was there for a PVP mode to make it possible to flip ownership under some circumstances. In fact, that could work in PvE as well if some NPC enemy force decided to show up and take over :)

    I'd think the most straight forward way to organize it would be to simply use the EntityRefs of the involved entities that indeed would end up being the same thing as the "eggs" we've talked about in the past. Maybe a zone should later be expanded from being a utility object in miniions to a full-fledged ZoneComponent in the engine so the owning entity could be referenced by other stuff.
  13. Brokenshakles

    Brokenshakles New Member

    On the subject of ownership, I think that using zones in order to define property is the way to go, and most closely reflects how we do it in the physical world. I think the best reference for this is the way national borders works in the more recent civ games, but the most basic implementation would be to disallow any alteration to a zone not initiated by the zones owner, and construct a more refined permission model/legal system of property from there.

Share This Page