フリーゲームの森

フリーゲームのレビューブログです。 ノベルゲーム・アドベンチャーゲームを中心にお勧めの作品を紹介します。
初めての方は、ぜひごあいさつをご覧ください。評価の基準については、レビューについてに記してあります。
記事一覧ページを作りました。記事探しはこちらから。Twitterはこちら。リンク等はご自由にどうぞ。
YouTube始めました。フリーゲーム攻略動画などを投稿してます。

スコアアタック

こんにちは。今回はRtt Projectさんの「プリンキピア・アルケミア」のレビューとなります。

alchemy1

ジャンル:プログラミング錬金パズルゲーム
プレイ時間:メインストーリークリアまでで1時間程度
分岐:なし
ツール:Wolf RPGエディター
リリース:2021/2


本作は3年前に公開された作品で、私が本作を初めて知ったのは2021年のフリーゲームCMコレクションだったと記憶しています。私が得意そうな雰囲気を読み取れ興味を持ってはいたのですが、DLせずにそのまま3年経過していたようです。先日何のきっかけだったかは忘れたのですがフリーゲーム夢現で本作を発見し、ようやく実際にプレイしてみました。ゲーム説明から期待されるパズル的な面白さはもちろんのこと、コストの最適化に関して考察しがいのある作品だったので今回ご紹介しようと思います。



本作は基本的にはストーリーモードとパズルモードが交互に進行していきます。主人公は19世紀のイギリスで錬金術で商売しています。自分の工房を拡張したり、客からの依頼に応じたりするために錬金術を使っていくことになります。
この錬金を行うパートがパズルの面になっています。このパズルが少々癖のあるものになっていまして、プログラミングの素養のある方ならパッと飲み込めると思いますが、そうでない場合そもそも「入力」「出力」「スタック」などの意味から日常用語と違っていて困惑するかもしれません。この辺りはチュートリアルステージをやりながら覚えていくしかないでしょう。私は以前Wikipediaでなんとなく難解プログラミング言語の一覧を見ていたとき、Befungeという2次元的にソースコードを記述する言語の存在を知っていたので、システムの理解は容易でした。
今このWikipedia記事を読んでみると想像以上に本作の仕様と同じ(その拡張)になってますね。Befungeの言語仕様のうち<>^v#&+%`\$あたりの文字を使えるようにして、元素の結合/分解という操作を付け加えたゲームという感じでしょうか。作者さんもBefungeに影響を受けて作ったゲームであることをあとがきで明言していました。

という背景情報はありつつも、本作のパズル自体は特に前提知識なく解くことができます。
alchemy2

やることは格子状のフィールドにユニットを配置し下の実行ボタン(右向き三角形)を押すだけ。
スタート地点から順に通った地点にあるユニットに応じて錬金素材の取得と操作、生成物の出力などを行います。その結果出てきたものが目的物と一致すればクリア。上の画像の問題の場合、ガスを2分子取り込んで片方を分解、火の元素を一つ捨てて結合したものを出力すればOK、というのを回路にしたのが正解となります。
このあたりの操作は慣れればすぐできるようになるのですが、条件分岐を使うようになってから難易度が一段階上昇します。

alchemy3
この問題では入力される素材が一部ランダムとなっています。その中から空気だけを抽出して出力するには、中央にイコールの記号のある制御ユニットを使う必要があります。プログラミングでif文を使うように、スタックに積んだ元素が一致しているかどうかで処理を分けることができるのです。
この画像の場合、取ってきた分子が空気と一致しているならそのまま出力、そうでなければ分解して全部廃棄としています。

これができるようになると格段に回路設計の自由度が増し、様々な問題を解くことができるようになっていきます。

