盾の勇者の成り上がり

Web 版既読、書籍版未読、アニメは次が最終回かな。そういうタイミングなので、アニメを踏まえた感想を書き残しておく。

書籍化にあたって Web 版からけっこう加筆されていて、Web 版では名前しか出てきてないキャラなんかも書籍版ではシーンごと追加、あわせて展開も変わってるらしい。読んでないのでわからないんだけど、アニメ版はここまで見た感じ書籍版ベースっぽく、Web 版から構成が結構変わっているようだった。個人的にはアニメ版はよくまとまっていると思っていて、たぶん書籍からもさらにアニメ化しやすいように構成が変わってるんじゃないかと思う。特に終盤。

三勇教のあたりは制作スケジュールの都合もたぶんにあったんじゃないかと思うけど、ちょっと引き伸ばし気味で、戦闘シーンも前半1クールと比べてテンポがよくなかった。不満はそのへんくらいで全体的によくまとまっていたし大事なシーンを丁寧に描いてくれてたし、この出来で二期といわず完結までアニメやってほしいなーと思うんだけど、MFはリゼロの二期、八男、無職転生とアニメ化の企画がたくさんあるので大変そう。がんばってほしい。八男はともかく無職転生の完結までアニメ化とか言い出したら10年はかかるんじゃないのか。まあでもがんばってくれよな。

盾の勇者の成り上がりでいいなと思ったのは Web 版と書籍版とアニメ版でそれぞれ展開に違いがあったとして、どれが正史かどうかということを気にしなくていいようになっている。
Web 版を最後まで読んだらわかるし、勘のいい人は槍の勇者のやり直しの存在でなんとなく察せると思うんだけど、物語がパラレルに展開することが許容される話の作りになってるので、槍の勇者のやり直しみたいな話が生きるし、メディアによって展開が変わっても「アニメ版はそういう話を辿るのね」と納得できる。
これ、メディアミックスによって各メディアに適した形に構成を変えたほうがいい、あるいは変えざるをえない状況で出せるひとつの正解なんじゃないかと思うんだけど、どうだろう。
もちろんあらゆる作品に通じるやり方ではないんだけど、原作至上主義に対するひとつの回答として、こういうメディアミックスが成立する原作のあり方っていうがのあるよ、とは言えるかもしれない。

そんなことを思ったよ、という話。 こちらからは以上です。

アプリケーションフレームワークは何をしてくれるものなのか

あらためてアプリケーションフレームワークのことを考えている。フレームワークてふんわりした言葉で、まあでもだいたいあれとかそれとかのことをフレームワークって呼ぶ。

ぼくがはじめてフレームワークをがっつり触ったのは携帯電話の組み込みアプリケーションを開発する仕事をしていた時期で、携帯電話の組み込みアプリケーション用の UI フレームワークを使ったりしていた。Symbian OS という携帯電話向けの OS だったので OS 提供のフレームワークだったわけなんだけど、これはどこまでが OS 提供の機構でどこからがアプリケーションフレームワークなのか曖昧だった。
たとえば VC++ でも MFCフレームワークだけどクラスライブラリでもあり、文字列や可変長配列みたいな基本的なデータ構造のためのクラスも MFC が提供する。.NET Framework は名前からしフレームワークという名前だけど、これだって C#VM 込みのもので、じゃあフレームワークってなんやねん、となる。

Ruby on Railsウェブアプリケーションフレームワークの代表だけど、その内訳はけっこう込み入っている。
Rails 以降ウェブアプリケーションフレームワークっていう言葉が Rails みたいなものみたいな感じになってしまったけど、Rails を触っていると Symbian OS のどこからが OS 提供の機構でどこからがアプリケーションフレームワークなのかわからない、というのを思い出す。
Active Support は Ruby のコア機能を拡張するので Rails から入った Ruby プログラマはある機能が Active Support 提供なのか Ruby の標準添付ライブラリのものなのか判然としないという話も聞く。

