今年のサマーセールでぶっちぎりのオススメは「Baba is You」なんだけど

お蔵入りさせかけたけどもったいないので公開

Baba is You

f:id:piroz95:20190627222800g:plain
白い4本足のBaba

Baba is You、やった? もう周りの人にはかなり勧めているけど、この30%オフの機にまた勧めたい。

Baba is You はルールそのものを変えられるパズルゲーム。上のgifでは、Wall IS STOP のルールを破壊して部屋を脱出し、WALL IS YOUを作ることで壁を操作している。
Babaの魅力の一つは、非現実的でバカげた現象が起こるところにある。ゲーム中には様々な単語があるが、中でも「EMPTY」はそういう意味不明な現象を引き起こすお気に入りの単語である。

f:id:piroz95:20190628000928p:plain
EMPTY

Babaの謎解きの密度はすごい。順当に進めていくだけ、で解けるステージは無くて、どのステージでも何かに気づかないと解けない。その「何か」の隠し方はどれも巧妙で、つまらない総当たりの必要はない。
難しいステージは確かにある。ゲームが少し進んだ頃に出てくるステージ「Prison」は不可能に見えることから「初心者の壁」「解けたら実質Baba」のようなミーム的存在で扱われた。ただこういう難しい面は、ワールドマップの行き止まりのような場所に配置されていて、解かなくても進めるようになっている。

f:id:piroz95:20190627232415p:plain
「Prison」  実は初期バージョンから2度修正が入った後この形に落ち着いた。

一言で言うと2Dパズル界の傑作、これより革新的なのは当分出てこないと思うので、是非セール中に手に入れてみてほしい。
ちなみにSwitch版もあるが、日本からは基本的に買えない。


他の2つ

軽めのゲームを2つ。

A Dance of Fire and Ice


なんとなく見てたFakerの配信でやってたので買ったゲーム。
折れ線が譜面な1ボタン音ゲー。曲やグラフィックがもの凄い!という感じではないが、特徴的なルールから譜面のバリエーションを出しつつゲームとして小さくまとまってていいなと思った。

One Finger Death Punch 2

www.youtube.com
左右クリックで棒人間が戦うだけのゲーム。
動画を見てピンと来たひと、小小系列とかを知ってる人とかにオススメ。

東京国際ミネラルフェアで買ったやつ 右水晶・鉄隕石・翠銅鉱

f:id:piroz95:20190614183720j:plain
右水晶 / Right-handed quartz

フランスのスキー場 Les deux alpes で採れたとのこと。
クオーツには右・左水晶があり、これは右です。ダイヤモンド形の面(s面)とその左下の台形の面(x面)から判別できます。
s面とx面が両方わかりやすく存在する標本はそこそこ珍しいです。

f:id:piroz95:20190614200611j:plain
すこしだけ角度を変えた画像です。明るい面の右下に小さな三角の部分があり、これが別のx面です。
裏側にもx面があります。これらx面はすべて側面の右上についています。

f:id:piroz95:20190614204045j:plain
緑泥石のインクルージョン
ごくわずかに緑色の緑泥石(chlorite)を含んでいます。ルーペで観察すると、絡まったひものような形をしています。

鉄隕石

f:id:piroz95:20190614204454j:plain
鉄隕石 Muonionalusta
隕石はあまり興味がなかったものの模様が好きだったので購入しました。

翠銅鉱

f:id:piroz95:20190614205312j:plain
翠銅鉱 / Dioptase
前から欲しかった、深い緑色が特徴の石です。一番手前の結晶の質がいい感じだったので買いました。手前の結晶が4-5mmくらいの大きさです。
翠銅鉱は発見当初エメラルドと勘違いされたらしいですが、エメラルドと違いもろいため身につけるには向いていません。僕のは持ち帰って取り出したら一部砕けてて悲しかったです。

Code VS Reborn で作ったAI「Glico」

予選7位(繰り上がり6位)通過で決勝進出🎉

特徴

  • AI
    • Javaで書いた
    • 2ステップのAI。連鎖探索&使う連鎖の決定
    • 線形回帰による評価関数のパラメータチューニング
    • 連鎖のタイミングの決定を同時手番ゲームに帰着してそれっぽい解を求める
  • AI以外
    • クローンクライアント上でのローカル対戦
    • 読みやすいログの生成

シミュレーション

しんどい。
データでは行ごとにlongで押し込む。
シミュレーションするときには一旦byteの1次元配列にコピーする。
シミュレーションでは不要な列を更新しない工夫をした。

連鎖の探索

連鎖の抽出

