8192のすすめ(B4UT Advent Calendar 2017)

 はじめに

 

 恐らく初めまして。町田くんです。実質今回が初めての記事になります。この記事はB4UT Advent Calendar 2017という企画に参加しています。他の方の記事もどうぞ。 

 今回書くのは「8192のすすめ」ということでイマイチ伝わりにくいタイトルなのですが、今回紹介するのは2048というゲームです。簡単に言えばパズルゲームです。見たことがない人もいると思うので写真を見てください。

 f:id:kun_machida:20171207102037p:plain

 jubeatを想起させる4×4のマス目に2のタイルがあります。これは上下左右に操作すると一斉にその方向に動くのですが、1回の操作ごとに2か4が空いているマスからランダムに出て来ます。そして同じ数字のタイルが操作によってぶつかると、例えば2なら2+2=4のように2つのタイルが足し合わさって1つのタイルになります。これを繰り返して2048(=2^11)を作るのがこのゲームの目的です。タイルを動かせなくなるとゲームオーバーになります。

 

 さて、実はこのゲーム、慣れてくると2048を作るのは当たり前にできてしまいます。むしろその後が楽しくもあり辛くもあるのです。今の僕の最高記録はこちらです。

 f:id:kun_machida:20171207102111p:plain

 実は機種変前には16384も作ったことがあります。というわけでこのゲームで8192(=2^13)をいかにして作るかということについて書いていきたいと思います。

 

 基本ムーブ

 操作自体は4つしかないのでめちゃくちゃ簡単なのですが、2048を作るのには最低でも1000手、数が大きくなると10000手を超えることもあります。なのでルールを作って計画通りに進めていかなくては上手く行かないのです。ここでは自分がやっている例を紹介するので「俺のやってる方法と違うんだけど!」とか言われても知りません。慣れてる人はこの辺飛ばして次のコツの項目を見てください。

 

 1.左下に寄せて蛇腹状に並べる

 

 初めのうちは適当に動かしても数が大きくなるのですが、徐々に次にくっつけるタイル自体が作りにくくなり、また互いの場所が遠いとくっつけるのも難しくなります。そこでスペースを有効利用するために隅に一番数の大きいタイルを置くことが大事になって来ます。それに続く数はそのタイルの隣に置いておけばスムーズにくっつけられるので、写真のように蛇腹状に並べておけばスペースを有効利用できてかつ動かしやすくなります。

f:id:kun_machida:20171207102306p:plain

 この写真の場合左下に大きなタイル(1024)があってそれに隣り合う形で512、256、と並んでいます。なので8と8をくっつければ16が16の隣にできて、そして32も…という風にして2048を作ることができます。