とはいえメインストーリー中の問題はどれもクリアだけを目指す分にはそう難しくありません。私もとりあえずスマートに解くのが難しそうなら力押しの方法でクリアしており、いったん本作はやりつくしたかなと思っていたのです。
しかし作者さんがHPなどで公開している追加問題を見て、本作の秘めた可能性と私のやり残しに気付きました。
alchemy4
これは作者さん本人のおすすめ問題”金の糸”の私なりの最適解です。金の元素を6個生成してつなぎ合わせる必要があるのですが、ちょうど6個というのが曲者でなかなか苦労しました。これもコストに目をつけずとにかくクリアできればいいというやり方ならさほど難しくはないのですが、追加問題には配布時に目標コストが設定されており、それがこの問題では300Gでした。私のごり押し解法では800Gほどかかっておりコスト削減のし甲斐があるなあと思い3日ほどたった日、6回ループを行う方法の天啓がおりてきました。開始時に出力用金属元素以外にカウンタ変数用の元素をスタックに積んでおき、ループごとに1回変成することによって回路の構造化が可能になると!
これを思いついてしまえばあとは2次元のフィールド上にどうやってこの手順を実現するかを考えるのみ。300Gは多少の試行錯誤で達成することができました。さらに高価なユニットである変成を1か所にまとめて通る向きの縦横で処理を識別するなどの工夫により270Gを達成。Twitter等に上がっている情報を見る限りこれが最適っぽい気がしています。

ここまでくると、単にプログラミングの問題を解いているのとは違った、2次元的に回路を組み上げて最適化するという楽しみ、そしてコスト削減で競い合うという楽しみが加わって本作の魅力を倍にしてくれました。追加問題はまだまだたくさんあるので、やり込みの道は長そうです。

この追加問題を取り込む手順はちょっと面倒かもしれません。問題ファイルをダウンロードし実行ファイルと同階層にUserDataフォルダを作ってそこに配置。ゲームを起動してカスタム問題のフィールド上で右クリック→問題を読込をクリック→ファイル名を入力、としてようやく遊べるようになります。理想的には問題ファイルをゲーム画面上にドラッグ&ドロップしたら上記の手順を勝手にやってくれる、といった機能が欲しいですがウディタの仕様上難しいんでしょうか。手動でUserDataフォルダに配置したら自動的にカスタム問題に並ぶ、という機能でもあったら嬉しいです。

alchemy5
それ以外のシステムについては不満ありません。ストーリーモード、パズルモードどちらにしても動作は軽快でクリックのレスポンスもいいですし、ストーリーを後から読み返せる機能もついているのがうれしいところです(画像の吹き出しクリックで再生できる)。これができない作品はかなり多いので好印象。
回路の仕様で引っかかった点が1点。条件分岐で、初見の時は結合した分子に対する判定を期待していたので想定していた動作にならず困惑しました。(スタックがA-B A-BならYes, A-A A-BならNoというように分子単位で判定すると思っていたが、実際にはA-Bの部分だけ見てNoと判定されたりA-Aの部分だけ見てYesと判定されたりしているようで、回路の設計を一からやり直す必要が生じてしまった)
あとは初回の名前設定時に最初にEnterを押してしまったらそのまま名前が空で進行してしまったのは微妙かなと思いました。デフォルト名とか欲しいかも。

ちなみに本作のバージョン名がv1.618033と非常に細かい値になっていますが、これは更新ごとに黄金比φ(=(1+√5)/2)の近似値を一桁ずつ増やした結果のようです。Twitter検索では誰も触れてなさそうだったのでちょっとした秘密に気付いた気分でした。


というわけで今回は「プリンキピア・アルケミア」のご紹介でした。
一通りクリアした後はぜひ各ステージのコスト最小化を目指してやり込んでみてください。頭をひねり続けて試行錯誤して、効率的な回路を考え付いた時の達成感は最高です。できればランキングなどあるとさらなるモチベーションになったかも。

それでは。

こんにちは。今回はサカモトトマトさんの「ぺ使いペペロ」のご紹介になります。

pe1

ジャンル:簡単操作アクションゲーム
プレイ時間:1プレイ10分以内
ツール:WOLF RPGエディター
リリース:2022/2


サカモトトマトさんと言えば、昨年このブログで「ジュエ☆スタ!」を扱いました。ジュエ☆スタ!はパズルゲームでしたが、今回はアクションゲーム。どちらも単純なルールかつ簡単な操作ながらやり込みがいのある作品となっています。


本作の目的は簡単。聖なる「ぺ」(画像で赤いのが自機です)を操作して、邪悪な「ぺ」(青いやつ)を回収していきます。ぺが重なるようにマウスを移動させたらOK。
pe3

邪悪なぺは左から右へと次々に流れていくので、テンポよく聖なるぺを重ねて回収していきましょう。
回収ごとにスコア倍率が上がり、倍率は一定速度で下がっていくのでなるべく素早く消すといいスコアを狙えます。

