PBR3 解体新書 Day6 Army Ants

はじめに


はじめまして。Day6 ArmyAnts(以下ぐんたいあり)制作担当のApppp!!(iidddd∀)です。

このnoteでは、問題の軽い解説や制作の流れをまとめています。

問題はこちら

解説

  • テーマ

「10」
10個の10×10の領域を解き明かし、四隅の10の行き先を明らかにしましょう。

  • 作意解説・コメント

    直感で引くことや試しに動かすことも大事なパズルであるため、作意は参考程度に捉えてください。

  • 1番/2番

想定難易度: 易/易

ぐんたいありのチュートリアル的エリアです。大きな数字から小さな数字へ繋いでいくことを意識すれば、そこまで苦労する点は無いでしょう。ただし、10×10の外側へ列がはみ出る可能性を忘れてはいけません。

  • 3番

想定難易度:普

パリティ(偶奇)の考え方を知っていると手が進みやすいです。偶数同士、奇数同士が隣り合うことはありません。

  • 4番/6番

想定難易度:難/難

標準的なぐんたいありの問題ですが、単純に紛れが多いです。また、10×10内部から大きくはみ出る部分がそれぞれにあります。どちらの部分もお気に入りの構造。

  • 5番

想定難易度:易~普

気づけば一発その1
壁は中央の部屋に面しているもの以外多くが余剰表出ですが、見た目と難易度を整えるために残してあります。

  • 7番

想定難易度:易
隣接禁をふんだんに使用しました。方向性は違いますが、ここもチュートリアルのようなものです。

  • 8番

想定難易度:易~普

気づけば一発その2

ぐるぐる

  • 9番

想定難易度:普~難

ナンバーリンクのようなエリアです。想定解法は引きですが、論理的に解くこともできます。

中央4マスの数字(7,3,6,8)に着目すると、7と8がくっつく必要があるため、それらの経路がつくる輪の中に「6以下を全て含む列」と「3以下を全て含む列」のいずれか1つが閉じ込められてしまいます。壁に阻まれて輪の中に5や4を入れられないことから「6以下を全て含む列」を閉じ込めることは不可能であり、「3以下を全て含む列」を閉じ込めるためには8を幅1の通路最奥に入れることが必須となります。

  • 10番

想定難易度:難

3の個数がギリギリです。中央4×4内の3を4と2につなげるためには部屋の隅を使う必要がありますが、左上の隅は1が隣接しているため使用することができません。

一番初めに作った小問なので印象深いですが、その印象に引きずられて全体的な難易度が上がった気も……。

  • 中央エリア

想定難易度:普~難

ARMY ANTS

4を大移動させたり10を袋小路に追い込んだりします。勢い余って選択肢を見落とさないようにしましょう。

出題までの流れ

  • パズル種決定

PBR3運営に参加した時点ではぼんやりとした案をいくつか持っているだけであったため、他の方の作問候補を見て作られていないジャンルを作ることにしました。全体的に塗り系・物体配置系が多く、また小問集合形式は十分集まっているようです。初代PBRのプッテリアのようなマイナーパズル枠を作りたかったのもあり、以前から気になっていたパズル種であるぐんたいあり(物体移動系かつオモパ出身)を制作することにしました。作ること・解くこと共に小サイズ(10×10程度)での経験しかないことが少し不安でしたが、やってみればなんとかなることでしょう。

  • 問題制作

制作するパズル種を決めたので、構想を練っていきます。まず初めに、主軸となる3つの制約を設定しました。

① 個人よりも団体が有利になるようにする

② ぐんたいあり未経験者でもある程度戦えるようにする

③ 大きめに作り、大サイズ固有の展開を(なるべく)いれる

……かなり大雑把ですね。

①は、PBRという場の特性から来た制約です。せっかくチーム参加が可能な大会であるのなら、皆で協力できるような問題の作問に挑戦してみようかと。

一方②は、ぐんたいありというパズル種の特性から来た制約です。特性、といっても知名度が低いということですが……。5年前と比較的最近のオモパでありPuzz.linkが対応していているものの、ぐんたいありを一切解いたことがない参加者は少なくないはずです。親切な入り口を用意したうえで、全体的な難易度もそう上げない方が良いでしょう。

③は大会・パズル種どちらの影響も受けていると言えます。PBRといえば、巨大な盤面・未知のルール・闇といったイメージを持つ人が大半でしょう(要出典)。謎ルールの大きなパズルが出てきて不思議な動きをしたら、面白いですよね(個人差アリ)。

これらの制約を踏まえて考え、パズル全体の解き筋を

