ゲームやWEBサービスというものは基本的に「プログラム」の集合体だ。「プログラム」とは、端的に言えば物事を実行する手順、過程のことである。
自動販売機を例にすれば、「通貨を入れる⇒ボタンが光る⇒ボタンを押す⇒商品が出る」の流れがそれに当たる。これら、一つひとつをまとめると「回路」のようになることから、プログラムを組み立てる「プログラミング」とは、回路作りに近いと言われる。
そんなプログラムの仕組みに着目した、一風変わった思考型パズルゲームが2021年2月に開催された「ウディフェス2021」に出展された。
その名も『プリンキピア・アルケミア』。
難解プログラミング言語に着想を経た、革新的パズルゲーム
「ウディフェス2021」への出展が表す通り、本作は「WOLF RPGエディター」製のWindows PC向けフリーゲーム。ダウンロードはウディフェス公式サイトの作品ページのほか、フリーゲーム配信サイト「ふりーむ!」、「フリーゲーム夢現」から実施可能だ。
作中の舞台となるのは19世紀初頭、産業革命下の架空のイギリス。プレイヤーは新しい街へと出て、工房を開業した錬金術師の主人公になり、訪れる客の依頼という名のパズル問題に挑んでいく形となる。本編は章単位で構成。基本的に章ごとに用意された問題を全て解き終えると、次の章に移る仕組みで進行する作りになっている。
そして、問題では「錬金術回路」なるものを作成し、目的の元素や物質などの出力(生成)を目指す。クリア条件は全章の問題共通で、目標物の6回連続出力達成。延々と元素、物質を作り続ける構造の回路を作ればいいのだ。
ただ、回路作成に当たっては様々なことを覚える必要がある。
まず、回路の仕組みだが、基本的にどの問題も矢印の方向へエネルギー(光)を供給する「グリフ」と呼ばれるパーツ(始点)が設置されている。エネルギーは画面中央下の「再生ボタン」をクリックすると供給を開始。また、供給先の矢印はマウスでグリフ本体をクリックすると、左右上下の方向へと変更できるようになっている。
だが、このままだと指定の方向に真っ直ぐ延々とエネルギーが走り続けるだけ。発せられたエネルギーを制御したり、それを用いて何らかの動作を実施したい場合は、画面左側に用意された「制御」、「入出力」、「操作」、「変換」の全4カテゴリから成るグリフを回路上に設置しなければならない。
一例として、エネルギーの進む方向を変えるだけなら、「制御」のカテゴリに用意された矢印の刻まれたグリフを使って回路を組み立てればよい。逆に各問題の目標物たる元素、物質などを出力する場合はそれらも使いつつ、残りの3カテゴリのグリフも用い、回路を組み立てていく形だ。
元素や物質は画面右側のスペースに表示。1~3の「入力」、「スタック」、「出力」の計5項目があり、元素などは「入力1~3⇒スタック⇒出力」の順序を基本に生成されるようになっている。一例として、「入力1にある物質を指定してスタックに移動⇒出力する」の流れの回路を作るならば、
このようになる。逆に生成の順序に誤り(ズレ)が存在すると、実行時にエラーが発生。正確な順序を辿る構成に組み立て直す必要が生じる感じだ。
また、「スタック」へと移動した元素などに対しては「操作」、「変換」のグリフの効果が適用され、別の元素にしたり、2つを繋ぎ合わせる(連結させる)ことなどが可能になる。つまり「出力」も含め、「入力1~3」から取り出した元素などに何か手を加えるには「スタック」に移さねばならない。移さずに前述のグリフを使おうとすればエラーになってしまう訳だ。
こう言った法則、原理を踏まえながら本作では回路の組み立てに挑んでいく形になる。もっと突っ込むと、「分岐」や「組み合わせ」などの動作もあるのだが、細かく解説すると長くなってしまうので割愛。
一連の動作は難解なプログラミング言語と言われる「Befunge」を元にしており、本作はその仕組みを視覚的に分かりやすくし、パズルゲームにしたものになっている。正直、前述の基礎部分だけでも人によっては何がなんだかだろうが、ひとまず「目標物を6回連続で出力すればいい」と覚えておけば十分。
ゲームシステム、プレイ面でも検証と実行の試行錯誤を繰り返す点で、NHK Eテレの教養番組「ピタゴラスイッチ」でお馴染みの「ピタゴラ装置」、またの名で「ルーブ・ゴールドバーグ・マシン」を作るゲームと言えば、大よその想像は付くだろう。
とは言え、仕組みそのものはなかなかに革新的。プログラムを作るなりの考え方と発想が攻略のカギを握る、脳味噌を大いに奮い立たせては悶絶させる、独特な遊び応えを秘めたゲームに仕上げられている。
そして、プログラムをテーマにしているなりにその魅力も明瞭。
「最適化を極める楽しさ」である。
理解が進むたび、他の答えを探りたくなる面白さ
前述の通り、回路の作成では「グリフ」の特徴など、色々覚える必要がある。そのため、始めて間もない頃は冗長な回路を作ってしまいやすい。単純にひとつの元素を出すだけなのに、無駄に多くのグリフを用いた、ゴチャゴチャしたものが出来上がりやすいのだ。
主にプログラミングの知識、経験が少ない人ほど、同様の事態に陥りやすいかもしれない。一応、そのようなプレイヤーへの配慮で「手引き」と称された練習問題を8問用意しているのだが、基本「習うより慣れよ」の実戦形式。細かい説明を省いているため、最適な考え方が掴めず、四苦八苦するだろう。
だが、理解が進むと、途端に無駄の少ない回路が作れるようになる。「制御」のグリフをほんの数個だけしか使わず、「入出力」にも効率的に元素をスタックに移動させるようにグリフを並べたりなど、分かれば分かるほど色々な方法を試しては実行したくなる面白さがあるのだ。
しかも、最適化した結果は問題ごとに「コスト」という数値(スコア)で可視化。高いほど無駄が多く、低いほど無駄が少ないことを意味するので、後者の結果を導けた時は自然にガッツポーズを決めてしまうほどの嬉しさが噴き出る。
そして理解が進めば、前に解き終えた問題に再挑戦したい意欲も刺激。これを狙ってか、本作は解けた後の問題にも選択画面内の「達成済み」から再挑戦可能な設計にしている。なので、ストーリー進行そっちのけで集中してもよし。そんな高いリプレイ性と中毒性も秘めており、時間を忘れて遊び込んでしまう面白さがあるのだ。あまりに没頭し続ければ、瞬時に1~2時間以上が吹っ飛ぶ可能性も無きにしも非ず。恐ろしい中毒性を持つのである。
このような面白さが表現されているのも、プログラム(プログラミング)を題材にしているからこそ。実際にプログラムを書いたり、勉強した経験があれば、この徐々に洗練化されていく過程には気持ちよさと懐かしい感覚を呼び起こさせられるかもしれない。
また、「解はひとつではない」、「コストはあくまでもスコアでしかない」という2つの特徴がこの魅力を一層引き立てているのも見逃せない。
前者は全問題において、明確な答えが設定されていない。なので、一度解き終えたとしても、その時のコストよりも低い値で達成できる答え、逆にもっと高いコストで達成できる答えが作れる可能性が残る。ゆえに再プレイ時でも新鮮な気持ちで取り組めるし、クリアしたから終わりとの気持ちにもなりにくい。実際のプログラム(プログラミング)もひとつの課題に対し、複数の組み方が存在することから、この点はその面白さと醍醐味を見事にパズルゲームの枠組みへと投影している。まさにプログラム(プログラミング)のパズルゲーム、と納得させられる仕上がりだ。
後者もその仕組みを最終問題まで一貫させているのが見事。こういうものがあると、「指定コスト内で回路を作れ!」との制約を課した問題が出てくるのがある種のお約束だが、(若干ネタバレになるが)本作にはない。全問題でスコア以外の使い方をしないのだ。これもまた、プログラム本来の魅力を表現していると同時に、色々試して遊んでというプレイヤー第一の姿勢が滲み出ていて素晴らしい。ゲーム的には制約があった方が盛り上がるのも事実だが、本作は自由に組み立てるプログラムがテーマのパズル。この上ないほど理に適った措置で、あえて設けなかった判断を高く評価したいところだ。
他に問題の数も「手引き」込みで30以上と少なめながら、目標バリエーションの多彩さと前述の「解はひとつではない」特徴も相まって、十分すぎる遊び応えを秘めた仕上がり。難易度はルール周りの理解度合いに左右されるが、過度な時間を要する難関は少なめ。構成的にも緩急を付ける工夫が凝らされているので、バランスは総じて良好だ。
まさにプログラム本来の面白い所全てを凝縮した内容。題材が題材だけに、取っ付きにくさもあるが、それを乗り越えるだけの価値は十分過ぎるほどにあり、このテーマ特有の最適化に没頭する面白さと自らの発想が洗練されていく快感が詰まっている。主にあまりプログラムに親しんでいない、理解が浅い人ほど大きな感動が味わえる内容。「正気か?」と思うかもしれないが、とりあえず「6回出力すればいい」という一貫した目的を認識した上で、「手引き」から問題に触れて行ってみて欲しい。さすれば、その感動の意味を味わえるはずだ。もちろん、普段から慣れ親しんだ人にも推せる。特に難解言語の「Befunge」をこんなパズルゲームにした、ゲームデザインの妙に注目いただきたいところだ。
脳味噌フル回転の革新的思考型パズル、ここに参上!
しかし、難点も若干ある。最も大きいのは「手引き」。基本「習うより慣れよ」とは言え、さすがにテキストによる説明がザックリしすぎている。一番最初のエネルギーの流れを制御のグリフを使って周回させるのはまだ直感で分かる点があるものの、次の入出力以降はテキストの解説が圧倒的に足りていない。具体的にどういう流れで入出力を行うのか、置き方の例も書くなりして、補助してくれればと思ってしまった。どうもプログラミング経験者の目線でまとめられてしまっている印象が否めない。いきなり入出力と言われても、ピンとこない未経験者も少なくないと思うので、もう少し詳しく参考例を示して欲しかったところだ。
また、冒頭の通りに本作にはストーリーもあるのだが、全体的に淡々としていて盛り上がりに欠ける。パズルゲームなので、そんな派手な展開の連続もどうかとは思うが、終盤、主人公が錬金術師としての立場に迷いを抱き始める展開は唐突すぎるように感じた。もう少し複数の出来事を起こし、迷いへと繋げるような納得感のある展開であれば、その辺の違和感も払しょくできていたように思う。幾つか活かせそうな要素と人物がいただけに、使いこなせてない感じになっていたのが少し残念だ。
取り分け気になった難点はそれぐらいで、他の操作性やメニュー周りデザインと使い勝手全般は総じて洗練されている。ボリュームも個人差はあるが、じっくり進めた場合なら6~7時間は要する物量。
さらにクリア後には自作の問題を作れる「エディットモード」も解禁され(※特殊な操作を行えば、クリア前でもプレイ可能)、他のプレイヤーが作った問題を楽しめるようになる。ちなみに作者Rtt氏のTwitterでも、追加の問題が複数公開されている。本編を一通り遊び尽して、まだ問題を解きたい際はぜひ、チェックいただきたい。
パズルゲームとしての完成度は盤石で、その解き方の幅広さもあって長い時間遊び込める魅力満載の本作。思考型パズルゲーム好きはもちろん、一風変わったパズルゲーム、プログラム(プログラミング)好きもお試しいただきたい傑作だ。架空の19世紀イギリスで、脳味噌をフル回転させて錬金術を実現させる回路作りに勤しみ、没頭しよう。ただし、一度最適化を突き詰めれば、冗談抜きに時間を吸われてしまうので、熱中しすぎにご用心。
[基本情報]
タイトル:『プリンキピア・アルケミア』
作者:Rtt
クリア時間:2~6時間
対応OS:Windows
価格:無料
ダウンロードはこちら
※ふりーむ!
https://www.freem.ne.jp/win/game/25199