最初のうちはカーソル移動だけで回収できましたが、ゲームが進んでくると「ぺ」の向きを回転させなければいけなかったり、当たると自機が壊れてしまう敵が出現したりとギミックが増えていきます。
ゲームオーバーはなく、救済措置もあるためクリアするだけなら簡単ですが、なるべくいいタイムで、高い得点を取ろうとすると結構なやり込みが必要になってきます。
pe4



本作のゲーム性以外のところでは、News!によるフレーバーテキストの多彩さに触れておきましょう。
上のスクリーンショットでは、ちょうど300個の「ぺ」を消したタイミングだったようで、関連したニュースが流れています。そういったタイミング以外では、ペペロンチーノが人気だとか、「スマッぺ」が解散したとか、ぺに関するニュースが流れてきます。流れてくるニュースのシュールさもあって、Cookie Clickerにある同様の機能を思い出しました。

そんなちょっとした笑いを提供してくれるNews!ですが、一つ重要な情報が出ることがあります。上級モードへの入り方です。通常モードでは物足りないと感じたあなたはぜひNews!をよく見たうえで上級モードを試してみてください。ギミック自体は変わりませんが、ぺの数や速度が上がったり、敵の数も増えたりしていてかなり難しくなっています。これでSランク取れたらすごいです。
さらに上級をクリアすると裏面への行き方も……
ちなみにsetting.txtをいじることでさらに高難易度にすることもできるようです。狂人御用達ですね。


そんな本作には一応ストーリーがあります。
pe2
邪悪な「ぺ」は一体誰の仕業なのか、聖なる「ぺ」とは。裏面までクリアすると、そのちょっぴり意外な答えが明らかになるでしょう。
このストーリーモードですが、一度見たら再度見ることはできないっぽくてやや残念。あとはタイトル画面がないのも少し寂しいでしょうか。



さて、私は上級モードはやり込むには難しいと思ったので、通常モードでハイスコアを狙ってみることにしました。同梱の攻略書によると、なるべく素早く、取りこぼしがないように回収すればいいということなので頑張ってノーミスでの回収を目指します。
まずはぺの角度調整を素早くできるようになる必要がありました。マウス右ボタン押下で時計回り、左で反時計回りに回転するので、どちらの方向から回すのが照準合わせに最適なのかを瞬時に判断し、その通りに操作していきます。「愛と勇気とかしわもち」をやり込んだ経験がこんなところに活きるとは!
慣れると「ペクトのどうくつ」の落石がある地点より左側ですべてのぺを回収できるくらいになります。

そして敵が出てくる時間になったら画面全体を広い目で見渡します。各ステージで敵の出現位置は固定なので暗記したうえで対処。「ペテン・ぺぺ遺跡」ステージで登場する羽が厄介で、射出角度が定まっていないため出現したらすぐに角度を確認して避けるようにします。射出速度が一定でないのが嫌らしいところで、まだ大丈夫だろうと思っていたら高速で飛んできて衝突、なんてことが多発します。

あとは邪悪なぺの取り逃しがないように頑張るのですが、その際出現順(画面右から)にこだわらない方が良かったです。障害物に囲まれて取りに行けないものがあったら角度だけ確認したうえでいったんスルーして、取りやすいぺを回収後に向かうと成功率が高かったです。

あとはぺや敵の出現パターンが変わるときにBGMも切り替わるので、サウンドはしっかり聞きながらプレイするのをお勧めします。

そんな私のやり込みの成果はこんな感じ。
pe5
Twitter検索した感じ、「ぺぢから」9800台の報告は見かけなかったのでこれはかなりいいスコアなんじゃないでしょうか。


というわけで今回は「ぺ使いペペロ」でした。
慣れれば1プレイ6分以内ですが、私は3時間くらいはやり込んだでしょう。そして右手人差し指が痛くなりました(「ジュエ☆スタ!」の頃から成長してない…)。私の記録を超えたらぜひ教えてくださいね。

それでは。

こんにちは。今回はTwitterで予告した通り、サカモトトマトさんの「ジュエ☆スタ!」のご紹介となります。

jewel1


ジャンル:さめがめ系パズルゲーム
プレイ時間:1プレイ2~3分
リリース:2022/10



Twitterで作者さんの宣伝ツイートが流れてきたのでブラウザでちょこっとやってみるか~と始めてみたらいつの間にか1時間経ってました。
落ちもの系に分類されるシンプルなスコアアタックパズルゲームですが、ノルマという要素が含まれることによって運の要素が加わり、次こそはハイスコアをとる! という気持ちにさせられる作品です。