f:id:kun_machida:20171207102445p:plain

 2.緊急時以外上には動かさない

 

 このように蛇腹状に並べたときに大切なのは上に動かさないことです。上に動かすと空いた隙間から2や4が出てきて蛇腹が崩れてしまうからです。3×4(2×4)の状態で下と左右に動かせなくなった場合(後述)や左右には動かせず下に動かすとゲームオーバーになる場合など緊急時以外絶対に使わないようにしましょう。ただ上に動かすと上手くいくようなテクニックもあります(後述のコツ参照)。

 

 この2つだけ守ってプレーを続けていくだけでも2048は作れるかと思います。ただここで目標としているのは8192の作り方なので、これだけでは厳しいです。もちろんある程度運ゲー要素があるので繰り返していけばできることはあるかと思いますが…

 ということでここからは数をより大きくする上でのコツを紹介します。

 

 コツ

 

 ここからは2048までは作った人がある人向けです。はっきり言って8192を作るにはここからが本番です。このゲームは最終的には運ゲーなのである程度割り切ってプレーすることが必要ですが、それでもなるべく達成確率を上げていきたいですよね。そのようなコツ・テクニックを知っているものの中から紹介します。何か他に知っている人は教えてください。

 

 1.左下に余計なタイルが入ったとき

 

 左下に一番大きなタイルを置いているときに、操作したらたまたまそこが空いてしまって、その場所に偶然にも2が出てくることありますよね。こんな感じ。

 f:id:kun_machida:20171207102405p:plain

 これには対処法があります。

 

 まず下の段で動かしたくないタイルを考えて(写真の場合下中央の2枚、枚数が多いほど大変)、それより上のタイルが上に動かした時にくっつかないようにします。つまり同じタイルが上下に隣り合っていない状態にしてください。さらに右の列は上に移動できる(スペースがあるもしくは上下に同じタイルが隣り合っている)ようにします。言葉にすると長いですが要はこんな感じにします。

 f:id:kun_machida:20171207102703p:plain

 この状態にするためには左右に適当に動かしながら盤面を詰まらせてそのあと調整するといいです。あとは上に上げて、

 f:id:kun_machida:20171207102629p:plain

 スペースができたところで左に動かせば、

 f:id:kun_machida:20171207102755p:plain

 左下に移動できました。

 上に上げた時に左下に2が出てきてしまった時は、下にすれば元の状態に戻せます。もう一度準備して再チャレンジしましょう。

 

 2.スペースをわざと埋めよう

 

 ほとんどタイルを余らせることなく4096とか大きな数字作った時って気持ちいいですよね。それはすごく分かるのですが、普通の盤面で同じようにいちいちスペースを空けてしまうと、大きなタイルが動く原因になります。先ほど1.で話したことも、左に動かした時に動かないようスペースを作らなければ済んだ話です。また最後に話すハマった状態にもなりかねません。

 ですから、スペースを意識的に埋めることが大切になってくるのです。

 

 3.途中のタイルに合流させよう

 

 先ほどのスペースの話にも関わってくるのですが、端に小さな数が来るのはできるだけ避けたいので、そのためにあえて一番小さいタイルではないタイルの数字を大きくするという手があります。

 例えばこんな状態。

 f:id:kun_machida:20171207102836p:plain

 32の上に2があって邪魔です。さらにその位置に128を作って左にくっつけても、右にスペースが出来て左に動かした時に2048と1024が動く可能性があります。なので128を上に作ることを考えます。そのためには上に64を作って、そこから蛇腹を作っていけばいいわけです。つまりこうです。

 f:id:kun_machida:20171207102859p:plain

 そして次々と繋げていけば、

f:id:kun_machida:20171207102922p:plain

 256を右にスペースを空けることなく作ることができました。これはある程度スペースに余裕がある、つまり数字が大きくない(256が限界と考えて良い、例は128)場合にのみ使えます。でも比較的応用は効きやすいです。是非試してみてください。

 

 宿敵

 

 このゲームには、切っても切れない宿敵がいます。それは、

f:id:kun_machida:20171207103707p:plain 

 左にも右にも下にも動かせない状態です。

 

 個人的には「ハマる」と呼んでいます。こればかりはどうしようもありません。

 

 ただ未然に防ぐことはできます。

 

 例えば4段目に何かタイルがあればこうはなりません。あるいはその一手前で気づくことができれば対処ができたかもしれません(大抵できないけど)。あとはです。ほとんどの場合下2段が埋まっていて3段目に3枚タイルがある状態からこのようになるわけですから、このような状態では単純計算で1/5でハマります。運がなかったと諦めてしまえばそこまでですが、やはりこうなるのも実力が関わってくるのは事実です。そうならないように数手前の盤面で気づけるようになりたいものです。

 

 終わりに

 

 いかがでしたでしょうか。ここまで2048というゲームについて語ってきました。実はこのゲーム、発表されたのが2014年で流行ったのが2015年なので正直少し古いのですが、どハマりしたゲームなのでこのように好き勝手語らせてもらって嬉しく思っています。

 この記事が2048というゲームを広めるあるいは思い出させる、さらに実際に1人でも8192を作ろうとさせたならすばらしい。

f:id:kun_machida:20171207103923p:plain

 

 あと「俺の方がうめえぞ!」って人は@kun_machidaまで連絡ください。色々話を聞きたいです。

 以上です。ここまで読んでいただきましてありがとうございました!!!