別にウェブアプリケーションフレームワークは ORM を備えていなくてもいいし、テンプレート機構を備えていなくてもいいし、ルーティング機構を備えていなくてもいいし、HTTP サーバ機能を備えていなくてもいいし、クラスライブラリを備えていなくてもいい。それらはそれぞれ別の互いに独立したライブラリをプログラマが自由に組み合わせて実現してもかまわなく、実際ウェブフロントエンドではそうなっている。React と Next.js のようにあるフレームワークをラップして別の機能と結合したフレームワークというのも存在するが、だからといって React はフレームワークとしては不足しているということにはならないし、 Next.js がフレームワークとしてのあるべき姿ということにもならない。

現実の問題において、完全に同一な対処が可能なものは存在しないと思っている。現実の問題を細分化してみるとよくあるケースとして分類できるようになるのであって、現実の問題それ自体はよくあるケースの集合体であって、その集合が同一の問題というのは存在しない、ということである。

だからよくあるケースを広くカバーするフルスタックフレームワークというのが求められるのはそうだし、実際それでカバーできてきたわけだけど、だんだんとそれも無理になってきたんじゃないの、と思っている。

よくあるケースをフレームワークがカバーしてくれるので一番解決したい本質的な問題に注力できてうれしい。本当にそうなっていますか?
よくあるケースをカバーするためにフレームワークが無理している部分に忖度して、やり方を捻じ曲げないと解決したい事象に向き合えないことが実際には起こっていて、いっそもうフレームワーク捨てたほうがいいんじゃない?みたいなことを考えて正気に戻るということを繰り返す。自分の足を撃ちたいとか言い出してしまう。

現実の問題のよくあるケース単位でマイクロサービスで解決してプログラマがそれを組み立てる、というやり方なら、その組み立てのコストはかかるけど、そのかわりにやりたいことのために鋳型から直さないといけないみたいなことは回避できる。

解決すべき現実の問題は年々多様化しているので、単一のすごいフレームワークがそれを解決してくれるようになることはおそらくもうないんじゃないかな、と思うし、Protocol Buffers だったり Web Component だったりが普及した未来においては、フレームワークがそれらを肩代わりするために独自のライブラリを使わなくなって、標準化された技術の集合になっていったりするかもしれない、と思っているし、ウェブフロントエンドでは、わりとそうなりつつあるんじゃないかと思っている。だって、ある言語の処理系自体のサポートが手厚かったら、究極、クラスライブラリなんていらんもんね。

ジェネリックなテキスト SLG エンジンがほしい

erakanon っていう Kanon の成人向け二次創作ゲームがあって、これのゲームエンジンが eramaker なんだけど、eramaker は erakanon っぽいゲームに限らずテキスト SLG を作るためのゲームエンジンとしてよくまとまってると思う。機能不足な感はあるんだけど、Emuera っていう C# 版の eramaker 互換エンジンは文法が拡張されてて自由度が上がってて、これ本当に eramaker なの?みたいなゲームも少なからずある。

テキスト SLG を作るのはプリミティブなゲームのルールを組み立てるいい練習になると思っていて、たとえばプリンセスメーカーみたいな育成 SLG のプロトタイピングをするなら、娘のグラフィックのことを考える前にまずはコマンドとパラメータから作るべきなんだけど、コマンドとパラメータを作るところからはじめられるゲームエンジンってそれ eramaker じゃんと思っている。

eramaker 出自が出自なのでおおっぴらにすることがはばかられるというか、eramaker コミュニティがおおっぴらにすることを望まない文化で、それはもっともなことだと思うのでそれでいいんだけど、それはそれとしても汎用的なテキスト SLG が作れるゲームエンジンはほしい。

DXRuby で野メイドっていうプロトタイプを作ったのはジェネリックなテキスト SLGゲームエンジンがほしかったからで、これはそこそこうまくできたけど、もうちょっとうまく作りたい、という気持ちがある。

野メイドは DXOpal に移植するのたぶんむずかしくて、Opal.js が Fiber に対応してないからなんだけど、Opal.js が Fiber に対応するのはまあ無理そうだなという感じ。野メイドは RubyDSL でゲーム部分を記述できるのがいいところなので、Ruby 以外で実装するのは多分無理で、さもなくばパーサを書いてスクリプト言語作ることになる。BASIC くらいのパーサは書けるんだけど、パースして AST 組んでそのあとインタプリタ組むのは割と骨で、内部 DSL のいいところはインタプリタは本体の言語に丸投げできるところだよねって思う。

