酒2019

一人暮らしと仕事を始めるまでは自発的にお酒を飲むことはなかったが・・・

最近のぴろずの生態:

  1. Amazonで酒(リキュール)を買う
  2. ツマミあるいは夕飯を買う
    • コンビニ(お気に入り:ローソンのスモークタン)
    • Uber Eatsでパスタ
  3. コンビニで買ってきた炭酸水やジュースなどで割って飲む
  4. ゲームをする(レーティングがつくやつは×)

Twitterでこれを含む甘いお酒を紹介するツイートが流れてきて、マスカット(とみすちー)が好きなので買った。コンビニにウィルキンソンのフレーバーつきの炭酸水が手に入るのでそれでバリエーションをつけつつ一生ソーダ割りにして飲んだ。
これが非常に良かったので「実はマスカットが好きなだけ」説を100%ジュースを買って検証したところ、そんなに美味しくなかったのでミスティアはおいしいという結論に至った。

ミスティアと同じシリーズ。プラムリキュール、要するに梅酒。これのおかげで梅酒は安定択なことが判明した。グレープフルーツ味炭酸で割るとスッキリ度が加速して良かった。

甘くないやつ。スッキリ度の塊。あんまり覚えてないけどモヒートなのでおいしかったはず。これはあまり関係ない思い出話なんだけど、アメリカでの研修の打ち上げで店内にこのバカルディ・モヒートの看板があって頼もうとしたらそれ看板だけでメニューにはないんですよ~~みたいな事を言われてフリーズしたことがある。代わりにラムをスプライトで割ってミント乗せたやつ(?)をくれた。

カシス○○のカシス。異常に濃い。気の迷いでロックで試したら甘さを通り越して刺激物だった。適切な割合で割ればかなりコスパが良い上においしい。

そんなに甘くないやつ。ウォッカが襲いかかってきたあとフルーティーな後味がする。グレープフルーツジュース割りが良い。カットフルーツが進む味だが、最終的にコンビニのパイナップルのシロップ漬けが優勝した。

ピーチ。ソーダ割りはあんまり好きじゃなかったから一生ファジーネーブルにした。パックのオレンジジュースをコンビニで買うとストローをつけてくれるのでより一層ダメになれる。セブンのグレープフルーツミックスで割ってもおいしかった。

石2019

石を買いあさり始めて一年経ちました。

最近行ったイベント:

  • 東京国際ミネラル秋のフェア2019
  • 東京ミネラルショー

f:id:piroz95:20200101021042j:plain

最近買った石

ベラクルスアメジスト

f:id:piroz95:20200101021107j:plain

細長い形のアメジストで有名なベラクルス産です。

ガーネット(満礬柘榴石)

f:id:piroz95:20200101021222j:plain

中国 福建省産。結晶は凧形二十四面体という形状をしています。

ペリドット(かんらん石)

f:id:piroz95:20200101021121j:plain

パキスタン産。1ルピーっぽい。

ビビアナイト(藍鉄鉱)

f:id:piroz95:20200101021143j:plain

ルーマニア産。深い緑が美しい石ですが、直射日光などで青→不透明な青黒に変色してしまうので暗所に保管します。

2019の反省

前にブログにも書いた鉄隕石が赤錆に侵食されてて悲しくなった。

2020

欲しいやつ:

  • ブルー系蛍石
  • バナジン鉛鉱
  • 骸晶のガーネット

2019年買ったゲーム

今年買ったゲームをリストアップした。面白かった順で同セクションの上下はなし

自分のGOTY

Baba is You

パズルゲーム。

特に良かったゲーム

DOOM (2016)

遊んでみたらかなり面白かったゲーム。あらゆるデーモンを銃で破壊するゲーム。銃の持ち替えとフィニッシャーを駆使しながらアグレッシブに攻めていくのが面白かった。新作が来年出るらしいから楽しみ。

Unrailed!

似てるゲームを挙げるとOvercooked。走り続ける列車の先に線路を敷き続けるCoopローグライトゲーム。世界ランキング28位まで登りつめた。

A Dance of Fire and Ice

音ゲー。リズムの表現のしかたが独特で、それがとても良い。安いしオススメ。

東方鬼形獣

海外出張中でコミケは行けなかったのでSteamで配信されて嬉しかった。シリーズの中でも結構好きな方

ドンキーコング トロピカルフリーズ

Game makers toolkit (Youtubeのチャンネル) で "The most underrated game" と言われていたので買ってみた。マリオと比べると難易度が高く、ステージ構成も多彩かつ予測不能で退屈しない。初見殺しでミスになってもドンキーの断末魔が面白いので許せる。

Untitled Goose Game

ガチョウシミュレータ。

Dota Auto Chess

オートチェスブームの火付け役。今はどうなってるのか知らない。

良かったゲーム

Disc Jam