盤面から最大連鎖数を見つけてそれを評価関数に使うのは大連鎖を作るAIにとってほぼ必須になっている。
前回は1-9のブロックを落とす方法を使ったが、今回は色々試した結果ブロックを削除することにした。また、普通なら消えるはずのないある程度高いブロック(3マス程度)も削除の対象にした。

探索手法とテクニック

ビームスタックサーチ(Chokudaiサーチ)を使った。
重複消去(ローリングハッシュ)
大きな連鎖(10+ お邪魔)が見つかったらそのノードは展開しない(葉になる)

探索のスケジューリング

1ターン目は必ず "4 0" を出力する。1ターン目を固定してもそこまで連鎖力が変化しない(自分調べ)のでそうした。オンライン対戦では入力待ちの間も探索している。
2ターン目や攻撃した/されたターンでは、深さ20、時間11秒で探索をする。
それ以降のターンでは、ターン毎に思考時間を半分にして、かつ深さは前のターンに見つかった連鎖を基準に下げていく。最小値は100msにした。

なぜ毎ターン一定深さ・時間で探索しなかったのか?開発過程での変化を挙げると

  1. 毎ターン一定深さで探索すると、発火ノードを展開しない探索との兼ね合いで、発火ターンが近い時に大きすぎる連鎖を探してしまい無駄が多い。そこで十分大きい連鎖がある深さで探索の打ち切りをする工夫を入れた。
  2. 深さを可変にすると、毎ターン同じ時間で探索するのはおかしいので、深さに比例する時間で探索するようにした。
  3. 深さに比例する時間で探索すると、探索時間が連鎖にかかるターンの2乗に比例してしまうので、時間を見積もりやすい指数関数的にした。探索木を保存するような変更をその前にしていたので、深い部分で探索時間が短くてもちゃんと連鎖にたどり着けた。

評価関数

あるブロックの周りの24マスにどのブロックがあるか?の特徴量を作って、前回のCode VS for Studentと似た方法で線形回帰をして評価関数を作った。
その特徴量は1と9のペアと2と8のペアのようなものを同一視していなかったので、どう考えても無駄なんだけどなんか圧縮しようとしたら性能が落ちたのでやめた。何かがおかしいかもしれない。

連鎖の選択

枝刈りした発火木

連鎖の探索結果を発火木と呼ぶことにする。発火木では葉ノードが大連鎖に対応し、その他のノードは大連鎖を作る過程に対応する。
前者を発火ノード、後者を伸ばしノードと呼ぶ。
発火木から「良い発火ノード」のみを残すように枝刈りして、木を小さくする。「良い発火ノード」とは、しきい値以上の火力であり、同じ深さで最も火力が高いようなノードである。

2つの発火木のゲーム

自分および相手の枝刈りした発火木を作り、それらの木を使って別のゲームをすることを考える。

各頂点に実数が書かれた根付き木A,Bが与えられる。AliceとBobは2人でゲームをする。Aliceは木Aの根から、Bobは木Bの根からスタートする。
各ターン、AliceとBobは同時に子のうちの一つに移動する。移動後どちら一方が葉に到達したとき、ゲームを終了する。ゲームが終了したときに居る頂点のスコアの差をAliceは最大化、Bobは最小化しようとする。
AliceとBobが最適な行動を取ったとき、スコアの期待値はいくつになるか?

ここで言う最適な行動とは、ナッシュ均衡のことである。なので求めるのは期待値になる。

この問題は葉から線形計画問題再帰的に解くことでなんとかなる。これについては、やる気が出たら他の記事で解説したい。
実際にAIに搭載してあるのはもう少し複雑である。頂点には単に実数を書くのではなく、普通の盤面あるいはお邪魔が降り続ける中で3ターンシミュレーションしたときの結果から得られる特徴量を書く。またスコアの差ではなく、それら特徴量から算出される勝率を最大化する。ここはロジスティック回帰を使って勝率を算出することにした。
ここは精度が結構悪い。連鎖火力や爆破火力とスキルゲージの兼ね合いなど非線形性が強いところが多いので、その影響があると思う。

いい感じのログ

公式クライアントのリプレイ閲覧機能は所々不便なところがあったので、AIが出力したログをいい感じに再構築していい感じに見れるようにした。
f:id:piroz95:20190520204624p:plain
左から盤面、枝刈りした発火木(自分/敵)、詳細なログの順で並んでいて、何が起きたのか分かりやすい。
ちなみにこの画像はおそらく対keraさんのログで、敵盤面から大連鎖を見つけられなくてそのうち死ぬ。

AIの名前

グリコ・パイナップル・チョコレートは同時手番ゲームなので実質Code VS
あと自己対戦のときにGlicko2レーティングを使ったので

