Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  

Author Topic: Adding and subtracting entire world tiles from your fortress map  (Read 1143 times)

Tehran

  • Bay Watcher
    • View Profile
    • Dwarf Fortress Stories

The title says it all.

In the embark screen, you are allowed to choose as many or as few world tiles as you want for your fortress. But this decision is fixed for the entire life of your fortress. Why should it be? There have been a number of times where I wish I had added just one more row of map tiles during embark, so that I could, for example, dig further into the mountains in search of adamantine, or travel further into a forest for more wood.


( ^These are the "world tiles" I'm talking about)

Adding world tiles is one thing, but being able to subtract them would lead to tons of possibilities. Depending on how Toady programs the planned moving fortress sections, entire fortresses could be mobile. You could then change a 3x3 map into a 3x4, move your fortress, and then change the map to a 3x3 (and so on) moving everything forward like an inchworm. This wouldn't even require a truly "mobile" fortress - all the dwarves could stay underground, with no permanent homes, moving slowly through the lands like Bugs Bunny. You could use this to build enormous things, like your very own Mines of Moria, a fortress which provides a shortcut underneath a mountain range.

There are a two problems I can think of with the ability to subtract world tiles:
1: If any dwarves are still standing on the part of the map you want to subtract, they would get left behind. This could be fixed by the game refusing to subtract anything until all dwarves have left the area, or by automatically shoving them to the new edge of the map.
2: Multi-tiled structures on world tile edges might pose a problem. If you have a 2x2 fortress, and you put a mason's workshop in the exact center, what would happen to the workshop when you switch to a 1x2 fortress? Would it be segmented? Would it be destroyed? Would it crash the game?

There are probably a few more problems, (something tells me that rivers might not be too happy about this) and this whole proposal might be impossible depending on how Toady has already programmed things. But I thought I'd throw the idea out there.
« Last Edit: July 02, 2010, 02:28:04 pm by Tehran »
Logged
Visit http://dfstories.com for stories!
And here's my solution for sand modeling: http://www.bay12forums.com/smf/index.php?topic=58397.0

Mason11987

  • Bay Watcher
    • View Profile
Re: Adding and subtracting entire world tiles from your fortress map
« Reply #1 on: July 02, 2010, 02:33:21 pm »

The title says it all.

In the embark screen, you are allowed to choose as many or as few world tiles as you want for your fortress. But this decision is fixed for the entire life of your fortress. Why should it be? There have been a number of times where I wish I had added just one more row of map tiles during embark, so that I could, for example, dig further into the mountains in search of adamantine, or travel further into a forest for more wood.


( ^These are the "world tiles" I'm talking about)

Adding world tiles is one thing, but being able to subtract them would lead to tons of possibilities. Depending on how Toady programs the planned moving fortress sections, entire fortresses could be mobile. You could then change a 3x3 map into a 3x4, move your fortress, and then change the map to a 3x3 (and so on) moving everything forward like an inchworm. This wouldn't even require a truly "mobile" fortress - all the dwarves could stay underground, with no permanent homes, moving slowly through the lands like Bugs Bunny. You could use this to build enormous things, like your very own Mines of Moria, a fortress which provides a shortcut underneath a mountain range.

There are a two problems I can think of with the ability to subtract world tiles:
1: If any dwarves are still standing on the part of the map you want to subtract, they would get left behind. This could be fixed by the game refusing to subtract anything until all dwarves have left the area, or by automatically shoving them to the new edge of the map.
2: Multi-tiled structures on world tile edges might pose a problem. If you have a 2x2 fortress, and you put a mason's workshop in the exact center, what would happen to the workshop when you switch to a 1x2 fortress? Would it be segmented? Would it be destroyed? Would it crash the game?

There are probably a few more problems, (something tells me that rivers might not be too happy about this) and this whole proposal might be impossible depending on how Toady has already programmed things. But I thought I'd throw the idea out there.

Neither of your concerns seem to big.

1) like you said, leave them behind or force them to move.  Either are great options.
2) Just deconstruct them, workshops are not a big deal and shouldn't really be a dealbreaker in any way.

Here's what I'm worried about.

Moving back over stuff?  Does everything stay the same? Then basically you just ignored a tile, you didn't really remove it.  Does everything go back to how it was?  what about rivers you routed, does water still flow as expected?

Those aren't deal breakers either though really.

I like the idea though.

Silverionmox

  • Bay Watcher
    • View Profile
Re: Adding and subtracting entire world tiles from your fortress map
« Reply #2 on: July 02, 2010, 02:42:13 pm »

