Bay 12 Games Forum

Please login or register.

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

Author Topic: Dynamic Fortress Size  (Read 7969 times)

Pickerel

  • Bay Watcher
    • View Profile
Re: Dynamic Fortress Size
« Reply #15 on: August 04, 2008, 06:18:02 pm »

This would be wonderful!  Then I would not be forced to find maps which have huge peaks to make my 50 story towers!  This could ALSO speed up some games, by making so the comp. does not need to directly track what goes on, on floors not reached yet.  However, this would cause problems with current things like underground rivers and chasms.

My suggestion: since the seed inevitably determines what is there, have it so that it generates the next floor when in some way 'accessed' such as by building up to it or down to it.  BUT when one hits a chasm, have it generate the next 10 floors and from then on keep 10 floors beyond the depth dug.  And for underground rivers, expose the whole thing and the two floors below it.  And only do this when the feature is discovered.

If someone's CPU can handle 1000 levels, more power to them.  If, like me, we lag with 5 levels and 30 dwarves, the option to stay at no more then 5 levels would be wonderful.
Logged

Impaler[WrG]

  • Bay Watcher
  • Khazad Project Leader
    • View Profile
Re: Dynamic Fortress Size
« Reply #16 on: August 04, 2008, 07:30:48 pm »

I think the key to this is to actualy generate chunks of the map as they are needed, it already seems to me that their a framework of large squares that define the play map (100 x 100 tiles?), I think they directly corrolate to the area selected when starting the fort and they geologic level data from the world map (aka the rock is limestone, the surface is flat).  The play map is a collection of these 'super cells' 6 x 6 x ~30 = 1080 super cells.  But in most cases only a fraction of these contain any thing of interest, a number will be all air and most will be stone thats not mined out yet.  The game should keep all these cells un-instantiated untill their needed, only once their mined into do they need to be created from the known geologic data for the area.  They can be generated from a random number which is unique to each super-cell and which itself created from a master fort creating seed by combining the super cells x/y/z offset (0,0,0) being the waggon start, thus enshuring that the geology of the map is unique and can be extended infinitly in any direction.  By instantiating at the super-cell level rather then the whole z level we save a ton of memory and time as most deep mining will be very vertical and won't need the whole level.
Logged
Khazad the Isometric Fortress Engine
Extract forts from DF, load and save them to file and view them in full 3D

Khazad Home Thread
Khazad v0.0.5 Download

Puzzlemaker

  • Bay Watcher
    • View Profile
Re: Dynamic Fortress Size
« Reply #17 on: August 04, 2008, 07:53:22 pm »

Impaler, I only understood around half the words in that post, but I want to say that I believe that information for terrain is stored in 48X48 blocks or something like that.  You would just have to load the nearest 48X48 block and all it's neighbors, if I understand it correctly.  Making it dynamic might be hard, though.
Logged
The mark of the immature man is that he wants to die nobly for a cause, while the mark of the mature man is that he wants to live humbly for one.

JujuBubu

  • Bay Watcher
    • View Profile
Re: Dynamic Fortress Size
« Reply #18 on: August 12, 2008, 07:37:10 am »

I like impalers idea, since the area is allready created by world creation it should be easy to claim
more territory on the map borders within reason, no more than one area tile on the embark screen,
which would be a 16x16 fortress.
Downwards its only a matter of creating more with the world generator.

What I don't like is generating the area on the fly, it would not fit well with the consistency that marks the world of DF so far. Also this could lead to waiting times when the miner finally decides to dig that stair one level down.
Claiming should be a willfull act of the player, maybe tied to nobles in some way.
The player has then acces to the embark screen again, at least the area tile he embarked in,
and can claim new area next to his own. Or claiming more depth.
Since the world map will be needed anyways for moving armies this sounds reasonable.

Nobles meet the picture in either requiring a certain amount of base sqares .. no king would think
of moving to a fortress with less than 6x6 base sqares .. or being needed to resize your area at all ..
which gives them some right to live and put up with their demands .. because if you want a 5x5 sqare you need the baron ..
Logged