ルールはよく見る”さめがめ”に近い内容です。盤面上にある宝石をクリックすると、同じ色の宝石が隣り合っている部分が丸ごと消え、上から新たな宝石が降ってきます。この時に消した宝石の数に応じてスコアの加算があります。(1度に消した宝石の数-1)の2乗に比例する点数が入るので、一気に多くの宝石を消した方が有利になります。
さらに一気に5つ以上の宝石を消した場合、クリックした地点に通常は出現しない銀色の宝石が登場します。他の宝石と消すルールは一緒ですが、消したときの得点が3倍になります。

そしてもう一つ重要なのがノルマです。
ゲーム中常に画面上部に「赤で300点取ろう」「3連続で5個つなげる」などの目標が表示されています。この目標を達成したときにはスコアボーナスに加え、5秒のタイムボーナスもあります。これが非常に重要なので、本作を攻略するときにはいかにノルマを素早く達成するかという争いになります。
jewel2


まだflashが生きていたころ、daina's worldというサイトの「殲滅 斉色乱舞」というゲームを割とやり込んでいたのを思い出しました。残念ながら現在はサイトが消滅してしまっているようですが、web archiveRuffleを使うとなんとプレイできました。今やってみてもレベルMAX到達はできたのでそこまで腕はなまってなさそうです。

さて、本作の攻略感と殲滅 斉色乱舞のそれはちょこっと似ています。どこが似ているかというと、正確な判断よりは素早い判断が求められるという点です。本作ではさめがめ系パズルには珍しく、同じ色の宝石と隣接していない孤立した宝石もクリックで消すことができます(ただし得点は入らない)。そのため少ないクリック数で宝石を消すには……ということを考えるよりも、1つずつでもいいから消したい宝石を素早くクリックしていった方が高得点に結びつきやすいのです。このことから若干ゲーム性が単調な感じはします。


本作にはもう一つ、キャラクターという要素があります。ゲーム開始時にどのキャラクターを選ぶかによって異なる特殊効果を得ることができます。
一番左のシェリーを選ぶと、2つある補助効果を他のキャラより1回ずつ多く使うことができます。ただしクリック時のアニメーションが遅くなり、次の入力受付までの時間が延びるというデメリットがあります。
真ん中のエルミアは初期制限時間が30秒短くなる代わりに、ノルマ達成時のタイムボーナスが3秒長くなり、スコアボーナスも1割増しとなります。
右のセナードは、銀宝石のスコア倍率が3倍から4倍になります。

と、3人のキャラクターがいるわけですが、高得点を目指すならエルミア一択です。タイムボーナス+3秒のメリットが大きすぎて他の効果がかすみます。慣れてくるとノルマ15達成は当たり前。ハイスコアを競う場合はノルマ25達成とかの世界になってくるので、初期制限時間の減少を差し引いても40秒ほどの延長効果が見込めます。
逆にシェリーは待機時間延長が非常に痛い。純粋にクリックできる回数が減ります。補助効果を計4回も使う暇がありません。


私は金曜日に本作をだいぶやり込みまして、ランキング1位になったのですが、現在確認するとその記録は抜かれて私は2位ですね。現在の私の記録が117,424点なのに対しトップが14万点超えなのでだいぶ引き離されてます。
(10/30追記:現在の記録は163,762点となり、トップに返り咲きました。いつまで持つかな…)
ハイスコアを目指そうと思ったらノルマの当たり外れにかなり左右されるため相当の試行回数を要するゲーム性となっています。終盤で4連続5個消しとか難しいのを求められると厳しいですし、黄色20個等の単純にクリック回数が多くなるタイプのもの、同じ色の指示が連続で来るなどは外れのノルマです。逆に盤面に多い色の指示が来ると当たりですね。
もう一度トップ獲りたいなーと思ってプレイしていたんですが、1時間半くらいやったところで指がめっちゃ痛くなってきたので諦めました。マウスクリックを多用するのでガチ勢はやりすぎて腱鞘炎にならないようお気を付けください…リトライボタンですぐに再チャレンジできるのでついついやりすぎちゃうんですよね…

それでは。

こんにちは。今回はしゅんてさん・青木ととさんによるパズルゲーム「Squirrel Board」のレビューをします。リンク先で即プレイ可能なブラウザゲームです。音量注意。
記事後半に攻略情報あります。