Bridges are potentially tricky. Ready-made workshops shouldn't be forever anyway, let's make them room-like, with individual pieces of furniture. All kinds of zones would be cut up, stockpiles, burrows and the like. That can cause problems, especially when the game expects them to be contiguous. Just deleting them is the simplest solution; any organizational problems are the player's problem.
Logged
Dwarf Fortress cured my savescumming.

Solace

  • Bay Watcher
    • View Profile
Re: Adding and subtracting entire world tiles from your fortress map
« Reply #3 on: July 02, 2010, 02:43:16 pm »

Just being able to expand and ignore tiles seems like a good idea to me. You could build massive underground complexes for adventure mode, without killing your fps. Plus, being able to use up a whole map tile and move on to the next like underground locusts seems pretty dwarfy. :P
Logged

NW_Kohaku

  • Bay Watcher
  • [ETHIC:SCIENCE_FOR_FUN: REQUIRED]
    • View Profile
Re: Adding and subtracting entire world tiles from your fortress map
« Reply #4 on: July 02, 2010, 03:33:23 pm »

I remember reading a suggestion like this about half a year ago, although I'm not remembering any good search terms to find it easily haha, found it.  (You'd think that would be easier to find...)

I'll say now what I said back then:

Adding map tiles onto your embark zone is actually not too problematic, but you have to realize the following (quoting for not having to type it all out again):

One thing I've noticed about this, though...

The land you settle on is apparently "randomized" by seed upon embark slightly.  When I embark on the same area, but with different sizes (using save scumming), I wind up with pretty much exactly the same overall geography shapes, but with a few notable differences:

Embarking on the same size map produces the same map every time you save-scum it back.

Embarking on a different-size map, however, produces changes in the way that stagnant pools and ore veins are generated, however. 

I assume that the stagnant pools and ore veins are generated at embark, using the same seed, so that a larger embark area would use that seed more times when generating the embark location, resulting in very different-looking ore veins.

REMOVING map tiles, however, starts to result in drastically more problems than you expect.

First, what if you remove land, then add it back in...  You would expect that the land you removed would still be essentially the way you left it, right?  Well, that means you need to save the state of that land. 

Now, what happens if you had, say, a lava waterfall that was being fed by a tube, but since then, you closed that tube off, and killed the feed of lava to that area.  When you add that area back into play, is there still lava there, frozen mid-plummet?  Would you be able to preserve food or ice indefinitely by simply "quantum locking" it?  If not, then you need to somehow simulate changes over time... and if you're still running that land "off-board", it's probably not saving you any framerate.

Now, let's get really tricky, because we all know that players live and die by their exploits of the system.

Let's say you really wanted to set up an elaborate defense for your fortress, all along the edges of the map, but there's a problem - you can't mess around with certain constructions on the outermost 1 or 5 tiles of your map, depending on the item... no problem! Just expand your map, work the now-not-edges, then retract your map right back!
Logged
Personally, I like [DF] because after climbing the damned learning cliff, I'm too elitist to consider not liking it.
"And no Frankenstein-esque body part stitching?"
"Not yet"

Improved Farming
Class Warfare

Tehran

  • Bay Watcher
    • View Profile
    • Dwarf Fortress Stories
Re: Adding and subtracting entire world tiles from your fortress map
« Reply #5 on: July 02, 2010, 04:02:37 pm »

Blah blah stuff

Ah, curse you and your valid points.
"Quantum locking" would definitely be exploited. As would edge-of-map constructions.

I guess the only way to have a "mobile" fortress without map additions and subtractions would be to abandon it and reclaim the leading edge over and over again. (Which I just might do someday. Might be kind of pointless, though.)
Logged
Visit http://dfstories.com for stories!
And here's my solution for sand modeling: http://www.bay12forums.com/smf/index.php?topic=58397.0

kaypy

  • Bay Watcher
    • View Profile
Re: Adding and subtracting entire world tiles from your fortress map
« Reply #6 on: July 03, 2010, 12:02:50 am »

There are some mechanics in place for sections of the world being ignored for a while- things could probably behave just like if you abandoned and reclaimed. (and if that behavior is not sufficient, it should probably be improved for the benefit of reclaims and adventurers).

I don't think changing the map size needs to be realtime, so you can likely add in a whole bunch of calculations along the lines of "this has been offmap for X months, so it will now be in Y condition". You can probably handle structural stability issues in the same fashion [1]

Edge of map abuses are somewhat more troublesome, but Toady has some plans for them- if these are more along the lines of improving NPC behaviour than restricting the player, then that would cease to be an issue [2]

--