Impaler[WrG]

  • Bay Watcher
  • Khazad Project Leader
    • View Profile
Re: Dynamic Fortress Size
« Reply #19 on: August 12, 2008, 11:24:24 am »

I can't imagine that generating a 48x48 area of rock at run time is going to affect performance, its just a uniform mass of rock with few nodes, veins and clusters thrown down from the seeded RNG.  Storing it in memory is going to be the real issue not generating it.
Logged
Khazad the Isometric Fortress Engine
Extract forts from DF, load and save them to file and view them in full 3D

Khazad Home Thread
Khazad v0.0.5 Download

Puzzlemaker

  • Bay Watcher
    • View Profile
Re: Dynamic Fortress Size
« Reply #20 on: August 12, 2008, 11:56:36 am »

"Generating on the fly" is more akin to getting the data from the world map and generating it.  It's not really "On the fly".

I know adventure mode does it "On the fly" while you are walking.
Logged
The mark of the immature man is that he wants to die nobly for a cause, while the mark of the mature man is that he wants to live humbly for one.

WJLIII3

  • Bay Watcher
    • View Profile
Re: Dynamic Fortress Size
« Reply #21 on: November 10, 2008, 08:10:27 am »

Urist McSupertough, Mason cancels Contruct Floor: No gravity.

Urist McSupertough, Mason, botched Construct Floor: No objective direction of down, or up: Floor tiles placed on ceiling

Interestingly enough, I feel the problems that are being put forth are non-issues. This sort of modification will only take place after a number of other Arcs Toady already has on the list ahead of them, and with all respect to him, his coding is not a speedy process, mostly due to the incredible amount of detail he religiously adheres to, of course.

The point I'm trying to make is, by the time he gets around to making fortresses be able to expand and conquer, computers will be powerful enough to handle it.
« Last Edit: November 10, 2008, 08:15:01 am by WJLIII3 »
Logged

Swiftfreddy

  • Bay Watcher
    • View Profile
Re: Dynamic Fortress Size
« Reply #22 on: November 10, 2008, 09:07:00 am »

I doubt this would work. Mainly because your FPS would become so low that you wouldn't be able to play. This can't be like adventure mode because in adv you only control one person and their view. If you were to keep digging downwards to Z 1000 there would still be a dwarf up on Z 3 in a kitchen/masons workshop etc therefore you can't just save what was happening on Z 3 as while your digging down with your 1 dwarf time will still have to go by on Z 3 where, if its unviewable, a siege could be happening. It isn't possible to store away whats happening off screen like it is in adventure mode because you have control over the dwarves on that stored screen not just one dwarf and if you designate something to be brewed pause, go off that screen/Z level, resume and watch a miner dig downwards to Z level 1000 then time would have to stand still on that seperate screen until you come back to that screen/Z level where the Brewer would still be brewing and the miner on Z level 1000 would stop mining causing the two time zones to be different. If the Screens werent `Stored` away there would be too much space to comprehend and FPS would go down.

This could work if you can build scaffolding (stairs) or dig down (to the core of the earth) in adventure mode because all time on the other Z levels can stop and all the NPC's and such will stop moving and doing stuff while your away but otherwise I doubt it would in DF mode.
I want to be able to do this but unless someone posts a lengthy explanation that does pinpoint how it could work then I'd have no choice but to disagree.
« Last Edit: November 10, 2008, 09:10:27 am by Swiftfreddy »
Logged

Osmosis Jones

  • Bay Watcher
  • Now with 100% more rotation!
    • View Profile
Re: Dynamic Fortress Size
« Reply #23 on: November 10, 2008, 09:17:50 am »

more underground diversity
-- up on dev_next in part, though there are some issues with some of the desired ones, especially with digging down, since it can't load all that many layers, and solutions for slowing downward digging all seem sort of gamey or sketchy