話が逸れたけど、今わりとリッチな表現を手軽に作れる環境は揃ってると思うけど、もっとプリミティブなゲームのロジックについて集中的に考えて作れるゲームエンジンっていうのはあんまりないような気がして、そういう訓練に一番向いてるのってたとえばボードゲームだったりするんだよね。ただボードゲームコンポーネントが物理的に制約されるので、クリッカーゲームみたいな無限に数字がインフレするゲームみたいなのは作れない。もっとも生の数字を扱わなければ単にレベルの表現にすぎないので掘っ立て小屋からはじまってスペースコロニー建てたり次元ポート建てたりみたいなところまでいくようなデザインにすることはでき、そのほうが抽象的なゲームデザインができるとは思う。それはそれとして数字が増えていくのを眺めるゲームはやりたくて、そうなるとやっぱりジェネリックなテキスト SLG エンジンがほしいので、ないものは……作るか!ということを思っている。思うだけでは作れないんだけど。

雑メモ

売上は初動が肝心なので最初の週にみんな買ってね、という話をよく目にするんだけど、まず、ファン目線でなるほどじゃあ応援しようってなって初週のうちに買ったり RT に協力したりっていうことをやったとして、ファンでない人間はファンのそのような行動に対してそれほど信頼性を感じられないので、ファンからの PR はファン以外にはたいてい刺さらない。
ファン以外の人間は初週に買ってくれと言われても大変そうやねとなるだけなのでやっぱり刺さらない。

これ初動に頼った販売戦略がそもそも間違ってる気がする。

忘れた頃に「そういえばこの作品よかったです」みたいな話をするほうが初動の宣伝よりもファン以外の人間にとって信頼性が高く感じられるのではないかと思っている。偶然発見したものがよかったというストーリーからは宣伝ぽさを感じないので。宣伝ぽさを感じた時点で宣伝なんだなってなってしまう。

逆に初動で宣伝ぽくない動きをすると刺さるみたいな話があって炎上商法がその類型なんだけど、焼くと燃え殻しか残らないので焼かない方向で考えると、たとえばお金のない人間が何かをほしいものがあったときに、買わない理由探しをはじめる。買わない理由が充分だったら財布の紐を締めておしまい。不幸にも買わない理由が不充分だと気付くと人間がそれがほしくてしょうがなくなるので買うことになる。批判的なレビューには功罪あって罪ばっかりではなくて、基本的にプロモーションはいいことしか言わないので批判的なレビューを見てバランスを取りに行くんだけどその批判がプロモーションの補強をしてくれるみたいなケースがある。Amazon や AppStore の中身のない低評価レビューは批判の筋が通ってないのでかえってコンテンツに対する否定的な態度をやわらげる効果がある。「そのくらいの否定的な内容だったら許容範囲だな」とか「よいと感じている人間はよいことを表明しないからな」みたいなことを勝手に考えはじめる。

中身のない批判的なレビューを自分自身で行うスパムが流行ったりすると尺度として使えなくなる。でもそんなことある? そんなことは当分は起こらないと思ってる。

一年の無事を祝う

日付があるタイプの恋愛アドベンチャーゲームをやっていると、5月26日もなにもないふつうの日として描かれるんだけど、誰かのなにもないふつうの日でも5月26日という日付を見るたびに自身の誕生日を思い出すし、逆に自身の誕生日が誰かのなにもないふつうの日だということも実感したりする。

この一年を振り返ってみようと思ったものの、一年を振り返るタイミング、年明けと年度の頭と誕生日で三回もあるので、一年通しての何かの話よりは近況の話をするほうがよい気がする。

続きを読む

パソコンが壊れたので新調した

今まで使っていた Windows マシンがとうとうだんまりした。原因はメインの HDD が壊れたことだが、これがきっかけで起動できなくなった。OS は SSD にインストールしているが、個人設定などは HDD に入っており、こっちが壊れて、起動できなくなった。