日記

長期マラソンに参加するときは日記を書いていて、まとめる気が起きたらまとめる。

リアル石課金

去年にミネラルショーデビューをしてから、まだ石ブームが自分の中で続いています。

最近だと

に行きました。

博物館は人もそこまで多くないし、長居しても全然OKなのがやはり良い。ショップで長居すると話しかけられて遠回しに追い出されてしまう(気がする)

最近買った石

イギリス産 蛍石

f:id:piroz95:20190328213000j:plain
蛍石/Fluorite Diana Maria Mine (イギリス)
同じお店に何度も行くのは大して面白くないだろう・・・ と思っていたのですが意外と新しい商品が入ってきたりします。
例えばピンクアメジストのジオードは去年は見たことありませんでしたが、今は色々な所で売られています。
この蛍石も僕にとって見慣れなかったもので、この産地の蛍石が並んだコーナーを見たときは「エッこの鮮やかな緑でこのお値段!?!?」みたいに思いました。
これはその中でも透き通った薄い緑色をしていて、光が当たったときの輝きがきれいです。

蛍石には紫外線を当てると青色っぽい蛍光を示すものがあります。ここの産地のものは蛍光が強いことで有名です。
この標本も、確かに日光で見ると青みがかることが分かりました。

f:id:piroz95:20190328213618j:plain
日光下では青緑色になる
良い...

メキシコ産 フッ素燐灰石

f:id:piroz95:20190328213203j:plain
フッ素燐灰石/Fluorapatite メキシコ産
あまり知らなかった石なのですが、ミネラルショーで鮮やかな黄色が目に留まり安かったので購入。
自分のコレクションを見ると母岩に単結晶が埋まってるのが好きすぎることが判明しました。

人工ビスマス結晶

f:id:piroz95:20190328214041j:plain
人工ビスマス結晶
蛍石を買うときに2つ買うと20%オフセールをしていたので、実質タダで購入。
そのうち欲しいなと思ってたものを手に入れられてラッキー。
コレクションに並べるとかなり異質な感じになります。

棚に飾り始めた

f:id:piroz95:20190328214739j:plain

棚に飾り始めると、手持ちとのバランスを考えてどれをコレクションに加えようかなみたいな思考が発生してまた楽しい。
左のケースは無印良品の小物入れでディスプレイ用ではないのだけどうまく入っている。
ただそろそろ一杯になったし不安定で怖いので、ちゃんとしたケースに替えたくなってきた。

ボイチャ環境をアップデートした

Splatoonはやらなくなってずいぶん経ったが、Apex Legendsをやったりまだまだボイチャをする機会は多い。
最近メガネを買い替えたところヘッドセットとの相性が悪いのか耳が痛かったので急いで脱ヘッドセットをすることにした。

ヘッドセットをやめるかわりにイヤホンとマイクを使う。
マイクはAT2035を試してほしいと言われたので雑にポチった。

www.soundhouse.co.jp

f:id:piroz95:20190328204637j:plain

届いてからアームとケーブルが必要なことに気づいた。

www.soundhouse.co.jp

アームとケーブルが一体になってる奴を勝った。机には付属のクランプで取り付けた。
1000円くらいのマイクしか使ったことなかった身としては、割と本格的な見た目に圧倒される。

AT2035はPCには直接繋げないが、AG03を持っているので問題なかった。
マイクは音をよく拾う。後ろで動き続ける空気清浄機がノイズ発生装置となっているので、自分の環境だと音質は良くならなさそう。

前の環境の反省

前はこんな感じだった。
piroz.hatenablog.com

Logicool G430はヘッドセットとしては特に問題ない性能だが、期待していたサラウンドは意味不明だった。
ゲーム用途のヘッドセットでサラウンドは多分意味ないんじゃないか?
ゲームがサラウンドに対応していないのに無理な謎変換をかませてそれっぽくしているだけと認識してる。

AG03自体は、2音源をまとめるという役割なしでもそれなりに便利だ。
例えばフルスクリーンのゲームをやっているときでも音量調整ができたりとか。

ミネラルショーで鉱物沼に足を踏み入れた

f:id:piroz95:20190101170100j:plain
天青石/Celestine マダガスカル

3週間ほど前、初めてミネラルショーに参加しました!
ミネラルショーは様々な鉱石や化石が売買されるイベントで、色々な場所・時期に開催されていますが、今回僕が参加したのは日本最大のミネラルショー、「東京ミネラルショー」です!

早速戦利品を紹介したいと思います!

マダガスカル産 セレスティン

