橋梁の工学的再解釈 “Poly Bridge”
無資格建築士のサボタージュ。
「許容応力を超えぬこと」という常識的な一文だけで心を折られるのがマヌケのマヌケたる所以の一つである。
各車両がそれぞれの目的地に辿り着けるよう、スタートとゴールを分断する谷間に橋を架ける物理演算パズル。
クリア条件や現場の環境は問題ごとに異なり、経由地に指定が入ったり、部材の種類や数を制限されたり、谷間を通過する他の乗り物を避けさせられたりする。片道専用のジャンプ台など、時には明らかに橋ではないものを造ることすら求められるのだが、タイトルを鑑みるなら、クリア条件を達成するものはみな等しく橋ということなのだろう。
このパズルの特徴として、使える部材の中に油圧シリンダーがあることが挙げられる。これによって跳ね橋といった大規模な可動橋を選択肢の一つとして選べるようになっている。
油圧自体は直線的に押し引きするだけのものだが、油圧同士の組み合わせによって様々な変形機構を作ることができる。
無茶な施工条件の多さゆえに元々静的な橋架けから離れているのだが、油圧の存在によって力学的というよりも工学的な、より動的な発想が求められる橋架けとなっている。
動的に考えられるとはいえど、その分要求される内容も過酷である。
トルクのない車両に急坂を登らせたり、交差する対向車を捌いたり、複数の接続を切り替えられる機構が必要になったり、限られた油圧に対して大幅な移動量を求められたりと、そこには紛れもないねじれが存在している。
それらを解決する方法もまたより動的な、橋の建築という固定観念を解放した柔軟な発想が求められる。現場の環境を利用したり、コンクリートの使い方を道路以外にも広げたり、時にはシミュレーションの仕様すらも利用したりなど、ねじれた問題の数々は方面を問わない創造性の行使を待っている。
また、この手のパズルの例に漏れず、予算による評価が存在するが、このパズルでは許容応力を超えて壊れた部材がないかどうかも評価の対象としている。
単にクリアするだけならば必須ではないが、最高評価に至るにはこの二つを同時に満たさなければならないので、それも含めるとこのパズルの歯応えはかなりのものだ。
歯応えはあれど、しかしながら意欲を削がれるような欠点が深刻で、実際マヌケはやる気をなくして約1年このパズルを積んでしまっていた。
別個の欠点や個人的な好みによるものもあるが、特に深刻だったものの中のいくつかは互いに影響を強め合う関係にあったように思う。
その一連の欠点に共通することとして、微調整の面倒臭さを助長するものをまとめることができる。以下にその詳細を列挙する。
まず一つ目の欠点は、同じ設計でもシミュレーションの結果が一定せず、乱数による結果のばらつきが出ることである。
負荷が小さく済む内容ならば全く気にならないことだが、高負荷を通さざるを得ない状況になるとその影響は顕著に現れるようになる。衝撃の分散の仕方やジャンプ台の踏み切りの位置などは特にずれやすい。
この仕様は試行回数のゴリ押しで望ましくない設計を通してしまうという脆弱性であると同時に、詰まった時に縋りたくなる罠にもなってしまっている。
二つ目の欠点だが、綺麗にまとまった設計というものが難しくなっていくことである。
シミュレーション結果はエレガントでも、それを実現する設計は数多の部材が複雑に絡み合っていて見映えが悪いというのはしばしば起こり、終盤ではその頻度がさらに増す。
複数のアセンブリが重なったり、特定の箇所に部材が集中したりなどすれば接続関係の視認性は簡単に落ちる。難易度が上がるにつれ応力集中を免れられなくなると組み換えによって補強するしかないが、強度の増す組み方をすればするほど部材が密集して、やはり同様に視認性は落ちる。このパズルでは道路に別の部材を重ねて補強することができるが、そうすればその部材と同化してどこが道路かを見失う。
重なりすぎた設計が影響を及ぼすのは視認性だけではなく、部材は密集するほど単体を消すのが難しくなっていくので、設計の全体的なテンポにも影響する。
現場の環境が広大になるほど設計の手間が増え、狭まるほど限られた空間に部材を押し込む他なくなるのだから、どのような問題でも、叩き台の設計ですらこの欠点が隣り合わせとなる。
色々と作って試してみようなどと言うのは簡単だが、その試すという一度すらも手間がかかるようになると、ひいては試行を回避するために思考が閉ざされていくようになる。
以上二つの欠点を踏まえた三つ目の欠点だが、予算がきつく設定されていることである。最高評価を目指さない場合は無視できることだが、マヌケの場合は最初からこれを辿り着くべき目標として設定していたので欠点として言及する。
このパズルの予算はおそらく模範解答から逆算して厳密に定められているのだろう。油圧の濫用や雑な補強によるゴリ押しを回避するためか、概ね低く設定されていて、叩き台は軒並み赤字になるのが常である。
だが前述の二つの欠点が合わさって、予算制限への挑戦は無駄な構造の制限として働く以上に、過酷な微調整の作業を求めるものになってしまっていた。
一つでも部材がポキリと折れれば補強を入れなければならないが、どこまで補強すべきかは予算との兼ね合いになる。予算を超えれば補強と部材抜き取りジェンガの往復の始まりである。
考え方は正しくてもシミュレーションごとに結果が変わるので、クリアに至るかどうかは乱数の気まぐれに依存する。補強を入れるほど悪くなる操作性に消してはやり直しの繰り返し、微調整が積もってそもそも正解から遠ざかって一から組み直そうとしても全く同じ設計は難しい。
正しい発想で設計をした達成感も、作業による疲労感で上書きされてしまえば残るのは解放感と虚しさである。
あとは油圧チュートリアルが仕様を学ぶ上でも事例を学ぶ上でも導線が不足しているという不満もあるが、それでも一番は設計の面倒臭さに繋がる一連の欠点で揺るぎない。
解決すべき事柄の理解とその手段を探るまでは良質なパズルだが、その後の設計は面倒な作業であり、良問悪問等しく微調整を免れられることはない。
そして何より一番つらいのは、解けたこと自体は嬉しくても、解答に喜び頷くことがないということである。全てが自力で辿り着いた正解だが、そこに誇りは一切なかった。泥と偶然にまみれた歪み醜い解答を見て、一体何の満足感が生まれるというのか……。
余談だが、このゲームは最終問題の8-10をクリアしてしまうとその後起動しなくなるというとんでもないバグを抱えている。デフォルトの問題選択位置として、クリア済みの問題の番号の+1を指定していることが原因だろう。最後の番号の問題をクリアした場合の例外処理を入れず、ないものを参照しようとして返る結果もなく固まってしまっているのではないだろうか。
このバグはおそらくiOS版だけだと思われるが、このせいでマヌケは意図せず2周する羽目になってしまった。勝手を知ってもなお時間がかかった事実が作業を免れられないことを如実に物語っていた。
最後まで辿り着ける人がいないからバグレポートが来なかったのか、開発に直す気がないのか……修正が来なければ後者ということになるが、そうではないことを願いたい。
他にも再現性のあるバグが色々あって全体的にデバッグが甘いように見える。レベルデザイナーが優秀でもプログラマーが手を抜いたら元も子もない。