寝床(敷物・寝台・詰め物)
概要
守備範囲。 眠る場所を決めます。地面に敷いた敷物から骨組みを組んだ寝台までを、何から作り、どう 組み合わせ、休息の回復へどう効かせるかまでです。
境界。 屋根・壁・住居そのものは Dwellings.md。休息アクションそのもの
(長さと回復量)は Characters.md 休息節。葉を編む連鎖と
繊維から紐までの連鎖は既にあり、本書はその出口を1つ足すだけです。スキルの粒度は
Skills.md 2節。
実現方法。 文法の新設はありません。 寝床は土地の fixtures スロットに立つ fixture で
(ExplorationSystem.md 1.1 節のスロット)、敷物(bed)は骨組みと
詰め物を差し込む structure スロットを持ちます
(GameElementDefinition.md 7節)。ハンモックは伸ばしろを
持たないのでその枠を持たず、item も兼ねて持ち歩けます(6節)。
寝床自身が nap/sleep アクションを持ち、眠っている間の回復はそのアクションの passives が毎 tick
agent へ積みます(同 11.7節)。部品の寄与は、その段のブロックを1つ足すことで届きます(4節)。
導入する語彙は型 bed、寝床であることのタグ bed と、部品のタグ bed_frame・stuffing です。
在処。 定義は src/assets/world-codex/bedding.yaml です。材料はすべて既存で、編んだ葉は
weaving.yaml、紐は fiber.yaml、太い枝は locations.yaml にあります。
確定度と実装状況。 検討結果であり、確定しているのは 4.1.1 節(地面でも通しで眠れる)と 4.2.1 節 (火なしでは越せない夜を、寝床が無くす)だけです。4.1.1 節はまだ入っていません。本書の段はすべて 入っています——敷物(2節の段1)・骨組み(同 段2)・ 詰め物(同 段3)・ハンモック(6節)と、段ごとの回復の上積み(4節)、それに寝ている間の寒さの入口の 押し下げ(4.2節)です。未決事項は8節。
1. 寝床の型は1つで、段は部品の有無から生える
「地面の寝床」「高床の寝台」「詰め物入りの寝台」を別々の型にしません。 型は bed 1つで、骨組みと
詰め物を差し込む枠を持ちます。
object_defs:
bed:
tags: [fixture, bed]
slots:
structure:
cells:
- {accept: {tag: bed_frame}, max: 1}
- {accept: {tag: stuffing}, max: 1}
理由は組み合わせの数です。型で表すと、骨組み(有・無)×詰め物(無・羽毛・植物繊維)で6つになり、素材を
1つ足すたびに掛け算で増えます。部品で表せば、型1つと部品3つのままです。これは
Dwellings.md 2節が住居で採った形と同じで、住居と寝床で考え方を割らないためでもあります。
炉が campfire → three_stone_hearth → stone_hearth と型を分けているのは、段ごとにスロットの構成
そのものが変わる(器を載せる枠が生える)ためです。寝床の段はどれも「同じ場所の下と上に何を足すか」でしか
ないので、同じ扱いにはしません。
1.1 敷物は部品ではなく、寝床そのもの
枠に入る部品は骨組みと詰め物だけで、敷物は bed を作るときに消費します。 敷物は「そこが寝床である
こと」自体なので、差し替える対象になりません。骨組みは後から下へ差し込みます——
Dwellings.md 3節が高床への変更で壁を外させるのと同じで、現実の手間(敷物をどけて杭を
打つ)とも一致します。
専用の中間素材「筵」は作りません。 woven_leaf を3枚綴じたものを別の型にすると、使い道が1つだけの
素材が1つ増えます(SurvivalItems.md 6節)。巻いて運べるという性質は、
woven_leaf を3枚持ち歩くことで既に満たされています。
2. 段
| 段 | 形 | 何が変わるか |
|---|---|---|
| 0 | 地面に直に寝る | 基準線。まとまっては眠れず、取れるのは nap まで(4.1節) |
| 1 | 編んだ葉の敷物 | 圧迫と、地面への伝導。sleep が押せるようになる |
| 2 | +骨組み(高床) | 湿気・虫・浸水から一度に離れる。ここが最大の跳躍 |
| 3 | +詰め物 | 圧迫。体重で潰れない厚みが入る(4.2節)。中身が羽毛でも植物繊維でも同じ(5節) |
熱帯でも敷物に意味があります。 地面はおよそ25℃で熱容量が無限に近く、横になっている間の熱の逃げ道は 空気より地面が主です。ただし南国で効く分の大半は保温ではなく、湿気・虫・圧迫です。そのため素材は 「乾いていること」が厚みより重要で、青い葉を積むのは恒久的な寝床になりません(7節)。 その保温の分を数へ落としたものが 4.2節で、大半ではないことがそのまま押し下げの浅さになります。
3. レシピ
object_defs:
bed:
recipes:
# 編んだ葉を3枚、端を重ねて広げる。道具も紐も要らない。
spread:
steps:
- requires:
- {object: woven_leaf, consume: true, count: 3}
duration: 15
# 寝台の骨組み。杭4本を打ち、縦材を渡し、簀の子を縛る。軽いがかさばる。
bed_frame:
tags: [item, bed_frame]
props:
weight: {value: 6600}
# ヤシの葉と同じく、籠には入らない嵩にする。
volume: {value: 24000}
recipes:
lashed:
# 1つの工程は1時間まで(docs/engine/ActionSystem.md 6.3節)なので、
# 長さは工程の数で表す。材料はその工程で実際に使うものへ割り当てる。
steps:
- requires:
- {object: thick_branch, consume: true, count: 4}
duration: 60
- requires:
- {object: thick_branch, consume: true, count: 2}
duration: 60
- requires:
- {object: cord, consume: true, count: 3}
duration: 60
# 詰め物。なめし革を裁って袋に縫い、中身を詰めて口を閉じる。植物繊維の側も同じ形で、
# 最後の工程の材料だけが違う。
feather_stuffing:
tags: [item, stuffing]
recipes:
stuffed:
conditions:
- {reason: needs_leatherwork, subject: agent, prop: skill_leatherwork, in_stage_or_above: skilled}
- {reason: needs_cordage, subject: agent, prop: skill_cordage, in_stage_or_above: basic}
steps:
- requires:
- {object: tanned_leather, consume: true, count: 2}
duration: 60
- requires:
- {object: yarn, consume: true, count: 2}
- {tag: sewing_tool, consume: false, count: 1}
duration: 60
- requires:
- {object: feather, consume: true, count: 30}
- {object: yarn, consume: true, count: 1}
- {tag: sewing_tool, consume: false, count: 1}
duration: 60
素材まで遡った手間は、収支表の実測(探索を含み、前提になる道具を作る手間は含まない。
BalanceStats.md)で次のとおりです。段2は刃物なしでは通せないので
(この節の末尾)、段2まで通すには寝床と骨組みの両方を作ることになり、骨組みだけで約900分
——1日ぶんの自由時間(891分。ContentSkeleton.md 8節)に並びます。
| 完成品 | 直接の材料 | 工程 | 素材から通した時間 |
|---|---|---|---|
| 寝床 | 編んだ葉 ×3 | 15分 | 約120分 |
| 寝台の骨組み | 太い枝(杭に4・縦材に2)、紐 ×3 | 杭60分・縦材60分・簀の子60分 | 約900分 |
| 詰め物 | なめし革 ×2、糸(縫うのに2・口を閉じるのに1)、羽 ×30 または 繊維 ×15 | 裁つ60分・縫う60分・詰める60分 | 植物繊維で約1,880分/羽毛で約2,980分 |
| ハンモック | 紐(編む工程ごとに3・2) | 60分・60分(据えるのは無料。6.2節) | 約1,070分 |
- 詰め物がどの段より重いのは、革が狩り(罠を仕掛けて待つ)と樹皮のなめしを通るためです。火の要らない 夜を作る(4.2.1節)ための値段がここに出ます。羽毛のほうが長いのは狩りの待ちを数に入れたためで、 肉を採り続けているなら羽はその副産物です(5節)
- 編んだ葉は、素手なら中軸ごと1枚をひと編み60分で、刃物で中軸を割れば同じ
60分で2枚とれます(
weaving.yaml) - 紐は糸を、糸は繊維を撚って作り、繊維はバナナの茎1本から3束とれます(
fiber.yaml) - 紐の消費は筏と正面から競合します。 筏を縛るロープも紐を撚ったもの(
voyage.yaml・fiber.yaml) なので、骨組みとハンモックに回した紐はそのまま筏の分から減ります。この競合を意図した緊張として 残すかは8節 - ハンモック1つの手間は、上の表の寝床と骨組みを足した段2の手間とほぼ並びます。 同じだけ戻すのに、 払う先が木材から紐へ移るだけという形にしてあり、寝床になる場所・保温・伸ばしろ・持ち出しで 差が付きます(6節)
刃物は骨組みには直接要りませんが、繊維を掻き取るのに要るため、実質は段2の前提です。
4. 休息へどう効かせるか
寝床が自分で nap/sleep を持ち、キャラクタ側の nap が基準線になります
(Characters.md 休息節)。回復は寝床のアクションが宣言した passives が
1 tick(15分)ごとに積みます(GameElementDefinition.md 11.7節)
——キャラクタ側の休息とまったく同じ形で、違うのは量だけです。
寝床の上で押すのは寝床の手番なので、下の表の量はキャラクタ側の量に足すのではなく、置き換えます。
そうでないと、下の「nap 2回と sleep 1回がちょうど同じだけ戻る」が成り立ちません——キャラクタ側は
長い休息ほど毎 tick の量が大きいので、足し合わせると差が残ります。
この節は上積みの側だけを述べます。 寝床が無いときに何が取れないかは 4.1節です。
object_defs:
bed:
interactions:
sleep:
trigger: menu
duration: 360
passives:
# 敷物だけの段
- add:
agent:
stamina: 2
wakefulness: 4
# 骨組みが入っている間の上積み
- conditions:
- {slot: structure, matches: {tag: bed_frame}}
add: {agent: {stamina: 1}}
回復を宣言するのはアクションの側です。 経過している間ずっと効く宣言(同 11.7節)がそのまま毎 tick の
回復で、agent はそのアクションを押した者を指します。「眠っている間か」を問うゲートは要りません
——アクションが動いている間しか効かないので、条件で言い直す先がありません。部品を見るゲートの主語は
self(既定)で、操作の宣言が乗っている側、つまり寝床そのものを指します(同 11.5節)。
add の量はリテラル数値しか受け付けません
(DesignPrinciples.md「計算式はエンジンに取っておき、宣言へ開かない」)。
それでも部品の寄与が届くのは、量を1箇所へ集めず、段ごとのブロックへ散らしているためです。有効な
ブロックはすべて重なるので(GameElementDefinition.md 8.5節)、
段が増えてもブロックは1つずつしか増えません。
| 段 | その段が毎tickに足す量 |
|---|---|
| 0 地面 | (キャラクタ側の宣言。sleep は押せない、4.1節) |
| 1 敷物 | 2 / 4 |
| 2 +骨組み | +1 / ― |
| 3 +詰め物 | +0.5 / ― |
stamina / wakefulness。有効なブロックはすべて重なるので、段3の寝床では段1〜3の行が足し合わさって
効きます。量は、荷も痛みも無いときに宣言が積む量です——回復は経過の間ずっと効く宣言なので、削りと同じ足し算に入ります
(Characters.md 休息節)。担いだまま眠れば、寝床の上でもそのぶん薄くなります。
体力の量は、1日に削られる量から逆算してあります。 削るのは荷だけで
(Characters.md 荷重の効き方節)、起きている間を heavy のまま担ぎ通した1日ぶんを、
睡眠1回でちょうど返せるのが段2です。段1はそこへ届きません。骨組みを差す理由が、
数字の上でもここに出ます。どの段の睡眠1回も、いちばん薄い体力の上限(characters/engineer.yaml の
90)を下回るので、空から通しで眠っても頭打ちに呑まれず、段の差がそのまま観測できます。
地面の仮眠より薄くはなりません。 地面の上の1日は仮眠で回すぶん眠る時間が長い(4.1節)ので、同じ荷を
支えるのに要る割は寝床の上より低く、地面の仮眠はその線の下(Characters.md
休息節)に置いてあります。ただし、敷物と地面のどちらが1日に多く返すかは、この割の比べでは決まりません
——眠る時間が違うので、比べるのは1日に戻る量の合計で、段1はそこで地面を上回ります。 荷を heavy の
まま担ぎ通した収支では、段1と地面が並びます——起きている時間が伸びたぶんの削りが、戻る量の差を
ちょうど相殺するからです。段1を敷く値打ちは、削りを数えない日に出ます。(3つとも
tests/world-codex/beddingYaml.test.ts が見ます。)
寝床の段のうち跳躍が最も大きいのは段2(2節。骨組みで +1、詰め物で +0.5)。覚醒度は骨組みと
詰め物では動きません——sleep で
戻る量は段によらず同じで、睡眠1回で1日ぶんが元へ戻るという釣り合い
(Characters.md 休息節)を、寝床の上でも保ちます。
段ごとに1つの定数なので、寝床のぶんは長さに正比例します。 キャラクタ側が持つ「まとめて休む
ほど1時間あたり得」(同節。長い休息ほど毎 tick の量が大きい)が効くのは段0だけで、寝床の上では nap 2回と sleep 1回がちょうど同じだけ
戻ります(合わせた長さが同じなので)。細切れに休むほど損、は地面の上にしかありません。ただし地面の上で比べ
られるのは、寝床を要らない休息どうしだけです(4.1節)。
段3のブロックは中身を見ません。 見るのは stuffing を名乗っていることだけで、羽毛と植物繊維
(5節)は同じだけ効きます——火なしで最も寒い夜を越せるのは詰め物まで仕上げた者、という約束(4.2.1節)が
詰め物すべてに掛かるうえ、分かれているのは効きではなく集め方だからです(5節)。
種類ごとに差を付けるなら、matches を {object: ...} にしてブロックを分ければ書けますが、
同じ枠へ入る物どうしは排他なのに、収支の解析はそれを読めません(src/analysis/balanceTables.ts の
expectedDeltas は条件を見ずに足すので、stats/balance.yaml が「どの寝床でも起きない量」を出します)。
差を付けるなら、解析の側に排他を教えるのが先です(8節)。
それでも、回復として積む先はどの段も同じ stamina です。 段の違いが別の値へ出るのは寒さの入口だけで
(4.2節)、骨組みが持つ「湿気・虫・浸水から一度に離れる」(2節)のうち虫と浸水は、まだ数字の大小でしか
表せていません。乾きと虫を寝床のプロパティとして持ち、それをブロックのゲートに使えば別の効き方に
なりますが、名前と本数は未決です(8節)。
4.1 寝床が無い側——sleep は寝床の在る場所でしか押せない
寝床が無くても地面で通しで眠れるようにすることが決まっています(4.1.1節)。この節の残りは、 それが入るまでの今の形です。
上積みの前に、下回る側を線で持ちます。 寝床の無い場所では sleep(360分)が押せず、取れるのは nap
(180分)までです。地面の湿りと硬さ、虫と蟻の中ではまとまっては眠れない、という現実どおりの形で、
DesignPrinciples.md「悪条件は、効率を下げるのではなく、できる/
できないの線で効かせる」に沿います。
要件は1つも要りません。sleep を配るのが寝床だけだからです(4節)。寝床の無い場所には押す札が
無く、キャラクタ側が持つのは nap までです(characters/player_character.yaml)——「寝床が在るか」を
問う条件を書くと、同じことを配り手と要件の2箇所で言うことになります。
寝床は据える物なので、洞窟や筏のように場所でもある物の中に敷けば、その中に居る間だけ札が出ます
(Characters.md ホームシック節が場所の入れ子について述べるものと同じ構造)。
縮むのは、1日に起きていられる時間です。 寝床の上では睡眠1回で1日ぶんの覚醒度が戻ります
(Characters.md 休息節)。地面の nap(キャラクタ側の宣言)は長さあたりに戻る
覚醒度が寝床の sleep より少ないので、仮眠だけで回すと眠る時間がそのぶん長くなり——寝床が無いと、1日に
起きていられる時間が短くなります。
眠り込みに任せても、その時間は戻りません。 覚醒度が尽きて起きる fall_asleep(同 限界節)は寝床を
要りませんが、戻す割は地面の nap を上回らないので、任せても、仮眠を重ねるより起きていられる時間は
伸びません。 限界に割増しを付けていないのは、ここを抜け道にしないためで、
そちらの節がその理由を持ちます。任せるとさらに、眠る時刻を選べず、落ちるまで overtired
(免疫 −15)に居ることになります。
削られるのは夜で、昼ではありません。 仮眠だけで回しても、眠る時間は屋外の枠(昼。
ContentSkeleton.md 8節)の外に収まるので、屋外の枠は減りません。減るのは焚き火のそばでの加工のほうで、
そこには今のところ余裕があります(同節「夜が足りなくなることはなく、足りないのは昼です」)。
行き先を選ばない戻り道は編んだ葉です。 3枚(1枚400g・1500mL)を持って出れば、遠出の先でも15分で
敷けます(3節)。籠の容量(containers.yaml)の少なくない部分を、食い物と水と道具と取り合う嵩なので、
積むか仮眠で回すかが出発前の判断になります。準備の有無がそのまま結果になる——同原則
「線を引いたら、そこから戻る道を1本だけ開けておく」の形で、夜の暗さに対する火起こし具・火口・炉と
同じ立て付けです。
ハンモックを担いでいくほうが軽く、据え直して使い回せます(6.2節)が、支点のある土地でしか 寝床になりません(6.1節)。道が1本に保たれているのは、どこへ向かっても通るのが編んだ葉だけ だからです。
一度敷いた寝床はそこに残ります。 同じ土地へ2度目に来たときは支度が要りません。ただし屋根の無い
所に敷いたままなら朽ちます(編んだ葉は短命な素材で10日、雨なら5日。
DurabilitySystem.md 2節)ので、葺き替えと同じ恒久の手間になります
——浅い洞窟のように守られた場所へ敷けば止まります。
4.1.1 寝床が無くても、地面で通しで眠れる【確定】【未実装: 地面の眠り】
寝床の無い場所でも、地面の上で通しで眠れます。回復は寝床の上より悪くします。
出どころ: #2404(寝床が無くても地面で通しで眠れる。2026-09-29に回答)
4.2 寝ている間だけ、寒さの入口を押し下げる
眠っている間、寝床は寒さの入口(chill_point、Characters.md)を押し下げます。
衣服が身につけている間に押し下げるのと同じ境目で(../engine/VitalsSystem.md
8.3節)、衣類の押し下げとは加算で重なります。 宣言は回復の上積みと同じブロックに乗ります(4節)
——効くのは nap/sleep が時間を進めている間だけなので、「眠っている間か」を問うゲートは要りません。
| 段 | その段が足す押し下げ | 何がその分を作っているか |
|---|---|---|
| 1 敷物 | −1℃ | 体と地面の間に、乾いた層が入る |
| 2 +骨組み | −1℃ | 層ごと地面から離れ、逃げ道が地面の伝導から空気へ移る |
| 3 +詰め物 | −1℃ | 体重で潰れない厚みが入り、層そのものが厚くなる |
| ハンモック | −1℃ | 地面からは離れるが、網は体重で潰れて層が残らない |
押し下げは「体の下に乾いた層が在ること」「地面から離れていること」「その層が潰れない厚みを持つこと」の 足し算で、段ごとの分が上の表のとおり重なります。前の2つを割れるのは、2節のとおり横になっている間の熱の逃げ道は空気より 地面が主だからで、敷物は乾いた層だけ、据えたハンモックは地面からの距離だけを持ち、どちらも持つのは 骨組みを差した寝台です。厚みを持てるのは詰め物だけ——敷いた葉も簀の子も体重で潰れるので、 厚みが残るのは詰め物が入ってからです。 ハンモックが回復では寝台と並ぶのに、ここで並ばないのは同じ理由からです(6節。虫と湿気に最も強い 理由が、背中の下を風が抜けることなので)。
深さは、いちばん深い一着より浅いところで留めます。 2節のとおり南国の寝床で効く分の大半は保温では
ないので、保温の主役にはしません——同じだけ押し下げる一着が
(SurvivalItems.md 5.1節)、骨組みだけで約900分かかる段2(3節)に対して
123分で作れる位置です。払う手間に対して浅いことが、保温のために寝床を建てる選択を潰します。
寝床だけでは夜を越せません。 素の入口は16℃で、空が作るいちばん寒い夜はそれより下
(../engine/ClimateSystem.md 1節)なので、どの段も1つでは届きません
——寝床は衣類や火の代わりにならず、その上へ段のぶんを足すだけです。空の刻みを割るのは
土地の海抜ぶんの差(同 1.1節)なので、いちばん深い一着に段を重ねると、眠って越せる土地が段のぶんだけ
上へ伸びます。 骨組みまででは最も寒い土地の夜が残り、そこは詰め物が入って初めて越せます(4.2.1節)。
長さには比例しません。 押し下げは境目への寄与なので、nap と sleep のどちらを取っても削られるか
戻るかは同じに決まります——回復の上積み(4節)が長さに正比例するのと、ここだけ形が違います。
検証は tests/world-codex/beddingYaml.test.ts(段ごとの深さ・起きている間は効かないこと・衣類より
浅いこと)と tests/world-codex/landTemperature.test.ts(伸びる先と、詰め物で越せるようになる土地)。
4.2.1 詰め物まで仕上げれば、最も寒い土地の夜も火なしで越せる【確定】
火なしでは越せない夜を、寝床が無くします。 いちばん深い一着を着て、詰め物まで仕上げた寝台で眠る者は、 島でいちばん寒い土地の夜も越せます——寝床は衣類の上へ段のぶんを足すだけなので(4.2節)、この一着が 前提です。詰め物を作ることが、夜通し火を守る仕事から抜ける道になります。
火だけに残す道は採りません。 残すと、寝床をどこまで良くしても最も寒い土地の夜には炉が要り、 寝床の段は「火の要る夜を減らす」ところで止まります。火の要らない夜を寝床が作れることが、 手間の重い詰め物(5節)まで通す理由になります。
どれだけ押し下げてそこへ届かせるかは上の表が持ちます。stuffing を名乗る物それぞれについて、それを
差した寝台でその夜を越せることを tests/world-codex/landTemperature.test.ts が要求します——詰め物を
足して押し下げを足さなければ落ちます。種類が増えても、同じ検査がその1つずつに同じことを要求します。
出どころ: #2286(いちばん寒い土地の夜を、寝床の詰め物で火なしで越せるようにする。2026-09-19に回答)
5. 詰め物は羽毛と植物繊維の2択にする
| 詰め物 | 払う先 | 競合する先 |
|---|---|---|
羽毛(feather_stuffing) |
ヤケイ30羽。解体の副産物が溜まるのを待つ | 無し。肉を採る仕事のついでに出ます |
植物繊維(plant_fiber_stuffing) |
繊維15束。掻き取るか叩き解す手間 | 紐・ロープ、つまり筏とハンモック(3節) |
寝床への効きは同じです(4節・4.2節)——4.2.1節の約束が詰め物すべてに掛かるので、どちらを詰めても 最も寒い土地の夜は越せ、回復の上積みも変わりません。分かれるのは集め方だけで、同じだけ暖まるのに 払う先が罠から手間へ移ります——ハンモックと寝台の関係(6節)と同じ形です。上の実測(3節)で羽毛が 重いのは狩りの待ちを含めて数えたためで、肉を採り続けている者の手元には、それを狙わずとも羽が 溜まります。
羽は feather として解体から出ます(1羽ぶん40g、Animals.md 10節)。ここで作るのは
敷布団ではなく、簀の子の上へ敷く当てです——体の下に潰れない層を作るだけなので、
羽30枚で届きます。羽毛布団が水鳥で作られたのは1羽あたりの取れ高が桁で違う
ためで、この島では罠を回し続ける長期目標のままです。
植物繊維はカポックではありません。 カポックの木は島に置いていないので、詰めるのは掻き取った繊維と、
叩き解したコイア(fiber.yaml・coconut.yaml)です。どちらも plant_fiber なので、どの島に流れ着いても
詰め物へ届きます。
どちらも目の詰んだ袋が要ります。 粗い編み地では羽軸が抜けます。布(紡績+機織り)は
SurvivalItems.md 7節で対象外なので、受け皿はなめし革2枚です。革が縫えて糸が撚れる
こと(clothing.yaml のなめし革の衣類と同じ連言)が詰め物の解放条件で、いちばん深い一着が段3の前提
(4.2.1節)であることと開く順が揃います。ただし革は熱帯では蒸れます——段そのものは置くと決まった
(4.2.1節)ので、この蒸れは足を止める理由ではなく、詰め物まで通すことの代償になります。蒸れと、湿気を
吸って固まることを数へ落とすかは未決です(8節)。
6. ハンモックは寝台の上位ではなく別系統
| 寝台(骨組み+敷物) | ハンモック | |
|---|---|---|
| 材料 | 太い枝が主、紐は少し | 紐が主、木材ゼロ |
| 寝床になる場所 | どこでも | 支点が2つ要る |
| 虫・湿気 | 強い | 最も強い |
| 保温 | 強い | 弱い(4.2節) |
| 伸ばしろ | 詰め物を足せる | 無い |
| 持ち出し | 敷物は据え置き。骨組みは抜けるが籠に入らない嵩 | 持ち上げればそのまま次の土地へ(6.2節) |
熱帯アメリカのハンモックは、背中の下を風が抜けることがそのまま利点になります(温帯では逆に欠点で、下へ
断熱を足す必要が出ます)。保温で寝台に並ばないのはこの裏返しで、虫と湿気に最も強い理由がそのまま
弱さの理由になります(4.2節)。この島では素直に強い選択肢ですが、網を編むのに紐を大量に食い、支点2つを土地の
側へ要求するため、寝台と上下にはなりません。Dwellings.md 4節が工法へ課した「どれも
全域で他を上回らない」を、寝床でも守ります。
6.1 支点は土地のプロパティで持つ
「木が2本ある土地か」は、土地が hanging_anchor として名乗ります(locations.yaml。木立ちの土地と
ヤシの並ぶ浜が持ちます)。その土地に立っている木を数える形は採れません——スロットの中身を見る条件
(GameElementDefinition.md 14.3節)は存在判定だけで、「2本ある」を
言えないためです。数える文法を足せば書けますが、本書は文法を新設しません(概要)。
探索で見つけた木の札の数とは別物です。 支点が在るかはその土地の性質で、木を1本倒しても、まだ 探索していなくても変わりません——倒せる木が在ることと、間を渡せる木の組が在ることは別の事実です。
支点を要求するのは、据える操作ではなく nap/sleep のほうです。 網は据えるだけなら支点の無い土地
へも置けて、そこでは寝床になりません——線は「置けるか」ではなく「寝られるか」に引きます。見るのは
ancestor(同 8.6節)で、もう1つの要件が「その土地の設置物として在ること」(in_slot: fixtures)
です。担いだままでは寝られないので、支点のある土地を探す理由が残ります。
確定の宣言は付けていません。 二択の一方が書けないことから決まったもので、人間の判断を経ていません ——数える文法を足すなら、もう一方が生き返ります。
6.2 網は item と fixture を兼ねる1つの型
ハンモックは、籠・そり・手押し車(containers.yaml)と同じく item と fixture を兼ねます。
据えることも持ち上げることも、レーンの間を行き来させるだけでできるので、そのための操作を持ちません。
巻いた網と吊った網を別々の型にはしません。 分けると、据えるたびに個体が入れ替わって傷んだぶんが
消えます(GameElementDefinition.md 9.4節。引き継ぐのは位置だけ
で、手で書いた別々の型のあいだは become でも行き来できません、同 9.9節)。朽ちる寸前の網を据え直す
だけで新品に戻るのは、寿命そのものを無意味にします。兼ねる1つの型なら、運んでいるのも据えてあるのも
同じ個体なので、傷みはそのまま付いて回ります。
担いでいる間も、据えてあるときと同じだけ傷みます。 素材を名乗るのは型1つなので、減りを止めるのは
屋根の下に在ること(sheltered)だけで、担いでいるかは見ません
(DurabilitySystem.md 2節。籠・道具とまったく同じ扱いです)。
持ち出す道が開いたぶん、持ち歩く網には値段が付きます——そのまま次の土地へ運べますが、運んでいる
日数も寿命から引かれます。
持ち出せることがハンモックの取り分です。 回復量は骨組みを差した寝台と同じ(4節)、寝床になる場所は
支点の要るぶん狭く、保温では並ばず(4.2節)、伸ばしろは無く、素材から通した手間はむしろ長い(3節)。
Dwellings.md 4節が工法へ課した「どれも全域で他を上回らない」が寝床でも成り立つのは、
ここが在るからです。寝台のほうは敷物が据え置きで、骨組みは抜けても籠に入らない嵩(containers.yaml)
——遠出の先で寝床を立てるなら、編んだ葉3枚を運んでいって敷き直すことになり、その3枚は敷いたきり
戻りません(4.1節の戻り道)。
sleep を配るのが寝床だけ(4.1節)という線は、これで緩みません。担いだままでは寝られず、支点の
無い土地では据えても寝床にならないので(6.1節)、遠出の道中で sleep が押せるかは、その土地が支点を
持つかにそのまま掛かります。
7. 除外・保留にした要素
- 青い葉を積むだけの段。 切りたての葉を地面に敷くのは一晩の即席としては実在の技術ですが、水を含んで いて体重で潰れ、2〜3日で腐るため、恒久的な寝床にはなりません。毎晩積み直す消耗品として表すことは できますが、上の段(編んだ葉)がひと編み60分・道具も繊維も不要なので、置いても選ばれません
- 枯れ草・乾いたヤシの葉を敷くだけの段。 同じ理由で外します。編んだ葉より安い段を作っても、初日から 編めること以上の意味が出ません
- 板と仕口で組むベッド。
Skills.md2節が指物・接合に挙げている「ベッド」はこれです。 本書の寝台は縛って組むので木材加工の範囲(同 2.1節の切り分け)で、板のベッドは本書の段の外にあります - 敷物の差し替え。 1.1節のとおり敷物は寝床そのものなので、より良い敷物へ替える道は今のところ ありません。織り布が入るなら、そのとき敷物も部品へ移すことになります
8. 未決事項
- 寝床が持つプロパティの名前と本数(4節)。快適性1本か、乾き・虫・圧迫へ分けるか。分けるほど工法の
違いは出ますが、その数だけ部品の宣言が増えます。寄与の届け先は
happinessに決まりました (Characters.md幸福度節)が、寝床からの寄与はまだ1本も入っていません - 雨。 屋根の無い寝床は雨季にほぼ無価値です。雨から守られていることは
sheltered(ContainerSystem.md6節)が既に表していますが、それを宣言する場所は 浅い洞窟だけで(Dwellings.md5.1節)、屋根を持つ住居は未実装です。今これを寝床へ 効かせると、寝床の値打ちが洞窟を見つけたかどうかだけで決まります - 部品をどう運ぶか。 本書は骨組みを
itemにして手で運ばせていますが、Dwellings.mdの壁・屋根も同じ問題を持ち、あちらはまだ決めていません。揃えるべきです - 紐の配分。 骨組みの紐3本と、筏を縛るロープ(1本が紐3本)の取り合いを、 意図した競合として残すか。ハンモックの紐も同じ原資を食います
- 蚊よけの煙。 熱帯では枕元の焚き火は暖を取るためではなく煙で蚊を追うためのものです。寝床と炉を近くに 置く動機として表すか
- 据えるのに手間を課すか。 ハンモックはレーンを移すだけで据わり、時間がかかりません(6.2節)
——現実には2本の木の間へ渡して張りを見る手間があります。罠も同じく置くだけで仕掛かるので
(
TrapSystem.md)、課すなら両方まとめてです。枠のput_in(GameElementDefinition.md7.10節)は土地のfixtures枠 そのものに付くので、設置物ごとに値段を変えることは今の文法ではできません - 骨組みの劣化。 寝床そのもの——敷物(
bed)とハンモック(hammock)——は 素材を名乗りました(前者が短命、後者は綯った紐なので長持ち。DurabilitySystem.md2節)。骨組みは物として在るのに名乗って いません——同節が名乗らせるのは道具・身につける物・入れ物・寝床までで、寝床へ差す部品は その外だからです。詰め物も同じ理由で名乗っていません——差した部品だけが朽ちない形をこのまま 残すかは決めていません。名乗らせるなら、羽毛と植物繊維で湿気への強さに差が出ます(5節) - 詰め物の種類ごとに効きを変えるか(4節・5節)。今はどれも同じで、差は集め方だけです。変えるには
先に、同じ枠へ入る物どうしが排他であることを収支の解析へ教えるのが要ります
(
src/analysis/balanceTables.tsのexpectedDeltasは条件を見ずに足すので、排他なブロックを 並べるとstats/balance.yamlがどの寝床でも起きない量を出します) - 革の蒸れと、詰め物が湿気を吸って固まること(5節)。どちらも段を置くことの代償として言葉では
書きましたが、数へは落としていません。落とすなら、天日に干す手間(
DurabilitySystem.md)か、 寝床が持つプロパティ(4節。名前と本数はこの節の未決)のどちらかに乗ります