squirrel1


ジャンル:ボードゲーム
プレイ時間:1プレイ3分程度
ツール:Unity(ブラウザゲーム)
リリース:2022/9


今回の作品はたまたまTwitterで流れてきて知りました。サクッとプレイできそうだったのでちょっとやってみるか~と思ってリンク先に飛んでみると、想定以上の楽しさでした。



本作のルールは難しくありません。主人公のリスは冬に備えるため、盤面上の木になっているどんぐりを回収していきます。1ターンの間に動けるマスはサイコロを振って決められます。初期状態では4が出れば4マス、6が出れば6マス進めます。どんぐりは木の生えているところに4ターンごとに再び落ちてきます。
そうして盤面を移動していくとパワーを使います。1ターンごとにげんきが1減少し、0の時に帰宅できないと今貯めていたどんぐりを全ロストしてしまいます。げんきの残りに気を配って、欲張りすぎずに家に帰りましょう。

またターンの間には今ほおぶくろにしまっているどんぐりを食べることができます。種類によって食べることで特殊効果を発揮するものがあるのと、次に述べるスピードを上げるために身軽にする効果があります。

そしてもう一つ重要な概念がスピードです。リスくんはどんぐりを回収していくたびにその重さのためにスピードが低下します。1個回収するたびにスピードは0.1低下し、これは動けるマスの範囲に影響してきます。1ターンで動けるマスは((スピードの基礎値) - (今もっているどんぐりの数) ÷ 10) × (サイコロの目)で表されます。この仕様のため、げんきが余っているからと言って1周で欲張ってたくさん回収しようとすると、スピードが低下して身動きが不自由になってしまいます。やはり定期的に家に帰って蓄えたどんぐりをしまっておき、体の方は身軽にしましょう。

スピードの基礎値は特殊効果のあるどんぐりを食べる、または一定数のどんぐりを蓄えたときのレベルアップボーナスによって上げることができます。これが大きくなると1ターンでマップの端まで移動できたりして行動範囲は広がります。

30ターン経過で冬がやってきます。それまでにできるだけたくさんのどんぐりを回収し、家に蓄えておきましょう。どんぐりのレア度に応じて点数が加算されます。文章で説明するとややこしいですが、チュートリアルが丁寧なのでルールの理解は難しくないでしょう。チュートリアルのスキップはQキーで可能です。

1つ操作性の上での要望があって、マウスのみorキーボードのみで操作が完結するようにしてほしかったです。現状でも右手でマウス、左手でwasdキーでスムーズに操作することはできますが、若干違和感が。マウス移動なども実装されたら片手でも遊べますしね。


さて、ルールを理解したところでプレイしていきましょう。
私の初回プレイは40~50点くらいでした。終了後の評価では、まあちょっと少なめだけど冬を越すのに問題はないかな~みたいな意味のコメントがあったような記憶があります。
しかしやり込んでいくうちにどんどん点数を伸ばせて達成感がありました。運要素が大きい本作、射幸性をあおるのも成功してますね。しかし運だけでは点数にも限界があります。ある程度のセオリーはしっかり押さえた状態で運のいい配置・出目を待つ必要があります。
その後数時間やり込んだところ、昨日なんと614点というハイスコアを達成しランキング1位を獲ったので、攻略情報についても記しておきたいと思います。自力で頑張るという方はここでブラウザバックでお願いします! 見る方は画面下スクロールで!

(10/3追記:現在の記録は1715点です。ついに4桁の大台を突破。9/19にゲームが更新され、リセットボタンなど再チャレンジしやすい環境が整ったためハイスコアチャレンジもより効率的にできるようになりました)
squirrel boardランキング1位


















チュートリアルで明らかにされない仕様について


どんぐりの種類と特殊効果・得点

本作では5種類のどんぐりが出現します。レア度の低いものから順に
  • 茶色…1点。食べても特殊効果なし
  • 水色…2点。食べるとげんきを1回復
  • 緑色…3点。食べるとスピード0.1上昇
  • 赤色…4点。食べるとスピード0.2上昇
  • 虹色…5点。食べると制限時間を2ターン延長
となっています。

おうちレベルアップ時のボーナス


