Rabbit Holeをついにクリアした。とんでもなく濃厚なゲームだ。こういうある種の手札を管理する類のゲームは苦手なのだが、Rabbit Holeはハマった。金策のために銃を売る、敵に対応するために強化を買う、時には命を削って武器を得る。常にそれらの選択肢がある訳でもなく、取引相手と会えるかどうかも時の運。この駆け引きのバランスがすごい。そしてそれらの駆け引きに失敗しても、アクションの腕に全てを懸けることもできる。
ここが自分に刺さった。極論当たらなければどうということはない、しかし嫌らしい配置の敵の群れをノーダメージで掻い潜るのは至難の業。むしろステータスの駆け引きに成功しようがアクションの腕次第でいくらでも負ける。大概理不尽なパターンだがしっかり考察することで確かな突破の道を開くことができ、ショップや宝箱による強化で理不尽を緩めることができる。
道中はユーモアに溢れている。アホみたいな武器、クソみたいなディーラー、ろくでもない女悪魔、etc。全部好き。
ラストの店員ちゃんとの会話があまり汲み取れなかったのが残念だった。自分の英語知識の無さが呪わしい。
操作キャラとしてshopkeepが解放された。初期装備が違うのと、少し近接攻撃力が低いようだ。
店員が操作キャラになったら店はどうなるのだろうと思ったら、店員がDISCちゃんに変わっていた。無口なDISCちゃんかわいい。良すぎる。
信じられない物を見た。なんかショップで売ってる天使の輪みたいなやつを付けて再度クリアしたらループに入った。実績一覧からしてあるんだろうなと思っていたが本当にあった。
敵が強化されて2週目というだけかと思ったら、4面で意味不明の新ボス「CATALYST」が出てきた。
まずたどり着くまでに8面分クリアしなければいけないという時点で意味不明。練習させる気がない。攻撃パターンも意味不明。前動作短過ぎるし画面全体攻撃だしテンポ速いしこれ何????
ゲーム制作ライブラリの開発を進めた。ストリーミングの実装の準備のために色々設計を整えてみている。
まず音の最終出力を司るモジュールにミキサの機能が統合されていたのだが、これを分離した。オーディオの出力(ライブラリ依存部)、オーディオミキサ、オーディオデータ生成部をそれぞれ分離できたことになる。
それからファイル読み込みモジュールについて、チャンク読み込みのためのインタフェースを準備した。wav以外は実装出来てないが、とりあえず1つ実装できてれば動作確認はできるだろう。
次の問題はストリーミング式のオーディオデータをどういうAPIでユーザに提供するかだ。現状は全読み込み済みのオーディオデータとオーディオプレイヤーしかないが、まずストリーミング式オーディオを別の型にするのかしないのか、そしてオーディオプレイヤーを別の型にするかしないのかという悩みどころがある。正直実体が違いすぎるのでストリーミング式オーディオは違う型にしたいが、オーディオプレイヤーは林立しても仕方ない気がするので同じものにしておこうかと考えている。
公開が見えてきたので、依存ライブラリのライセンス情報を整理した。実はこれまであまり真面目にライセンス表記に取り組んだことが無かったのだが、そこそこ真面目なOSSにしたいので今回はちゃんとした表記を入れる。
現状は以下のライブラリに依存している。
- VMA-Hpp: CC0
- minimp3: CC0
- stb: public domain or MIT
- VMA: MIT
- muFFT: MIT
- libsoundio: MIT
- vorbis: BSD-3-Clause
- ogg: BSD-3-Clause
- libsamplerate: BSD-2-Clause
- glfw: Zlib/libpng
- embed: Apache-2.0
ApacheライセンスはNOTICEファイルなるものを置く必要があるらしい。あんまりよく知らないので公開までには良く調べておく。
Categories: 未分類