GAAブログ

ゴッドエイムあきらのブログです

イータイルズの何が魅力なのか、例題を解説する

私が開発している世界最高のパズルゲーム「イータイルズ」。これは、囲碁と同様に、神様が私たち人間に与えてくれた「美」なのではないかと思っている。私はこのパズルゲームを普及することが使命と感じている。ところで、動画においてサムネイルはとても大事であるが、そこでキメ顔をしてもそこそこキマる顔に産んでくれた親と神様に感謝したい。

www.youtube.com

では、今回のアップデートにおいて、イータイルズをより楽しくする拡張を実装したことを話した。またその拡張が、プレイヤーからの提案を起源とするものであることを述べた。

拡張について説明

まず、その拡張について説明する。

イータイルズで使われる色の裏表関係は、以下のような対称性を持っている。

f:id:akiradeveloper529:20190522131525j:plain

この対称性によって生じるメリットとして、

  • 小さなボードでの色の裏表関係が、大きなボードにも出現する。これによって、小さなボードから学習を開始して、プレイするボードサイズを徐々に大きくしていくことが出来る
  • 対称性というものが人間にとって自然なものであるため、色の組み合わせを自然と身に付けることが出来る

があることを以下の記事で述べた。

www.godaimakira.com

今回プレイヤーから提案されたことは、これらの色を表と裏の2つのグループに分けたら、裏の色を推論するのに役立って、よりイータイルズが面白くなるということであった。私は、これらの色を2つのグループに分離出来るということに気づいてなかった(知能指数がゴミである)ため、何を言ってるのかはっきりとわからなかったが、何度かやり取りするうちに内容がはっきりしてきた。

つまり、上のグラフは、実は以下のような「完全2部グラフ」ということなのだ。

完全2部グラフ - Wikipedia

実際にグーグルスライドで図を作ってみるとはっきりとわかる。今回は、上の段を丸、下の段を四角と表して裏表を直感的にわかるようにした。

f:id:akiradeveloper529:20190522131308j:plain

問題を解いてみよう

この拡張があるとイータイルズを解く時にどう役立つのか例題を元に説明する。

以下は、実際に生成された問題である。3x3なので、上の2部グラフであれば左から3列を使ってると見てよい。

f:id:akiradeveloper529:20190522130958j:plain

この問題を見た時、わかることは

  • 緑は要らないので無条件でひっくり返しても良い
  • 黄色は揃っている
  • 青が一枚足りない。これは、1枚の赤か2枚の水色のどちらかの裏にある。茶色や水色の裏にはない。なぜならば四角の裏は丸だからである。
  • 茶色も同様。

ここで、裏表関係を形で表現したことによって直感的にあり得ない手を省いていることがわかる。イータイルズは突き詰めていくと、最短手数を考えるゲームになる。また同時に、裏返したタイルについてはその裏側を覚えておく神経衰弱要素もある。この推論とワーキングメモリーの良いバランスでの融合が、世界最高のパズルゲームと主張する所以なのである。

この例題では緑をひっくり返した段階で水色が出てきた。

この時点でわかることは、

  • この水色は確定である。(なぜならば裏の緑は必要ないから)
  • つまり元からあった水色2枚(右下の2枚)は無条件でひっくり返すことが出来る。

実際にひっくり返すと色が揃って、あとはスワップをすることになるのだが、ひっくり返さなくてもこの水色2枚をひっくり返せば終わることはわかる。

もし、緑をひっくり返した時に赤が出てきたら、元からあった赤の裏側は青か茶ということになり、右下の水色2枚のどちらかが足りない青ないしは茶ということになるだろう。

このように、3x3程度ならばかなり読み切ることが可能な場合がある。そうでない場合も、可能性の高い方からフリップしていくことで、平均的に良いタイムを出していくことが可能になる。典型的には、いくらかフリップしていくと、どこかで読み切りが出来るようになるだろう。そうなるように効率的にめくること、無駄にめくってワーキングメモリーを出来るだけ消費しないことが良いタイムを出すためには求められる。

興味があれば、グーグルプレイでetilesと検索してみてほしい。

Androidでこの記事を読んでいる人は今すぐ以下のリンクをクリック!

https://play.google.com/store/apps/details?id=jp.gr.java_conf.etiles.android