一定のどんぐりを集めるとボーナスがもらえる。拾ったタイミングではなく、家に備蓄したタイミングでカウント。必要などんぐりの数は以下(レア度は問わない。多少のずれはあるかも)。Lv2,4になるタイミングで盤面が1段階広くなる。
  • Lv1→2…3個
  • Lv2→3…8個
  • Lv3→4…16個
  • Lv4→5…26個
  • Lv5→6(MAX)…41個

ボーナスは以下のうち3つの選択肢が出現。1つだけ選べる。ただし同じグループから複数の選択肢は同時に登場しない。
  • スピードアップ系
    • 駆け足…ベース値0.1アップ
    • 俊足…ベース値0.2アップ
    • 電光石火…ベース値0.3アップ
  • 最大げんきアップ系
    • 元気もりもり…最大げんき1アップ
    • 頑強…最大げんき2アップ
  • マップ強化系
    • 芽吹く木々…マップに木を2本追加
    • 自然豊か…マップに木を3本追加
  • 時空の超越…制限時間3ターン延長
  • 頑丈ほっぺ…1度だけげんき0になった時のアイテムロストを無効に
  • 恵みの雨…すべての木にどんぐりが即時になる

30ターン経過後の行動について

冬が到来し、それ以上木にどんぐりがならなくなる。すでになっているものを回収するのは可。
一度おうちに帰るとそこでゲーム終了になる。にじどんぐりの時間巻き戻し効果も無効。おとなしく持ち帰って5点にしよう。

なるどんぐりのレア度について

明らかに家からの距離が遠い木ほどレア度の高いどんぐりがなる確率が高い。Lv3以下の盤面だと赤・虹どんぐりはほとんど期待できない。
Lv4以降の盤面の右下・左下のマスに木が生えれば7~8割くらいの確率で虹、そうでなくても赤どんぐりがなるので非常に有利。

移動できるマス数の計算

前述のとおり
(ベース値 - ほおぶくろにあるどんぐりの数÷10) × サイコロの出目
で計算できる。小数点以下は四捨五入。サイコロの出目は4~6で均等だと思われる。

具体的な戦略について

最初の2~3ターンのうちにLv2に上げる。2ターンでできるのが理想。ボーナスはげんきアップ系を選ぶ。これ以降げんきアップ系のボーナスは必要ない(それを選ぶよりもスピードアップの方が恩恵が大きい)。
序盤のうちはスピードが低くどんぐりの重さの影響を受けやすい。目標とするどんぐりを定め、それ以外のどんぐりを避けながら進み、家に帰る途中で行きに避けてきたどんぐりを回収できると理想的。
Lv4に上がるまではレベルアップを優先したい。遠くの水どんぐりを回収するより近くの茶どんぐりをたくさん回収して備蓄しレベルアップしよう。緑は効果が大きいので回収に行って良い。レベルアップボーナスはスピードアップ系かマップ強化系。マップ強化系で新たに生えた木が家から遠いと前述の仕様によりレアなどんぐりができやすく有利。ここは完全に運。

Lv4以降はなるべく家から遠くの赤・虹どんぐりを真っ先に回収してその場で即食べることを繰り返す。4ターンごとになるのでなったターンですぐに採取するのが理想。スピードは2.5~3.0くらいまで上げたら十分なのであとは食べずに備蓄に回す。虹どんぐりはなるべく食べる。この時他の必要ないどんぐりを食べなくていいように回収順に気を付ける。どんぐりがなるまであと1ターンのマスに止まると、その瞬間にどんぐりがなって問答無用で回収してしまうので次に虹・赤を回収するつもりの場合は気を付ける。
ボーナスは時空の超越(3ターン延長)か自然豊か(木が3本生える)を選びたい。特に遠くに木が生えた状態でなるべく長くターンを回すのがハイスコアへの王道。右下、左下の両方のマスに木が生えているような状態では高確率で4ターンで2個の虹どんぐりを回収でき、実質ターン経過しないような状態を作り出すことができる。

squirrel board途中経過
↑私が600点overの記録を出したときの盤面です。虹どんぐり出現の可能性の高いところに木が3本も生えているので時間制限を延長しまくります。


相当な幸運だったと思うので、この記録はなかなか破られないんじゃないでしょうか。
ランキング抜いたぜって方はぜひ教えてください。それでは。

さて、今回は初めてスマートフォンアプリについての記事となります。
ぽんさんの「0をつくる計算ゲーム」のご紹介です。

make01

