見出し画像

"最高傑作"ではないが、睡眠時間は削られる

少し前に「SpaceChem」というゲームを始めた、と書いた。

なんとか最終面まで辿りついたのだが、ここで完全に詰まってしまった…。どう考えてもうまくいかない。ここまでの知識を総動員すればできないはずはないのだが。

ということで、一旦頭をリセットするために、SpaceChemと一緒に買った「Opus Magnum」を始めることにした。

「Opus Magnum」には"最高傑作"などと言う意味があるらしい。このエントリーのタイトルはそういう理由でつけているということです。

Opus Magnumは、錬金術を駆使して試薬=入力となる物質(エレメンタル)を加工して目的の生成物を作るパズルゲーム。大きな括りではSpaceChemと同じタイプのパズルゲームである。

SpaceChemでは、現実の原子(元素)の組み合わせや核融合によって色々な物質を生成していたが、Opus Magnumでは"エレメンタル"という架空の元素のようなものを組み合わせる。
"水"・"土"・"火"・"空気"の四大元素と、それらの中心となる"塩"(えん)、"鉛"・"錫"・"鉄"・"銅"・"銀"・"金"といった金属、金属を錬成するときの触媒となる"水銀"、そして"生"と"死"というよくわからないもの、の合計14種類のエレメンタルが存在する。これらを結合したり生成したりしながら目的の生成物を作成していく。

エレメンタルの加工場となる"変成機関"はハニカム構造になっている。ここに、回転・伸縮するアームやアームを動かすトラック、エレメントを結合・分離したり他のエレメントを生成する"象形文字"などを配置する。それらに命令を与えて、試薬から生成物までを生成していく。

この”変成機関"が実質無限の広さであるため、生成物を作り出すだけであれば、わりと簡単にできる。このメーカーのパズルゲームは結構難しいと評判なのだが、この手のゲームの初心者でも比較的とっつきやすい印象がある。
(後日追記 : 最終章では変成機関の広さが極端に狭いステージがでてくることを確認)

ステージクリアすると、「コスト」「サイクル」「エリア」の3つの実績が表示される。
「コスト」は、変成機関で使用したアームや象形文字にはそれぞれ値段が設定されており、数多く使えば当然コストがかかる。
「サイクル」は、クリア条件を満たすまでに要したステップ数で、命令が効率的かどうかの指標となる。
「エリア」は、生成のために使用したヘックスの数。アームや象形文字を置いた場所の数ではなく、アームの回転や移動でエレメンタルが通ったヘックスも含まれるため、移動や回転が多いとそれだけ数値が上がる。

この実績表示のときに、他のプレイヤーの実績との比較も表示される。つまり、「まだコストを抑える方法がある」「もっと早くサイクルを回すことができる」「もっとコンパクトにできる」と分かるわけである。

こうなると、"効率厨"である自分は、もう効率を求めずには居られなくなるわけで(汗

自分の場合は、まずはサイクル重視のものを作る。完成系がこれが一番派手で、一番効率化しているように見えるからだ。
全体の作業ループは、一番サイクル数の多いアームを基準に回る。例えば1番のアームが4サイクルで1ループだとしても、2番のアームが8サイクルで1ループならば、1番のアームも8サイクルで1ループとなる。つまり、4サイクルは何もしていない状態となる。無駄無駄無駄ーーーーっ!(ジョジョネタらしいが詳しくは知らないw
全体ループのサイクル数が少なければ、エレメンタルが後工程を処理している間に、次のエレメンタルの前工程が早く始められるようになるので、全体のサイクル数が上がる。
そして、1つのアームのサイクルは、
  1. エレメンタルを掴む
  2. アームを移動・回転させる
  3. エレメンタルを離す
  4. アームを元の位置に戻す
が基本となるので、原則は「1アーム4サイクル」で作っていくと、サイクル数の効率化が図れることになる。(当然例外はある
gifアニメを出力する機能があるので、とあるステージのサイクル重視で作った機構を出力してみた。

Opus Magnum - アルコール分離 (265G, 29, 48, 2020-07-25-18-26-03)

アームが無駄に多いように見えるが、すべてのアームを原則の4サイクルで統一することで、次々と処理されていっている。
このステージはおそらくこれが最適解だと思っているのだが、さらに効率を高める方法があるなら教えていただければと。

そして、次にコスト重視を目指す場合が多い。
エレメンタルの移動にアームは必ず1本必要で、試薬から生成部を作るには必ず1回は何らかの加工をしなければいけないので、そのための象形文字は絶対に必要。アーム1本が20Gだが、アームを移動させるトラック1個は5Gなので、アーム1本足すよりもトラック3個まで済ませられるならそちらを優先するような感じで作っていくと低コストとなる。
先ほどのサイクル重視と同じステージの、コスト重視のgifも出力してみた。

(…のだが、なぜかアップロードできない…。noteは10Mまで上げられるはずなんだが…。)

サイクル重視とは違い、動きが全然なくて、効率化されているようにはあまり見えない。地味なんですわ、コスト重視はw

このステージでは、アーム1本、分離の象形文字1個、塩から四大元素を生成するための象形文字1個と特殊なアーム1個は最低限必要で、これだけで合計80Gとなる。
自分はトラックを3個を追加して機構を作った。トラックをもう1個減らせるような気もするのだが、今のところ思いつかない…。

…とまあ、結果的に、睡眠時間が減っていっております…。

特にサポートは求めておりませんが、いただいたサポートはありがたく次のドルヲタ活動に充てさせていただきます。