Temperature
О температуре окружающей среды, упоминающейся при высадке, см. статью климат.
| Аспект игры, описываемый в данной статье, забагован. Смотри раздел Баги. |

Температура — по определению, измеримая величина, показывающая, насколько горячей или холодной является область или объект. Температура также является важным элементом климата местности, а точнее, биома. Как в Dwarf Fortress, так и в реальной жизни существует несколько единиц измерения температуры. В реальной жизни используются Цельсий (°C) и Кельвин (K); другие единицы, такие как Реомюр (°r, °Re или °Ré), Фаренгейт (°F) или Ранкин (°R или °Ra) также существуют. В игре используется собственная уникальная единица измерения. Хотя у неё нет официального названия, сообщество использует обозначение "Urist" (°U).
| Свойства материалов |
| Первичные: Ценность • Цвет • Плотность • Упругая деформация • Температура |
| Производные: Магмоустойчивость • Огнеустойчивость |
| Жидкость: Глубина • Поток • Давление |
Режим искателя приключений
В режиме приключенца температура окружения персонажа игрока всегда отображается в правом верхнем углу экрана. Нахождение рядом с элементами и существами, влияющими на температуру (например, рядом с огненным человеком), также изменит показания температуры:
Шкала температур
Температуры в Dwarf Fortress измеряются в собственной шкале °U. Температуры хранятся как 16-битные беззнаковые целые числа, что соответствует минимальному значению 0 °U и техническому максимуму 65535 °U (216-1), хотя внутренне это ограничено до 60000 °U, так как 60001 °U используется для температур, установленных в NONE. Дробные значения не учитываются — десятичные части либо отбрасываются, либо округляются игрой. Например, число 2999.999 будет округлено до 3000. Шкала Urist'а не соотносится со шкалой Цельсия, поэтому преобразования не интуитивны.
Не пугайтесь, встретив что-то вроде [HOMEOTHERM:10067].
Температура магмы — 12000 °U (примерно 1111 °C).
Преобразование
[°U] = [°C, Цельсий] * 9/5 + 10000
[°U] = [°F, Фаренгейт] + 9968
[°U] = [K, Кельвин] * 9/5 + 9508.33
[°U] = [°Ra, Ранкин] + 9508.33
Согласно Toady One в посте Future of the Fortress, шкала температур в расширенных настройках генерации мира связана с обычными градусами Urist'а уравнением «local temp = world temp * 0.75 + 10000». Эта шкала, похоже, больше нигде в игре не используется.
Реперные точки
| Определение | Шкала DF | worldgen | Цельсий (°C) | Кельвин | Фаренгейт (°F) | Ранкин (°Ra) |
|---|---|---|---|---|---|---|
| Точка кипения воды | 10180 | 240.0 | 100.00 °C | 373.150 K | 212.00 °F | 671.67 °Ra |
| Температура тела дварфа | 10067 | 89.3 | 37.22 °C | 310.372 K | 99.00 °F | 558.67 °Ra |
| Точка замерзания воды | 10000 | 0.0 | 0.00 °C | 273.150 K | 32.00 °F | 491.67 °Ra |
| Точка замерзания ≈89% спирта | 9850 | -200.0 | −83.33 °C | 189.816 K | −118.00 °F | 341.67 °Ra |
| Абсолютный ноль | *9508 | -656.0 | −273.15 °C | 0 K | −459.67 °F | 0 °Ra |
| Ноль по шкале DF | 0 | -13333.3 | −5555.55 °C | −5282.405 K | −9968.00 °F | −9508.33 °Ra |
| Максимально возможная температура | 60000 | 66666.6 | 27777.77 °C | 28050.927 K | 50032.00 °F | 50491.67 °Ra |
*Абсолютный ноль округляется вниз внутри игры для избежания дробных чисел. При более точном преобразовании это было бы 9508.33 °U. Интересно, что температуры в Dwarf Fortress могут опускаться намного, намного ниже абсолютного нуля, что физически невозможно; Надо сказать, что в Dwarf Fortress существует вечный двигатель.
Значения с чертой сверху — усечённые значения с конечными цифрами, которые продолжаются бесконечно, так что значение 45.738 технически равно 45.738888888888... с бесконечно повторяющимися восьмёрками.
| Урист интересуется... | Я моддер, которому нужно постоянно работать с преобразованием температур. Есть ли инструмент для облегчения этой работы? | ||
|---|---|---|---|
|
Преобразование температур обычно полезно только при моддинге и может быть утомительным при ручном выполнении; к счастью, создана простая утилита для преобразования температур для тех, кому часто приходится конвертировать температуры в градусы Urist'а и обратно. Онлайн-утилита доступна по адресу https://jose96xd.github.io/DF_Tools/Modules/TemperatureConverter.html | |||
Примеры температур в Dwarf Fortress (важные выделены жирным):
| Событие / местоположение | °U | °C | °F |
|---|---|---|---|
| Алкоголь замерзает | 9850 | -83.3 °C | -118 °F |
| Нижний предел обитаемости | 9900 | -55.5 °C | -68 °F |
| Снаружи, холодный климат (меняется) | 9960 | -22.2 °C | -8 °F |
| Под землёй, ледниковый лёд | 9990 | -5.5 °C | 22 °F |
| Вода замерзает | 10000 | 0 °C | 32 °F |
| Нижнешляпник | 10000 | 0 °C | 32 °F |
| Под землёй | 10015 | 8.3 °C | 47 °F |
| Температура тела дварфа/человека | 10067 | 37.2 °C | 99 °F |
| Тайлы около магмы (тёплый камень) | 10075 | 41.6 °C | 107 °F |
| Верхний предел обитаемости | 10078 | 43.3 °C | 110 °F |
| Снаружи, обжигающий климат (меняется) | 10080 | 44.4 °C | 112 °F |
| Вода кипит | 10180 | 100 °C | 212 °F |
| Воспламенение органических материалов | 10508 | 282.2 °C | 540 °F |
| Древесина горит (макс.) | 10708 | 393.3 °C | 740 °F |
| Материал огнеупорен | 11000 | 555.5 °C | 1032 °F |
| Простой камень плавится (варьируется) | 11500 | 833.3 °C | 1532 °F |
| Уголь горит (макс.) | 11640 | 911.1 °C | 1672 °F |
| Магма | 12000 | 1111.1 °C | 2032 °F |
| Материал магмоупорен | 12000 | 1111.1 °C | 2032 °F |
| Существа из пламени/огня | 14000 | 2222.2 °C | 4032 °F |
| Пламя дракона | 50000 | 22222.2 °C | 40032 °F |
Свойства материалов
Температура накладывает важные ограничения на материалы в игре и определяет ряд свойств материалов, связанных с агрегатными состояниями и повреждениями от тепла/холода. Они определяются токенами определения материалов в raw-файлах, большинство из которых используют температуру в качестве входного параметра:
Melting point
[MELTING_POINT] — Температура, при которой жидкий материал замерзает или твёрдый материал плавится. В Dwarf Fortress точка плавления и точка замерзания совпадают; это противоречит реальности, где многие материалы могут переохлаждаться. Ключевое значение — 12000 °U, необходимое для устойчивости к магме.
Boiling point
[BOILING_POINT] — Температура, при которой материал кипит или конденсируется. Вода кипит при 10180 °U .
Ignition point
[IGNITE_POINT] — Температура, при которой материал загорается.
Heat damage point
[HEATDAM_POINT] — Температура, выше которой материал начинает получать тепловые повреждения. Горящие предметы без точки теплового разрушения (или с исключительно высоким значением) будут получать повреждения очень медленно, из-за чего будут гореть очень долго (9 месяцев и 16,8 дней), прежде чем исчезнут.
Cold damage point
[COLDDAM_POINT] — Температура, ниже которой материал начинает получать повреждения от холода.
Specific heat
[SPEC_HEAT] — Определяет, как долго материал будет нагреваться или охлаждаться. Материал с высокой удельной теплоёмкостью будет удерживать больше тепла и сильнее влиять на окружение, прежде чем достигнет равновесия. Входным параметром для этого токена является удельная теплоёмкость материала, а не температура.
Fixed temperature
[MAT_FIXED_TEMP] — Температура материала может быть принудительно установлена на определённое значение. Единственный стандартный материал, использующий это — древесина нижнешляпника, температура которой всегда равна точке замерзания воды. Если температура материала зафиксирована между его точкой холодового повреждения и точкой теплового повреждения, то предметы из этого материала никогда не будут получать повреждения от холода/тепла. Это делает нижнешляпник огнеупорным и магмоупорным, несмотря на то, что это древесина.
Важно для тестирования модов: Из-за особенностей обработки фиксированной температуры присвоение материалу фиксированной температуры не приведёт к изменению его фактической температуры — вместо этого температура будет навсегда заблокирована на том значении, которое было ранее. Однако удаление фиксированной температуры материала приведёт к тому, что все предметы из него будут нагреваться или охлаждаться до достижения равновесия с окружением. Фиксированная температура контейнера влияет на его содержимое, но вы не можете заморозить воду, поместив её в ведро из нижнешляпника, потому что вода не замёрзнет, пока не охладится ниже 10000 °U . Фиксированная температура неорганического материала не влияет на недобытые стены, хотя валуны будут принимать эту температуру при добыче.
Передача температуры
Передача температуры в Dwarf Fortress довольно проста — каждый тик предмет, находящийся в более горячей/холодной среде (или рядом с другим предметом), изменяет свою температуру на разницу (в °U), делённую на удельную теплоёмкость предмета. Дробные части сохраняются, но не используются в расчётах. Например, кусок лигнита (у которого [SPEC_HEAT:409]) при температуре 10015 (комнатная температура под землёй), помещённый в магму (температура 12000), будет нагреваться на (12000-10015)/409 = 4,853 °U в первый тик, затем постепенно медленнее. Чтобы достичь точки воспламенения 11440, ему нужно находиться в магме 517 тиков — более 5 секунд при 100 FPS.
Баги
- Расчёты температуры являются известной причиной лагов. Если важна максимизация частоты кадров, можно отключить расчёты температуры в настройках. При отключённых расчётах температуры такие эффекты, как замерзание, таяние или испарение воды, а также получение существами и предметами урона от температуры, не будут происходить.
- При отключённых расчётах температуры дварфы откажутся ступать на тайл с литым обсидианом (или любые другие тайлы, ранее занятые магмой).Bug:8391 Иногда это может происходить и при включённых расчётах температуры.Bug:1272