[1] I can see structures working by marking at the edge of the map whether a structure is held up 'off map'. (so you don't get things falling down because its supports are out of sight). Yes, this would allow you to build a flying fortress held up entirely off-map, but that's insane and awesome enough to be permitted 8-). When adding map tiles, a new collapse check would need to be run. Anything that collapses on the new map tiles should then be assumed to have collapsed in the past and be just placed at ground zero without messages or dust.

Flows might be more interesting. Maybe store an average flow rate for fluids entering/leaving the map, and spend some time repeatedly running the flow simulation until things normalize?

[2] One obvious fix for most of what players can do would be to allow NPC's to path briefly off the edge of the map to skirt player build objects. If the travel requirements could be stored at the map edges, then this could be made more robust, so that for example a natural cliff edge would mean NPCs would need to go however far it takes to find a way down, and that player walls now off map would still block progress. This could be made more complex, especially if it interacted with abandonment decay.
Logged

Tehran

  • Bay Watcher
    • View Profile
    • Dwarf Fortress Stories
Re: Adding and subtracting entire world tiles from your fortress map
« Reply #7 on: July 03, 2010, 02:20:07 am »

Wow, I hadn't even thought of off-map supports. Good call.

Kaypy has some good ideas to fix them, but I can't help wondering... are edge-of-map constructions and off-map stasis really so terrible? Yes, they are exploits, but players will always find ways to exploit things. If someone wants to wall off the entire outside world, why not let them? Everyone plays this game a little differently, and ultimately it's all about having fun.

You can already mod the game so that turtles drop masterwork adamantine armor. Why not let a guy have his off-map refrigerator?
Logged
Visit http://dfstories.com for stories!
And here's my solution for sand modeling: http://www.bay12forums.com/smf/index.php?topic=58397.0

Draco18s

  • Bay Watcher
    • View Profile
Re: Adding and subtracting entire world tiles from your fortress map
« Reply #8 on: July 04, 2010, 12:51:15 pm »

I guess the only way to have a "mobile" fortress without map additions and subtractions would be to abandon it and reclaim the leading edge over and over again. (Which I just might do someday. Might be kind of pointless, though.)

If you embark over the edge of a previous fort, all of that fort is loaded in as if you had selected all of its tiles at the embark screen (and any additional tiles in order to make a rectangular area).

You can't "clip" a fortress like that.

And, even if it did, it would let you do this:

Quote
Let's say you really wanted to set up an elaborate defense for your fortress, all along the edges of the map, but there's a problem - you can't mess around with certain constructions on the outermost 1 or 5 tiles of your map, depending on the item... no problem! Just expand your map, work the now-not-edges, then retract your map right back!
Logged

thijser

  • Bay Watcher
  • You to cut down a tree in order to make an axe!
    • View Profile
Re: Adding and subtracting entire world tiles from your fortress map
« Reply #9 on: July 04, 2010, 03:07:47 pm »

I think that if you use the same mechanics as during reclaim (you actually abandon an area right?).
If it's really problamatic it might be a good idea to just add the adding system and look at the removal system later.
Logged
I'm not a native English speaker. Feel free to point out grammar/spelling mistakes. This way I can learn better English.

Cephas

  • Bay Watcher
    • View Profile
Re: Adding and subtracting entire world tiles from your fortress map
« Reply #10 on: July 04, 2010, 03:59:48 pm »

I think that if you use the same mechanics as during reclaim (you actually abandon an area right?).
If it's really problamatic it might be a good idea to just add the adding system and look at the removal system later.
The problem with that would be the horrid drop in FPS as you begin to add more map tiles. While it would be cool to add squares, I doubt it would be used much at all if people had to take huge FPS hits to do it.

Another issue might be considering non square embarks. Like, if you wanted to have your land in a L shape or something odd.
Logged

Uristocrat

  • Bay Watcher
  • Dwarven Railgunner
    • View Profile
    • DF Wiki User Page
Re: Adding and subtracting entire world tiles from your fortress map
« Reply #11 on: July 04, 2010, 04:17:09 pm »

There are lots of possibilities, yes, but I can only see potential for problems & exploits.  A bunch of objects could become lost.  You could wipe out a siege or megabeast by removing the tile it's on.  Etc.  Yeah, some of those could be coded around or solved with restrictions, but there are so many...

That said, I think there are fewer possibilities for trouble if you can only *add* tiles (but never subtract them).  The main question how that would affect veins and things that were cut off at the map edge.
Logged
You could have berries on the rocks and the dwarves would say it was "berry gneiss."
You should die horribly for this. And I mean that in the nicest possible way.