ジャンル:シンプルなパズルゲーム
プレイ時間:1プレイ数分~
ツール:Unity(Androidアプリ)
リリース:2022/3
備考:広告/課金要素あり(課金なしでも十分プレイ可能)


私は基本的にフリーゲームをやりこんでいて、スマホアプリはよほど気になったものでないとプレイしないのですが、本作にはハマってしまいました。私以上にやりこんだ人いるのかな? ってくらいです。

本作のルールはいたって簡単。3桁の数字が出てくるので、÷5、÷3、ー5、ー3の4つのボタンを使って0にすればよいというものです。ただし、割り切れない場合は無効(2回間違えるとやり直しになる)、3連続で同じ演算は使えない(こちらも強制的にやり直しになる。3回目で0にできた場合でも成功扱いにならない)という制約があります。押したボタンに青色の照明がついたり赤色になったりすることでこの制約が直感的にわかりやすくなっていて良いですね。
気になるのは、ゲームのシンプルさに比してやや動作が重いように感じられることでしょうか。

本作をインストールしてみたら、まずは普通にプレイしていきましょう。4つのボタンをうまく使って数字を徐々に小さくしていきます。しばらく続けると、最初の数字が4桁になるモードや4つの操作が÷7、ー6、ー5、+4になるモード、そしてタイムアタックモードが解放されます。このタイムアタックモードの存在のおかげでまた私の攻略欲が刺激されてきました。
このモードのルールも簡単。90秒以内に何点得られるかを競うというものです(なのでタイムアタックというよりはスコアアタックですね)。こうした単純な操作と判断力の素早さ・正確性が必要となるゲームはプレイするたびに上達が実感できて、さらに記録も残るため私はハマりやすいです。1プレイが90秒という短時間なのも、もう1回!と熱くなりやすくてちょうどいい感じがします。プレイし始めの時は140点行けばかなりいい記録という感じでしたが、まずは200点オーバーを目標にプレイを続け、
今では200点超えは余裕で達成できるレベルまで達しました。


というわけでここからは攻略について書いていきます。
タイムアタックモードにおいて高得点を取るには、まず第一に素早く0を作ることが大切。1回達成ごとに10ポイントです。そして短手数でできたときのボーナス(10手より少なく達成した場合は、余らせた手数分のボーナスポイントが入ります)、これも大切です。というわけでなるべく短手数かつ素早く0にしていきたいです。
4つのボタンの中では当然÷5と÷3が数字を小さくする力が強いので、これらをなるべく使いたい。しかし÷5はともかく÷3はできるかどうかが一瞬で判断するには難しいです。ここで、3や9で割った時のあまりに関する知識が必須となります。ある数字を3で割った時のあまりは、その数字の各桁を足したものを3で割ったあまりに等しいという事実です。9でも同様です。これを使うと暗算で3で割るよりも非常に素早く判断することができます。
例えば477だった場合、私がどう考えるかを説明します。これが3で割れるかを愚直に割ってみて考えるとだいぶ時間がかかりますが、4+7+7=18を暗算すれば、18は9の倍数なので477は9で割れる、つまり÷3を二回連続適用できることが分かります。割った結果が何になるかはこの段階では計算できていません。÷3を2回押すと、53になります。こうなれば後は楽勝です。3を引けば一の位が0、つまり5の倍数になるのでー3、÷5とすると10。あとはー5-5でOKです。こうして6手で0にすることができました。ボーナスと合わせて14点獲得です。これはかなり楽なパターンなので、3秒以内にこの手順を終わらせたいところです。

3桁の数字が3の倍数か判断するのに私が上記を応用して使っているのは、各桁の数字が等差数列(123や852など、隣同士の差が等しい数列)となっている場合は必ず3の倍数になるという事実です。これによって単純に足し算するよりも楽になることも多いです。また、ー5の操作は3で割った余りを1増やしていると頭の中で変換していることも多いです。例えば332の場合、+1すれば3の倍数なのは明らかです。そこでー5をすることによって3で割った余りが1増えることを使いノータイムでー5÷3まで持っていけます。