マザーボードもCPUも電源も10年前に組んだっきりだが、メモリを増設したりストレージを換装したりして延命してきた。HDD が壊れたのは現在のマシンにして二回目で、一回目は五年前の4月。このときにメインのドライブを SSD に換装し、D ドライブにもあたらしく HDD を割り当てた。OS も Windows XP から Windows 8.1 に切り替えた。そのまま Windows 10 にアップグレードしながら、5年間。ディスクは Windows 8.1 でしかも実家にある。リカバリディスクもなんにも用意してなかった。MacWindows 10 のイメージを USB に焼いてとかも試したけどなんかうまくいかないし……。

悔やんでも仕方ないことだし、10年も使っておいてまだ惜しむのはさすがに貧乏性がすぎるとも思い、マシンを新調することにした。

以下が構成になる。

ケース:
Fractal Design - Define C
ATX ケースとしてはコンパクトで、デザインもシュッとしていて大変よろしい。このケースのよいところは電源とドライブベイをひとまとめにして空間に無駄がないところと、裏配線のためのポケットがあるところ。これまでに組んだマシンは毎回配線がスパゲッティになってしまうのが悩みだったのでなんとかしたかった。
裏配線は実際にやってみると電源とマザーボードをつなぐ太いやつが邪魔とかSATAポートが配線口すぐで挿すのが大変(これはマザーボードのせいでもあるんだけど)とかがあってそんなに楽ではなかったけど、基板側のエアフローを充分に確保できるので労力には見合っている気がする。

電源:
Antec - NeoECO Gold 650
650W の 80PLUS GOLD認証電源ユニットで、Fractal Design Define C にちょうどよく収まる。750W が取り寄せになってしまっていつになるかわからなかったのと、650W で充分だったのとで、650 にした。でも 750 でもたいして値段変わらないので、もし電力消費が大きい CPU とか載せるんだったら迷わず 750 だと思う。

CPU:
AMD - Ryzen 5 2600
Intel じゃないんだという感じだと思うけど、ゲーム以外にもよく使うので汎用的な性能のよさで Core i5 より Ryzen 5 という選択になった。7じゃなくて5なのは実際のところ日常的に使うならこれくらいのクラスのCPUで充分だと思うので。
AMD の CPU って実ははじめて買ったんだけどリテールのファンの取り付けがネジ留めなんですね。しっかりついてて安心感ある気はするけどしっかりネジ締めても大丈夫なのかこれみたいな不安は若干ある。あんまりキツく締めないほうがグリスの吸熱がいいみたいな話も聞くけど……。

マザーボード
ASUS - PRIME X470-PRO
エイスースシンパなのでエイスース。
M.2 SSDヒートシンクが備え付けられていることにもっと早く気づいていれば M.2 SSDヒートシンクを別途買ってくる必要もなかったのにと思うけど後の祭り。買ったものは無駄にならないので次に M.2 SSD 買うときにこのヒートシンクを使うと思う。
ところでこのボードはデザインがよくてかなりテンションが上がった。

グラフィックボード:
ASUS - ROG-STRIX-RTX2070-O8G-GAMING
RTX 2080 までは必要なくてでも RTX 2060 よりは RTX 2070 がいいなという欲を出して RTX 2070 にした。コスパは RTX 2060 のほうがいいのではないかと思う。GTX 1080Ti はちょっと高いかなと思っている。RTX 2070 の値段見ちゃうとね……。
今のところその性能を実感できるような使い方をしていないので性能は実感できてない。カスタムオーダーメイド3D2を起動するときに警告ダイアログが出なくなったのでよかったねというくらい。ここに Oculus Rift なり HTC Vive なりがあれば VR モードを試したりもできたんだけどうちにあるのは Oculus Go だけだし、こうなってくるとやっぱり何かしら HMD ほしくなってくる。そのうちに。

メモリ:
CORSAIR - VENGEANCE LPX PC4-21300 DDR4-2666 8GBx2
特に理由はないけど値段がちょうどよかったので。
あとメモリに最初からヒートシンクついてる時代なんだな〜と思いました。基盤むき出しじゃないので取り付けに不安がなかった。

SSD
Intel - 660Pシリーズ 1TB
いま SSD こんな安くなってんですね。QLC(1素子に 4bit 詰め込むやつ)だから安めっていう話らしい。TBW が 200TB くらいで TLC の 1/3 くらいっていう評判らしいけど、この値段のもの 200TB 書き込む前に買い替え余裕だと思う(なんならその頃にはもっと安く大容量のストレージ出てるでしょまである)ので、あんまり気にしてない。

