Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[gui/embark-anywhere] add info on bridging two landmasses #1288

Merged
merged 1 commit into from
Sep 3, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions changelog.txt
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,9 @@ Template for new versions:
- `gui/control-panel`: include option for turning off dumping of old clothes for `tailor`, for players who have magma pit dumps and want to save old clothes from being dumped into the magma
- `position`: report current historical era (e.g., "Age of Myth")

## Documentation
- `gui/embark-anywhere`: add information about how the game determines world tile pathability and instructions for bridging two landmasses

## Removed

# 50.13-r4
Expand Down
47 changes: 40 additions & 7 deletions docs/gui/embark-anywhere.rst
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,13 @@ embark in an inaccessible location on top of a mountain range? Go for it! Want
to try a brief existence in the middle of the ocean? Nobody can stop you! Want
to tempt fate by embarking *inside of* a necromancer tower? !!FUN!!

If you are using this tool to create a fort that will bridge two disconnected
areas of land, see `So you want to bridge a gap?`_ below for tips and caveats.

Any and all consequences of embarking in strange locations are up to you to
handle (possibly with other `armok <armok-tag-index>` tools).
handle (possibly with other `armok <armok-tag-index>` tools). In particular,
embarking in inaccessible locations will prevent migrants, caravans, and
visitors from arriving.

Usage
-----
Expand All @@ -21,9 +26,37 @@ Usage

gui/embark-anywhere

The command will only work when you are on the screen where you can choose your
embark site. The DFHack logo is not displayed on that screen since its default
position conflicts with the vanilla embark size selection panel. Remember that
you can bring up DFHack's `context menu <hotkeys>` with
:kbd:`Ctrl`:kbd:`Shift`:kbd:`C` or the
`in-game command launcher <gui/launcher>` directly with the backtick key (\`).
The command will only work when you are on the screen where you can choose the
embark site for your fort.

So you want to bridge a gap?
----------------------------

A popular use case for this tool is to create a fort (or a series of forts) that
bridges two disconnected landmasses so sites on the two landmasses can reach
each other (that is, they can send raiding parties and/or engage in trade).

However, the way this works is not entirely intuitive.

A single large embark is not necessarily going to functionally connect the two
shores so that armies can cross the gap. You could still choose to use this
approach to build a continuous constructed bridge in fort mode for later use as
an *adventurer* in adventure mode, but it will not be usable by the other
characters/armies in the world.

The DF world map is divided into blocks of 16x16 tiles. When you are choosing
where to embark and you move the mouse so that your embark area "shadow" moves
over a little bit -- that's one "tile". An embark area can span block
boundaries, and there is no indication on the map where those boundaries are.

The way DF determines world pathability is to check if the ground is continuous
**or** if the enclosing 16x16 block contains the upper left tile of a fort
embark area.

In order for a connection to be formed for armies, one fort upper left corner
must exist in each 16x16 block that contains part of the gap.

Therefore, the simplest solution for making a "bridge" that armies can use (but
walking adventurers cannot) is to make a 1x1 fort every 16 tiles across the
water gap, starting on land on one shore and finishing on land on the opposite
shore. That will ensure that every 16x16 block in the gap is covered by a fort.