さて、÷3に関するテクニックを使っても、3つの数字をすべて見る必要があるため、本当に一瞬では判別できません。しかし5で割れるかどうかなら別。一の位だけ見て0か5ならOKなのでずっと素早く判断できます。そのため÷5が可能な時は÷5を優先させることが多いです。
例えば528を考えてみましょう。この数は実は3で割れますが、それを判断するには1秒程度とはいえ時間がかかります。ここで一の位の8に注目すると、ー3することで5の倍数にできるのが分かります。さらに言うと下2桁が25になり、この時全体が25の倍数であることが確定するので÷5を二連打できます。この判断は足し算しなくて済む分一瞬で終わるため、÷3よりー3÷5÷5を行った方が早く終わります。

あとは、2桁の数字(特に50以下)については最適手順を暗記するまで繰り返しましょう。
例えば32を見ると、私は昔からゲームやコンピュータに触れていたため2の5乗だなということが頭に浮かびますがこのゲームにおいてはそれはどうでもよく、ー5すれば27となり、÷3÷3ー3で0にできるという手順を暗記していることが大事です。
84も何回も見たので、÷3ー3÷5ー5が一瞬で浮かび、1秒で0にすることができます。
気をつけなくてはならないのは81でしょう。九九の最後の数という印象が強く、9の倍数なので調子に乗って÷3を二連打したくなりますが、そうすると同じ操作が3連続できないというルールによって詰みます。9になったら÷3ー3しかないので、81から÷3÷3とすると÷3できず、かといってー3を3連打もできずあきらめるしかなくなってしまいます。これを何度も食らったので、81の場合÷3ー3÷3ー5ー3の手順を暗記するようにしています。35とかでも考えなしに÷5すると詰むので気を付けましょう。

最後にちょっと高度(と思っている)テクニックです。ー5するまで3の倍数であるという性質は不変であることを使います。363を考えましょう。どの桁も3の倍数なので当然全体も3の倍数、÷3を押したくなりますがここで一呼吸置きます。すぐに÷3した結果は121。3の倍数でも5の倍数でもなく扱いにくそうです。しかし363からー3したら一の位が0になり5の倍数になります。さらにー3や÷5といった操作では3の倍数であるという性質が失われないため、ー3÷5÷3という3つの操作がセットで行うことができることに気付きます。すると一気に小さい数字にできるので素早く完了させやすいのです。

私が頭の中で何となく考えていたのはこんな感じです。これで10時間以上はやり込んだ結果、現在の最高記録は289です。ここまで来たら300出したいと思って粘ったのですが、どうも私の限界はこのあたりのようです。
make02



攻略とは若干外れますが、このルールをコンピューターで解析した結果も載せておきましょう。
最初に出てきた数字を初期値、何回の操作で0にできるかを最短手数と呼ぶことにします。

ノーマルモードやタイムアタックモードで出てくる初期値は3桁の数字と思っていましたが、どうやら1000も出るようです。この範囲において最短手数が何手になるかをコンピューターに計算させたところ、どんな初期値でも11手以内ということが分かりました。
11手必要な初期値は5つ。
877,907,949,967,979
10手必要な初期値は53個。その中で最小のものは337でした。ちなみに手順は
-3,-5,-5,÷3,÷3,-3,÷3,-5,-3,-3
です。1手では3の倍数にも5の倍数にもできず、とても扱いにくいので初期値の小ささのわりに最短手順が長いということでしょう。逆に最も短い手数なのは簡単で125です。÷5÷5ー5で行けますね。

グラフにした結果はこんな感じ。
make03
横軸が初期値、縦軸が最短手数、赤い線は追加してみた近似曲線です。やっぱり対数が一番マッチしました。

今回の解析結果をcsvファイルにしたので、詳細に見たい方はこちらを見てください。
見方ですが、一番左の列が初期値、その二列目が最短手数、その右以降が最短手数を実現する手順(の内の1つ)となっています。/は÷に置き換えてください。

なおノーマル以外のモードも一応解析しました。4桁モードでは最短手数は15手以内。7桁モードでは25手以内。4567モードでは11手以内のようです。もしこれらの解析結果の詳細も知りたいという方がいたら私にコンタクトをください。ちなみに7桁モードは計算がすぐには終わらず1分くらいはかかってます。
4567モードは人間にはとても難易度が高い(7の倍数かどうかを効率的に判断できない)のであまりやり込みませんでしたが、ノーマルモードとちょうど同じ手数というのがちょっと面白いですね。11手必要な数は961ただ一つ、10手必要なのも24個と、最適にやればノーマルモードよりも早く0にできる傾向があるようです。


私の記録を超えたよという方がいたらぜひ教えてください。
それでは。

↑このページのトップヘ