f:id:piroz95:20190101231621j:plain
天青石/Celestine マダガスカル産 店:「Crystal Vision
今回ミネラルショーで絶対に買いたいなと思っていた石、セレスティンです!
セレスティンという名前は、その美しい空色から名付けられました。今回買ったものは、まるで洞窟の入り口のように中に空間が広がっていて、そこに結晶がニョキニョキ生えています。これを覗き込むのが超きれいです。奥行きがかなりあるのも気に入っているポイントです。
f:id:piroz95:20190102000533j:plain
このセレスティン、モース硬度が3とかなり柔らかい石です。母岩ももろく、持ち上げたりすると小さな白色の粒が手や床に残ります。セレスティンを売っている一角はよくこの粒が転がっています。それどころかこれを買ったお店の床に砕け散ったセレスティンがありました。誰か落としたのかな・・・

続きを読む

2018年遊んだSteamゲーを振り返る

ウィンターセールだ!!!

上半期が終わったときに遊んだゲームの振り返りをしたので、まず下半期を振り返りをします。

2018年下半期に遊んだ新作ゲー

下半期は、新作ゲームは3つしか買いませんでした。
7 Billion Humans』『Battlerite Royale』『Overdungeon
この中から一つ勧めるとしたら『Overdungeon』です。
Slay the Spireと似たようなシステムですが、タワーディフェンスのようなシステムを採用していて盤面が見てて派手という所が良いです。
毎日アップデートを継続してギネスに挑戦中ということで、毎日変わる環境で遊ぶという楽しみもあります。

2018年下半期・印象に残ったゲーム『Induction』

store.steampowered.com
下半期で買ったSteamゲーで最も印象に残ったのがこれです。
時間操作を扱うパズルゲームなのですが、このゲームではルールがゲーム中で説明されることがありません。
そのため、ルールが頭の中で整理できた時には「やったぞ!」という気持ちになれます。
他にも、ルールが語られないことによって他のゲームには無いエモ体験が得られました。
秋はセールしてなかったのですが、今は50%オフでお手頃なのでオススメです。

2018年・再発見されたゲーム『Oxygen not Included』

store.steampowered.com
遺伝子3Dプリンターから生まれた「複製人間」が小惑星の地中でサバイバルをするゲームです。複製人間を生き延びさせるために、水や食料、そして酸素を確保し続けなければなりません。
Factorio』と少し似ている所があるのですが、こちらは小惑星の中という閉じた環境。限られた資源をいかに有用な資源に効率よく変換できるか、閉じたサイクルを作れるか。そういったポイントが重要になっています。
ベータが始まって比較的すぐに始めたときは、コロニーが安定したら終わりのゲームでしたが、今では宇宙飛行士を育成するなどめちゃくちゃやることが増えました。
僕の参加しているDiscord鯖では、最近プレイヤーがとても増えました。コンテンツが十分増えた今はこのゲームを始めるのにいいタイミングだと思います。

2018年・最も遊んだゲーム 『Slay the Spire』

store.steampowered.com
ボードゲームドミニオン』のようなデッキ構築要素とRPGのようなシステムを組み合わせた一人プレイ・ローグライト・カードゲームです。
上半期に最もプレイしたゲームがこの『Slay the Spire』で、6月にチェックしたときのプレイ時間は110時間でしたが、今では倍の230時間に増えていました。
恐ろしく中毒性の高いゲームです。
まだアーリーアクセスですが、来年にSwitchでの発売も予定されるなど完成に非常に近い状態です。
今のウィンターセールが値上げ前最後のセールなので今が買い時です。

2019年の期待のゲーム 『Manifold Garden』

store.steampowered.com
Steamが面白いゲームをサジェストしてくるのにも限界があるので、最近は開発中のインディーゲーを追っかけるのも趣味になっています。
これは当初は2018年期待のゲームとして動画で紹介されているのをきっかけに知りました。残念ながら、開発が予定よりも遅れていて2019には完成するかな?という状況のようです。
エッシャーの作品から着想を得たゲームで、不可能図形や歪んだ物理法則、無限などをテーマに美しい構造物の中を進むパズルゲームです。
ここからは読み飛ばしていいのですが、このゲームを知った後に『Antichamber』という、不可能図形や異常な空間のつながりなどの共通点があるゲームを遊んで結構面白かったんですね。このタイミングでちょうど上野でエッシャー展が開かれていて、行ってきました。『Manifold Garden』の作者は影響を受けたエッシャーの作品として具体的には『Relativity』や『Cubic space division』を挙げているのですが、それらも見れました。良かったです。今は大阪でやっています。発売が楽しみです。