定義
倉庫番系ブロック押しとは、格子状の盤面でオブジェクトを押して指定の位置へ運ぶ機構である。プレイヤーの動詞は「歩く」と「押す」の二つだけで、引くことはできない。手番ごとに変わるのは自分の位置と、押した物の位置だけである。その配置が目標の条件を満たしたとき、面が解けたことになる。
この機構の核心は動詞の少なさではなく、一手の不可逆性にある。押した箱は元へ戻せないので、盤面は「まだ解ける配置」と「もう解けない配置」に分かれていく。後者に入ったことに気づかないまま手を進められるため、失敗は静かに訪れる。上の盤で試せるとおり、壁際に寄せた箱はもう反対側へは動かせない。この詰み(デッドロック)を先に見つける作業そのものが、遊びの中身である。
初出と系譜
初出は1982年、シンキングラビットが発表した『倉庫番』である。設計者は今林宏行。題名の「倉庫番」は倉庫の管理人を指す語で、英語圏ではそのまま Sokoban として定着した。1981年に PC-8001 向けの個人制作版が先にあり、商品としては1982年以降 PC-8801 などで売られたとされる。
当時のゲームはほとんどがアーケードの文法の中にあり、反射神経が報酬の中心にあった。倉庫番はそこから外れ、リアルタイムの圧力も敵も得点表示もない盤面を提示した。この経緯は倉庫番(1982) — メタパズルの44年前の原型に詳しい。1983年12月号の雑誌 LOGiN のインタビューで、今林は倉庫番を「詰め将棋みたいなもの」と語っている。設計意図をまとまった形で語った資料は少なく、この一言が数少ない手がかりである。
系譜はすぐに分岐した。HAL研究所の『エッガーランド』(1985)は押す対象を卵にした敵に変え、一室で完結する形式を確立した(エッガーランド(1985))。同系列の『Adventures of Lolo』(1989、Adventures of Lolo(1989))が続いた。アトラスの『パズルボーイ』(1989)は押すと90度回る仕切り「くるりんドア」を足した(パズルボーイ(Kwirk)(1989))。日本語の題名ではなく動詞の形で海外へ渡っていった経路は、名前は奪われても、動詞は生き延びるで整理されている。
変奏
もっとも経済的な変奏は、動詞を増やさずに押す対象の性質だけを変えるやり方である。Sokobond(2014、Alan Hazelden と Lee Shang Lun)は押す対象を原子にした。隣り合った原子は結合し、以後は分子ごと一体で動くので、戻せなさが配置ではなく形そのものに移る。A Good Snowman Is Hard To Build(2015)は押すたびに雪玉が大きくなる。Snakebird(2015)とCan of Wormholes(2023)では押す主体そのものが伸び縮みする胴体を持つ。
対象をさらに抽象へ寄せた作品もある。Baba Is You(2019、Hempuli)は押す対象を、ルールを構成する単語ブロックにした(ルール書き換え)。Patrick's Parabox(2022、Patrick Traynor)は箱の中に盤面を入れ、押す連鎖が次元をまたぐようにした(再帰・入れ子構造)。Void Stranger(2023)は床タイルを持ち運ぶ動詞に置き換え、しかも取り消しを与えない。三本とも操作は「隣接するものを押す」ままである。この一点だけを動かす作法は押すという動詞と動詞の少なさが豊かさを生むときで論じた。
押す物に隠れた状態を足す方向もある。Stephen's Sausage Roll(2016、increpare)は転がるソーセージに焼き面という状態を持たせた。Pipe Push Paradise(2018)は押す物の形と高さを立体で扱う。Bonfire Peaks(2021)は運ぶ荷物が足場も兼ね、Isles of Sea and Sky(2024)は押す面を広い島に開いて探索と混ぜる。難しさの逃げ道を用意した例がA Monster's Expedition(2020)で、詰みが起きない構造にすることで、押す機構から不可逆性だけを外している。
設計上の落とし穴
第一の穴は状態爆発である。歩くだけの迷路なら状態は自分の位置だけだが、押すパズルでは箱の並び全体が状態を作る。箱が一つ増えるごとに盤面の場合の数は掛け算で増える。実際、任意の倉庫番の面が解けるかを判定する問題は NP困難である(Fryers と Greene 1995、Dor と Zwick 1999)。さらに PSPACE完全であることも示されている(Culberson 1997、Hearn 2006)。人間にとってこれは「読み切れない」を意味し、設計者にとっては「悪手の大半が早い段階で悪手として見える盤面を組まねばならない」という制約になる。
第二の穴は、詰みを教える順序を誤ることである。押すパズルの失敗は起きた瞬間には見えないので、理由のわからない行き詰まりは理不尽としてだけ記憶される。序盤は詰みようがない配置で「押したら戻せない」という前提だけを刷り込み、慣れた頃に小さな詰みを一度経験させる段取りが要る。詰みをどこまで見せるかという主題は読める失敗 — パズルの『詰み』をどう可視化するかで、取り消しを与えるか罰するかの選択はUndo の倫理で扱った。多くの現代作が取り消しを標準装備するのは、この教育負担を機構の外へ出すための判断である。
第三の穴は、難しさを盤面の広さで買おうとすることである。盤が広がると手数は伸びるが、思考の密度は落ち、総当たりの作業に近づく。一画面に閉じる設計が効く理由は一画面に閉じる設計にまとめてある。自動生成も同じ穴を踏みやすく、解ける面は無数に作れても「気づきが一つある面」はまず出てこない(手で組む面、機械が生む面)。この難しさは AI の計画能力の測定にも使われている(Monti et al.: 一本道の倉庫番で、AI の「計画する力」を測る)。
見分け方
移動制約グリッドとの違いは、押す対象があるかどうかである。移動制約グリッドは自分の動き方に条件が付くだけなので、状態は基本的に自分の位置に尽きる。倉庫番系では盤上の物の配置が状態になり、その変化に戻せないという制約が最初から入っている。ルール書き換えと再帰・入れ子構造は、押す文法の上に乗る上位機構と見るのが正確である。押す操作を取り除いても成立するなら別機構、押す操作が消えると成立しないなら倉庫番系の変奏だと判断できる。
物理シミュレーションや磁力と重力との差は、量が連続かどうかである。倉庫番系の移動は一マス単位で離散的であり、勢いや摩擦は存在しない。転がす動詞も近縁だが性質が違う。転がる物は姿勢という隠れた状態を得る一方、位置だけなら戻れることが多い(English Country Tune、転がすという動詞)。転がしは状態を増やして難しくし、押しは可逆性を奪って難しくする。
さらに読む
サイト内: 押すという動詞 — 倉庫番が発明した、引けないことの設計(機構の中心的な論考) / 倉庫番(1982) — メタパズルの44年前の原型(初出の経緯) / 今林宏行の哲学 — 片づける荷物が、片づけの邪魔をする / 論理パズルが早く解けるようになる考え方 — ソコバン系のコツ(解く側の視点) / Undo の倫理 / 読める失敗 / メタパズルの系譜 / 再帰をパズルにする / 操作系がパズルの難しさを決めるとき
サイト外の一次資料: Wikipedia English: Sokoban(発表年・設計者・計算量の各結果の出典)、Wikipedia 日本語版: 倉庫番(移植史)、Thinking Rabbit 1983 Developer Interview(LOGiN 1983年12月号の翻訳。今林の「詰め将棋みたいなもの」の出所)。今林とシンキングラビットの設計意図を語った一次資料は限られており、当事典でも確証段階を明記している。
隣接する機構
移動制約グリッド / ルール書き換え / 再帰・入れ子構造 / 物理シミュレーション

