Don't get me wrong, I'd love it if it were possible, but I don't think Toady knows how.
Logged
The Marx generator will produce Engels-waves which should allow the inherently unstable isotope of Leninium to undergo a rapid Stalinisation in mere trockoseconds.

Core Xii

  • Bay Watcher
    • View Profile
Re: Dynamic Fortress Size
« Reply #24 on: November 10, 2008, 01:20:04 pm »

I thought DF already does this? At least all underground blocks are unallocated until you mine into them. Only problem is that it's limited to 15 levels up and down.
Logged
Reality is for people who lack imagination

Mattex

  • Bay Watcher
    • View Profile
Re: Dynamic Fortress Size
« Reply #25 on: November 11, 2008, 08:15:43 am »

*If* this happens heres an idea to try solve the "FPS problem"(kinda)

Have the option in the init file like so:

[Dynamic_Map] Yes,No. (No means its what it is now. a fixed ceiling and floor. for those who cant handle the slowdown of ANY dynamic adding. Yes means its on and reads the "Map Limit"
[Dynamic_Map_Limit]*set a number between 20-Whatever* (chose random number)

The "limit" allows the game to dynamicly create tiles to a certain level (as to try and stop the FPS slowdown Via a limit. it obviously means it cant be "pure dynamic" to allow infinite levels, but you can set it to a level that your computer can handle without crashing via the "OH GOD TOO MUCH MOVING" thing.

Plus I don't think anyone would need over 100 levels of dirt. (although i never know, I've seen some of your Mega constructions. ;))
Logged
Quote from: Mattex
God i hated him. He burned, burned like those elven traders. "Hows THAT for magma-safe!"
Mattex McGamer Cancels Life: Interrupted by Dwarf Fortress

Correleon

  • Bay Watcher
    • View Profile
Re: Dynamic Fortress Size
« Reply #26 on: January 08, 2009, 11:34:07 pm »

I heartily support this, so long as Toady includes orbiting bodies in world gen, so I can build my scaffolding to the Moon, and claim it in the name of the Mountainhomes.<P>Plus: Dwarven Moon Base + Animal Pit = Dwarven Orbital Bombardment Cannon.
I prefer Dwarven Settlement cannon. I.E. it fires settlements. you fire it at a goblin fortress? say bye. dwarves get out and start digging.
Logged

brainfire

  • Bay Watcher
    • View Profile
Re: Dynamic Fortress Size
« Reply #27 on: January 09, 2009, 08:37:28 am »

I prefer Dwarven Settlement cannon. I.E. it fires settlements. you fire it at a goblin fortress? say bye. dwarves get out and start digging.

I thought we already have this.
Logged
You can allow or stop your dwarves from eating these mushrooms, but it's entirely optional and doesn't turn Dwarf Fortress into Dwarf hookah-smoking pad.

Puzzlemaker

  • Bay Watcher
    • View Profile
Re: Dynamic Fortress Size
« Reply #28 on: April 21, 2009, 07:11:00 am »

I still really like this idea...
Logged
The mark of the immature man is that he wants to die nobly for a cause, while the mark of the mature man is that he wants to live humbly for one.

Neruz

  • Bay Watcher
  • I see you...
    • View Profile
Re: Dynamic Fortress Size
« Reply #29 on: April 21, 2009, 07:21:51 am »

Urist McSupertough, Mason cancels Contruct Floor: No gravity.

Urist McUnsteady, Mason cancels Construct Wall: In orbit.


Honostly there's no disadvantages to this idea (apart from any difficulty for Toady to implement it). People who have big beefy computers can just expand out indefinitely until they're at a crawl, while people who want to have smaller faster fortresses on weaker computers just don't build as much.



Hell it would probably be faster for small forts, is there really any reason to load up 30+ z levels right at world gen when i can only see 11 of those, and won't get to the bottom one for hours of game time, if ever.
« Last Edit: April 21, 2009, 07:24:37 am by Neruz »
Logged
Pages: 1 [2] 3