変形エアホッケーみたいなゲーム。テニスとかエアホッケーは元が面白いので、大体面白い説がある。

AREA4643

ニンジャスレイヤー原作、ネコネイビーなどを手掛けたデスモフモフが制作した見下ろしシューティングゲーム。そこそこ難しい

APE OUT

バイオゴリラごっこ。ジャングルの掟を人間共に知らしめよう。

One Finger Death Punch 2

小小系列。隙間時間にやるくらいで丁度いいゲーム。

Katana ZERO

カタナ・ドラッグ・血!!!みたいなゲーム。2Dドット絵でもそれなりにエグい。無限やりなおしとスローモーション能力をつかって全ての敵を殺すゲーム。

Wizards of Legend

ローグライト。5種類の属性を操る魔法使いになって最強を目指す(?)ゲーム。自分の厨二の部分に効く。Battlerite配信者がやっていたのがきっかけで知った。

Pinball FX3

Medieval Madnessは面白かった。

Obra Dinn

死因推理ゲー。あてずっぽうを防ぐシステムがよくできていると思いきや、防ぎきれてなかったのがちょっと残念。ちゃんと推理できたときは面白かった。

Hand Simulator: Survival

100円しないCoopゲーム。クソゲー

SUPERHOT

ここ数年でもっとも革新的なシューター。

ポケモン ソード

ジム戦の演出が特に良かった。対戦もおもしろい。

まあまあ

Wargroove

シンプルなシミュレーションゲーム。途中でやめちゃった。

Montaro:RE

ノーコメント

Beat Saber

ExpertとExpert+の間開きすぎじゃない?
部屋が狭くて何度か壁や机を殴った。部屋がもっと広かったらめちゃくちゃおもしろかったと思う。

GTFO

Coopシューター。攻略を見ないでやったら散々な目にあった。

ゼルダの伝説 夢を見る島

2つめのダンジョンで詰んだ。ゼルダ3DSのアンバサダープログラムで配られたやつでも詰んだので向いてないかもしれない。

期待が高すぎた

Noita

僕が小中学生時代にのめりこんだ粉遊びというゲームがあるのですが、それにローグライク要素を加えたやつです。(誰に伝わるの?)
面白かったというよりはバランスがやばくてムカついてた。

Manifold Garden

無限に繰り返される3D空間内で重力の方向を切り替えながら進むパズルゲーム。プロトタイプの名前はM.C.エッシャーの作品から取って「Relativity」だった。パズルとしてはそんなに面白くなかった。エンディングムービーの終わり方だけ印象に残ってる。

ケイデンス オブ ハイラル

原作は神ゲーだと思うんだけど合体した結果なんかぼやけてしまった印象。

返品

Automachef

Factorioをやろう

ピンボール

アメリカで3ヶ月の新卒研修(?)を受けている。


オフィスにあるピンボールでハイスコアを出した。

f:id:piroz95:20190917124747j:plain
Junk Yard (Williams, 1996)

バーチャルピンボール

同じ台を家で練習するためにPC版に手を出した。

倒せていなかったラスボス、クレイジー・ボブをPC版を倒しておいた。これはかなり大変だった。
f:id:piroz95:20190919135323j:plain

オフィスにあるリアル台は今は故障している。かなしい。

アーケード

日本だとピンボールの出来る場所はとても少ないのでアメリカに居るうちにと思い、アーケードに行った。
goo.gl


f:id:piroz95:20190919140048j:plain
The Getaway: High Speed II (Williams, 1992)
予習してた台。プランジャーがレバーになってて、上下にガチャってやると玉を打てる。



f:id:piroz95:20190919141133j:plain
High Roller Casino (Stern, 2001)
予習してた台。カジノがテーマで、ルーレットのミニチュアで遊べるギミックが面白い。



f:id:piroz95:20190919141735j:plain
Medieval Madness (Chicago Gaming Company, 2015)
予習してた台。リメイク版が置いてあった。キャッスルマルチボール・エクストラボールを達成できたし、マッチも当選した。ただ右のトロールが出てこない故障があった。



f:id:piroz95:20190919142445j:plain
Deadpool (Stern, 2018)
わざわざアーケードに行ったのはPCで遊べないような新しいSternの台をやるためだったので色々遊べて良かった。DMDからLCDとか色々進化を感じる。ルールは知らなかったけどニンジャ・マルチボールを得られた。

写真取ってなかったけどSternは他にMetallicaとBlack Knight: Sword of Rageをやった。Metallicaは動画で見たことがあってひたすら真ん中を狙えばマルチボールになることが分かっていたのでマルチボールできた。Black Knightは曲がかっこよかったけど全然うまくプレイできなかった。あまりにも早く終わってガッカリしてたらマッチ当選した。その後のプレイもドヘタだった。

もうすぐ帰国

早く帰りてえ~~~

今年のサマーセールでぶっちぎりのオススメは「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レーティングを使ったので

日記

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