HDD:
Western Digital - WD Blue SATA6G接続ハードディスク 4TB
HDD は最近は Western Digital を買うようにしている。Green を買おうとしたらいま Green っていうのはもうなくて Blue に統合されたらしい。今使ってる Green が WD30EZRX で、それと同じでいいかなと思ってたんだけど、WD30EZRZ が後継モデルらしい。価格を見ると 4TB の WE40EZRZ が4〜500円高いだけだったので 4TB にした。HDD もずいぶん安くなったよなーと思う。

結局 Windows 10 は USB メモリ版を買った。Mac で作った起動イメージは、認識はするもののインストールに失敗してしまった。なんかがおかしいんだと思う。

ディスプレイとマウスとキーボードは現行機のものをそのまま使うので買い替えしない。ただ、旧マシンもストレージ新調して OS 入れ直したらまだサブマシンとして使えるので、実家に置くことも考えてる。となるとディスプレイはもう一台買うことになりそうだ。グラボがよくなるんだからディスプレイもよくしたほうがいいとも思う。音楽とか動画とか画像とかは Mac と Win 機で共用のストレージに放り込んで起きたい気持ちがあるのでそのうち NAS も用意したいなーとかも考えている。Oculus Rift S もほしいし……とかもある。引越もしたい。あれこれ考えるとキリがないのでとりあえずこれくらいにしておいてやるわ。ふはは。

どっとはらい

Glare 3 やった

Glare 1 やったのけっこう前のことなんだけど続編が出てること最近知ってプレイ。

Glare 1 はフリーで18禁、2はフリーで全年齢、3は有料で18禁。グレアさんとイチャイチャするのがゲームの根幹にあるのでエッチシーンあったほうがいいのはいいんだけど、抜きにしても SF 短編として面白かった。1と2はフリーゲームなので気になったらやってみてほしい。

Glare シリーズというのは、キーワード入力式のアドベンチャーゲームで、会話の中で明示的にあるいは暗黙的に提示されるキーワードを入力することでゲームが進行する、きょうびめずらしいスタイルのゲームだ。きょうび、というのは、こんにちのアドベンチャーゲームは、究極、選択肢すらない。それがもはやゲームと呼べるかどうかはさておき、平均的なアドベンチャーゲームは、基本的には提示される選択肢を都度選択するのであって、自分から任意のタイミングで行動を起こすゲームというのはめずらしくなっている。そういうタイプのゲームはポイント・アンド・クリック形式で発展していったこともあり、こういうクラシックなゲームがあたらしく作られることはほとんどない。しかしながら、PC版のポートピア殺人事件のように、そのようなスタイルのゲームが流行した時代というのがあった。この形式はやがて入力可能なキーワードがコマンドリストとして表示されるように簡略化され、オホーツクに消ゆのようにコマンド選択式にかわり、更には会話の中での選択肢という方式に置き換わっていき、いまのような選択肢方式のアドベンチャーゲームが主流になっていく。
そうしてキーワード入力式が選択肢方式になってアドベンチャーゲームが失ったものはなにかというと、明示されない選択肢の存在であり、手がかりを得て真相を解き明かす探求要素だった。そういう意味で、Glare はアドベンチャーゲームの探求要素の復権であり、ルネッサンスだとぼくは思っている。

キーワード入力がグレアさんに検索をお願いする、という体裁になっているところも含め、いまあえてキーワード入力方式であることの意味づけはうまくいっており、作品の雰囲気作りにおおいに貢献しているし、1 ではこのシステム自体が最終的な解決に深く関わっているので、Glare シリーズはこの形式だからこそだと強く思う。きょうびめんどくさいと思うかもしれないが、ポイント・アンド・クリック式の脱出ゲームをたまに無性にプレイしたくなるように、人間には隠されているものを解き明かしたい欲求がある。

アンドロイドものが好きな人にはぜひやってほしい。3 のほかに 1 のリメイク版とかもあるのでどうぞ。

Glare1more

Glare3