『盤面外側の小問エリアを解き明かす
→その周囲でいい感じに通路が出来上がる
→通路に大きな数字を通し、中央エリアへ攻め込む』

としました。並列処理は団体が得意とするところですし、それぞれの小問内へ注意が向くことで、大サイズ・マイナーパズル特有の難点であるとっかかりの分かりづらさを軽減することができます。あと唯一解チェックしやすい。

これが決まればあとは盤面を作っていくだけです。小問のサイズを10×10、通路の幅を1マスとすると、全体の辺長は12の倍数にすると良さそう。物体移動系パズルは自明に決まる線・空白が多いことからマス数を多めに取りたいため、盤面サイズは無難48×48にします。


48×48のぐんたいありは順調に組みあがっていきました。それぞれの小問のコンセプトを決めて配置、四隅の数字の回収を絡めつつ微調整します。小問間での架橋構造も仕込み終わり、あとは中央エリアの調整を残すのみです。切りの良いところまで制作が進んだので、一旦通しで解きチェック(解くことで唯一解か確認すると共に、作意が崩れていないか確認すること)を行いましょう。

[一時間ほど経過]

この問題、重いわ。

ひたすら手を動かしているはずなのにまだ中央エリアの大半が埋まっていません。答えを知っている作者でも完答に二時間はかかりそうです。それまではあまり意識していなかったのですが、物体移動系のパズルは機械的に処理できる部分(手筋)が少なく、盤面の巨大さも相まってパターン見落としのケアに気力を持っていかれます。このままでは流石にまずいと思い、易化及び盤面の縮小(48×48→48×36)を行いました。小問部分は半分ほど流用し、中央エリアは完全新規で作り直し。完成したのが、今回出題した問題です。

最終的には、PBR3の中では平均・少し難しい寄りの丁度いい難易度に収められたと思います。


出題環境整備


問題は完成しましたが、まだすべきことが残っています。パズル大会には欠かせない、インストラクションと各種フォームの作成です。といっても、作成自体はシステム・デザイン担当の方々が全て引き受けてくださったため、実際の仕事は素材(例題やアンサーキー)の準備のみでした。

例題はただ作問するだけであり、大きな問題は無かったのですが(自明な別解の見落としで作り直しになったことは秘密)、アンサーキーには少し苦労しました。ぐんたいありは他大会での出題例が無く、アンサーキーの方式から考える必要があるのですが、正確性と手間のバランスをとるのが難しい……。

例えばLIAO(線が曲がるマスをL、線が直進するマスをI、線が通らないマスをA、線の両端のマスをOとする)を複数列入力させれば強固なアンサーキーになりますが、解き手が確認・入力する文字数は膨大になります。しかし、物体移動系パズルの性質上、終盤に様々な場所で微調整が発生する可能性があるため、アンサーキーは広い範囲を高強度でカバーしてくれることが望ましいです。他の方にも意見を伺った結果、現在の形(指定列の「線が通らないマス数の一の位」を順に並べる)へ落ち着きました。「一の位」指定の見落としや多重入力が予想されたので、ウドさんにお願いしてアンサーキーの書式指定を実装していただきました。誰かの役に立っていれば嬉しいです。

しかし、合計10列を指定したのは多すぎでしたね…… (感想フォームでもいくつか指摘をいただきました)。深く考えずパズルのテーマに合わせたのですが、多分6~7列でも強度はあまり変わりません。ごめんなさい。

出題後


一組目の解答者が出るまでは気が気でなかったです。恐らく一組目はチームでタイムは60分前後だろうと予想していたのですが、結果はまさかのソロ50分台で変な声が出ました。凄すぎる……!!

あと、自分の問題に感想を送ってもらえるのってすごく嬉しいですね。全部読ませていただきました。ありがとうございます!!!

おまけ 消えたテーマ


冒頭でこのパズルのテーマが「10」であると述べましたが、これはサイズダウンした際に付け足したものです(そもそも48×48の時点では小問の数は12個であったはず)。元々、この作品のテーマは「自動生成」にするつもりでした。

現実世界にはCaSPのように絵画や小説を自動生成するツールがありますが、これらは無から作品を創造しているのではありません。既存の作品データをもとに学習し、その結果を出力しています。そのため、一部が元データに酷似することがあります。

同様に、CaSP産のパズルは既存のパズルに似る部分があるのでは?(こじつけ)

……というわけで、最初は小問それぞれで何らかのパズルをオマージュしていました。サイズダウン後の小問にもいくつか名残があります。4番、7番、9番辺りは元ネタが分かりやすいと思うので、ぜひ考えてみてください。



この記事が気に入ったらサポートをしてみませんか?