ロックイン

Rebuild.fm の mirakui さんの回聴いてたんだけど、インフラの世界観だと、ロックインさせたい Amazon/Google VS 自由を手に入れたいDocker みたいな構図がある、な話があって、思うところがあった。

rebuild.fm

勿論、話はそう単純じゃないし、それぞれがそれぞれの成果を利用しあってるので、どっちが正義だみたいな話にはならない。第三者目線としては、寡占にならず競争が続くのが望ましい。僕個人の意見としては、金が生まれるところには、正しく金が生まれてほしい。それで全体としての健全性が育まれるなら。日本にいてあんまり面白くないのは、その辺の基盤技術に関われる機会があんまりないことだが…。

とはいえ、利用者目線としては、できるだけ自由なポジショニングを可能な限り選び続けるべき。だが、自由を手に入れるには、それだけの知識が必要となるし、そこを諦めたところをアウトソースなり、ロックインされることになる。

何にBetするか。これは難しくて、第一言語に引きずられるし、フロントエンドやってる僕も、「最近のお前の技術選定はFacebook党だろ」と言われたら否定できないが、別にFacebookから金をもらってるわけではないので、その点では自由ではある。いいと思ったらいくらでも鞍替えする。CoffeeScriptを諦めたように。

で、最近困ってるのが、フロントエンジニアとしての専門性を高めた結果、インフラをやるにあたって、何にBetするか、で、やはり自分の今の競争力を担保するために、少ない時間で最大限の成果を、という判断基準になる。必要なのは、DB抽象とオートスケール。そうすると、ある程度ロックインされた方が、やはり幸せなのではないか?という気持ちがある。

最近調べたのは AWS Lambda/DynamoDB と Firebase で、ラピッドプロトタイピングで邪魔されない程度に機能が揃ってると良い。そうなると、ロックイン度が高いFirebaseがやはり選択肢になってくる。

でもなー、やっぱFirebaseはなー、クソーという気持ちにはなる。ストレージに掛けられる制約もゆるいし、それによって実装できるアプリの性質が結構変わってくる。Todoアプリぐらいだったら問題ないけど、ゲームのセーブデータを預けろ言われると無理そう。あとなんとなくGCPとかGKEとかGAEがこっちを見てる気がする。

AWS Lambda もそんな嬉しくはなくて、結局あの膨大なAWS関連サービスを使いこなさないとちゃんとしたデプロイまでたどり着けなくて、それに試してわかったけどDynamoDBもかなり特殊なデザインだし、あれをNoSQLとして長期的にメンテ出来るかよくわからなかった。調べた感じMigrationに難がありそうだった。難というか、何も支援がない、という感じで。

ここで個人として取れる戦略は、とりあえず Storage Pattern とかでDBへのアクセスを抽象化しといて、プラットフォームごとに実装を切り替える余地を残しておく、みたいな、とても普通の結論になる。

まあ大抵は僕一人で作るわけじゃないので、AWS系だと扱えるエンジニアが多いの考慮してS3とLambdaとDynamoでちょろっと作るか、最初はFirebaseで作ってあとで切り替えるみたいな展開を想定しておくといい気がする。って感じで今はFirebase使おうとしてるけど、どのぐらいスケールして、どのぐらい金を払うことになるか、の肌感がないので、提案するにも怖いなぁ。いやー金払うのを躊躇するレベルになったらインフラの専任付く余地あるから別に考えなくてもいいんじゃない?いやそういう発想が逃げなの?恥ずかしくないの?いやー僕は基本はフロント沼掘ってるんで任せますよー。えーどうなんでしょうね。

結局アプリケーションエンジニアはDBアクセスを抽象化しましょうねーという当たり前のゴールだけしか見えなくて辛いなーJSにいいORMないからなーActiveRecordほしいなーでもRDBMSだけじゃなくて各NoSQLやIndexedDbという対象がプラットフォームとしてあるから難しいなーという感じです。

オチはないけどこのへんで悩んでます。知り合いが多いGoogleやトップゲート社方面からFirebaseやれよと言われるのまでは見えてる。

GraphQLを勉強した

自分でGraphQLサーバーを実装しながら勉強したログ。間違ってるかも。

コードはここにあるが、何の注釈もない。 https://github.com/mizchi-sandbox/play-graphql-server

RESTの課題

REST は URI とモデルのマッピング構造だが、往々にしてクライアントで必要となる構造は モデルのうち一部であったり、そのリレーショナルな構造に依存する。 つまり、REST というルールに従って必要なデータを組み立てると、リレーショナルな構造によってN回のリソースへのアクセスと、興味がないデータを含んだ不要なペイロードが発生しがちである。

GraphQL は何をしたいか

  • 1リクエスト内でモデルへの問い合わせを合成し、さらに必要なものだけ返却したい
  • 言語とは独立した、転送経路上のモデルの定義を行いたい

パフォーマンス上の理由とセマンティクスが同居しているが、不適当な要求ではない、と思う。

GraphQL の解決アプローチ

GraphQLサーバーは、まずモデルのプロパティと、他のモデルとの関係のグラフ構造を定義する。次に、クライアントに対して公開するクエリを定義する。

GraphQLクライアントは、使うクエリの選択と、その絞込みクエリの2つを同時に送信する。

クライアントからクエリを受けたGraphQLサーバーは、クエリ定義にそって、なんらかの方法で実装されたモデル抽出関数などを叩き、そこで得られたモデルを、定義にしたがって合成し、絞込クエリによってフィルタし、返却する。

URL的には、シングルエンドポイントを持ち、そこに向けてクエリを発行する。モデルの合成は1リクエスト内で行われる。RESTリソース的なセマンティクスは、GraphQLは興味がない。

GraphQLは何をしないか

  • バックエンドの実装
    • データの通り道のスキーマを定義しているだけ
    • なんらかの言語の実装によって自分で書く必要がある
    • 最終的なペイロードに載せるデータのフィルタリングはGraphQL側が行うが、その組立は自分でやる必要があるため、その過程にパフォーマンスの劣化は当然発生する。たとえばRubyバックエンドで ActiveRecordto_hash なんらかのシリアライズ(追記: ActiveRecord::Baseにto_hashはない、とのこと)で深いリレーショナルのプロパティを掘り出してしまったら、そのSQLコストは発生する。
  • データの転送経路の指定
    • HTTPでもWSでも生のソケット通信でもなんでも良いが、環境ごとに実装する必要がある
    • 極端に言えばローカルのIndexedDBへローカルのクライアントから問い合わせる、などもある

バックエンドはなんでもよい。MySQL, MongoDB, In Memory、DynamoDB、etc…。 実装言語と独立しているため、サーバークライアントともに、実装は何の言語でも良い。サーバーをElixirで実装してiOSのGraphQLクライアントから呼ぶ、というようなケースも全然あるだろう。

GraphQLのスキーマ

クエリは大きく2つに分類でき、QueryとMutationがある。スキーマ上の type Query {...}type Mutation {...} は特殊化されていて、それらの名前空間はクライアントの query {...}mutation {...} に対応し、いわゆるトップレベルスコープのような扱いになる。それら2つは明確に区別されている。が、実際にどう副作用が起こるかは実装依存なので、queryで副作用を加えることは、一応可能である。やらないとは思うが。

雑感

目的に対して妥当な実装ではあると思うが、資料が少なく、未だ学習コストが高い。その学習コストを乗り越えれば、クラサバ間の通信仕様として、有効かもしれない。

シングルエンドポイントというのが、AWS Lambda などとも相性がよく、DynamoDBバックエンドなどとも有効な組み合わせになる。

自分はFlowtypeで書いていたが、静的型付けな言語環境では、GraphQLスキーマとその言語上の型を2つ定義する必要があり、やや面倒ではあった。ジェネレータがあるといいかもしれない。Subtypingできる言語ならややマシかも。

と思って調べてたらFlowtypeではGraphqlを直接パースするというアプローチを実装中だった。ただ、いまいち何の型をみてるのかよくわからない。Relay以外で使えるのか。https://github.com/facebook/flow/pull/2822

Facebook graphql を直接使うより, Apollo のツールチェイン使ったほうが楽

「最初に学ぶべきプログラミング言語」

追記: 予想通りブコメが「俺が考えた最強の入門言語」で埋まってるので、初心者は教えたがりなそういう人達に聞きに行ってください

Vimperatorの思い出とVivaldiへの期待

※はじめに

これは Vimp やめて Vivaldi 使おうぜとアジる記事ではない。最近何書いてもアジってると誤解されるの困る。

思い出

僕のプログラマになるきっかけの一つに、2008年頃にリナカフェに遊びに行った時に @mashiro にVimperatorを勧められたのがある(本人はおぼえてないかもしれない)。当時の僕は大学に入ったばかり。Firefoxは使っていたが、プログラミングは多少興味あるけど、難しそうだなぁ、程度の認識で、もちろんVimなんか使ったことがなかった。

初期設定はその場で教えてもらって、あとは家に帰って調べた。最初は、とりあえず便利なショートカットキーを提供してくれて、QuickSilverライクな絞込UI(今だとMacのSpotlightもそうなんだろうが、当時はQuickSilverというMacアプリぐらいしか似たようなものがなかった、気がする)を持つインターフェースとういう認識だったが、いろんな指南記事を見ながらプラグインを突っ込んだら見違えるように動くようになっていき、言いようもない万能感を覚えた。この時点だと、いわゆるスクリプトキディというやつだったわけだが。

実際、プラグインを書くほどの実力はないので、CodeRepos(覚えているだろうか、CodeRepos) にある、ostune さんや retlet さんの設定ファイル、 VoQn の書いた colorthema、そういうものに触れてunix的な設定ファイルの文化とOSSの雰囲気みたいなものに触れた。JavaScriptのコードに触れたのも初めてだった。

僕にとってのプログラマ文化の入り口だったので、Vimperatorにはとても感謝している。

Vimparator の終わりの気配

うろ覚えなんだけど、Vimparatorの開発はいろいろ不穏で、作者に彼女が出来てコミット権を移譲しないまま開発が数ヶ月止まったとか、Donateの分配で揉めたとか、それらが理由かは知らないがForkで開発リソースが分散されたとか、色々あった記憶がある。

なんだけど、やっぱりChromeの興隆と、Chromeに追従しようとしてFirefoxXULを捨てようとする動きが、Vimparatorの根幹となるXULとそのAPIの存続を危うくしていたのが、開発のアクティビティと周囲の期待に響いたんだと思う。2011年ぐらいから、皆いつかVimparator死ぬ時が来る、と覚悟しながら使っている雰囲気で、実際、定期的に動かなくなってはその場しのぎのパッチをひねり出す、というイベントが、定期的に発生していた。

それで今月のアップデートでついに :tabopen コマンドという、使い勝手の根幹を支えるAPIが死んでた。(代替機能も、あるにはあるのだが…)

Macを買い替えたついでの環境構築で、ついに2017年にしてVimperator構築をやめた。

Chrome の消化不良

ChromeはVimparatorの代替とはならない。少なくとも僕には。

僕にとって、およそChromeの不満は2つ。中央プロセスが握ってる共通キーバインドを変更できないこと。もう一つは、タブが縦に並べられないこと。

1つめは、Vimiumなどで解決できる、という反論がありそうだが、DOMContentLoaded 以降にプラグインがハンドラを追加する実装なので、読み込み中のタブでは動かなかったり、ページ側のJSでオーバライドされたりイベントバブリングを止められたりする。些細な問題のように思えるが、これのストレスは大きかった。

もう一つ、タブが縦に並べられないのは、僕は大量にタブを開く運用なので、文字が潰れて読めなくなる。下手すると50個や80個開いているので、Chromeの上部タブでは識別不能になる。Chromeには昔 --vertical-tabs みたいなオプションで縦に並べるUIもあったのだが、いかにもやっつけで作った隠しオプションという感じで、今でもメンテされてるかは知らない。消えてそうな気がする。

Vivaldi

OperaのCTOが作ってるブラウザ。2ヶ月ほど、日常用のブラウザはこれだけを使ってる。(開発用には色々実験する為にChrome Betaを使っている)

https://vivaldi.com/

実態はChromeCTF + そのメタプロセスと言った感じらしく、その意味ではElectronなどと同じだ。ChromeのUI気に食わないから作り直そうぜというのは、一昔前のIEComponentを思い出させる。

ファウンダの一人に日本人の人がいるからなのか、公式サイト、設定画面などはしっかり日本語している。

そして僕が望む以下の機能がある。

  • Vertical Tab
  • 1キーショートカット
  • QuickSilverライクな検索絞込

こんな感じ

キーボードショートカットのカスタマイズの範囲が大きく、Vimperatorライクな(もっというとVimライクな)使用感に影響するので、これだけでChromeではなくVivaldiを使う価値がある。

ただし、TextareaやInput、タブ側のキーボードショートカットを優先する。GithubTwitterでは別のイベントが誤爆している。というかQuickCommandのフォーカスもTextareaに取られる。これらはもちろん不満だが、Chrome with Vimium 環境よりマシ、といった程度。

Vivaldi への不満

上のショートカット優先度の問題もあるのだが、他にも、現時点では、日本語IME周りの問題が多い。

  • URLバーで検索するために日本語を入力すると、1文字目はAscii前提で補完しようとして、2タップ目の日本語で補完を諦め、「hあ」みたいな入力になる
  • kanaコマンドの入力をinput/textareaでキャッチされて、GitHubFacebookで、編集時は見えない、異常な文字コードの何かが途中で挿入される
  • QuickCommandでIMEの補完確定のEnterを拾って検索を実行する。おかげでCtrl-Mの存在を思い出した
  • 日本語関係ないけど、何故かQuickCommandからGoogleで検索しようとすると検索が発火しない。仕方なくデフォルトのBingで検索している
  • Vivaldi関係ないけど日常的にBingを使わされていると、Bingの検索結果の質の悪さにうんざりさせられる。市場が健全じゃないのでMS頑張ってくれ、もっと。

日本語化はされているが、総じて、IMEを考慮したプログラムが書けるチームではなさそう、という残念感がある。(これらの一部はサポートからメールした。Forumはなぜか新規アカウント作成ができなかった)。この辺、今の僕だったらコード想像つくし、その上で直せるんだけど、OSSではないので、それができない。なんとかしてなおして or なおさせてほしい。噂だとReactらしいし。

第二次ブラウザ戦争を終えて

Chromeが勝ったが、そもそもモバイルの比重で、ウェブブラウザの相対的な比重が薄れてるのが近年の事情。

ChromeVivaldiも頑張って欲しいし、もちろんRustでレンダラをスクラッチしたという次世代Firefoxには期待しているが、僕個人としてはVivaldi現時点で好みなので、頑張ってほしいなあといった感じです。

半年ほどHTC Viveで遊んだVRコンテンツの感想

半年前に買った。HTC Vive、GTX980、ルームスケール2.5m x 2.3m。という環境で遊んでる。Oculus は最初のDK1を触ったはずだが、よく覚えていない。

大雑把な感想

何にも変えがたいのは、映像を見ているのではなく、自分が映像に入り込んでいる、という錯覚。これは体験するまで半信半疑だったが、これだけで10万以上払った甲斐はあったと思う。 HMD、コントローラーともにトラッキング性能に不満はない。自分が映像の中に入っていて、かつその中のエレメントとインタラクティブに触れたりできる、というのは、ここまで来ると触覚がないのが嘘のよう。VRは、没入感を高めるために、周辺機器を揃えたくなるので、その周辺の市場も育ちそうではある。ただ機材を前提にすると体験できる人が減っていく問題もありそう。

不満

問題もたくさんあって、それ用の空間を用意して、部屋を掃除するのがだるい、というルンバに似た問題がある。部屋を模様替えするごとに、ルームスケールのセットアップをし直すのがだるい。

解像度は、全体的に少し物足りない。どうしても網目感が気になるが、これを消そうとするとGTX1080でも足りないらしいので、たぶん時代が追いついていないのだろう。今までのこの分野の進歩を考えると、5年後のハイエンドゲーミングPCあたりで不満がなくなって、13年後ぐらいでモバイル化できるのではないだろうか。未来の話だ。とはいえ、妥協すれば今でも十分。

あと、最近頚椎ヘルニアなどやらかして、首に不安があるのだが、それを差し引いてもHMD自体が重くて長時間遊ぶのがきつい。VRで出勤とかは無理だと思う。はやく軽量化されてほしい。最近Viveの無線化キットが発表されたのは嬉しい。

ちょっと夢のない話をすると、「あ、これはVRでやると楽しそう」から「あ、これはVRでやると吐きそう」という感想に変わる。

ジャンルごとの評価

FPS

非常に向いているが、今でてるコンテンツがほとんどウェーブ制で、ゲームとして変わり映えしない。ワープ制の sairento などはやってみるとさして面白くなかった。(個人の感想です)

このジャンルに関しては、そもそも自分がFPSが好きではない、という問題があり、あまり適切に評価できない気がする。

RPG

Vanishing Realm ぐらいしかないが、ワープ移動でダンジョンを探索するのは非常にだるい。とにかくワープで萎える。自分はワープが主流にある限りそこまでやりたくない。

フライトシム

非常に適したジャンルだが、ピッチ・ロールは問題ないがヨーで回転するときが非常に酔いやすい。

スポーツ

卓球が非常にVRに向いてる。どれぐらい向いてるかというと、リアル卓球スキルがそのまま反映されるぐらいには適性がある。

音ゲー

表現によるが、インタラクティブなコンテンツは非常に向いてる。SoundBoxingが一番遊んだVRゲームだと思う。

ホラー

基本的に怖すぎる。というか存在感がすごいので、ホラーでなくても驚く。 ほうっておくと無限に怖くできる。逆にどこで抑えるかが肝要だと思う。

アダルト

とりあえずカスタムメイド3D2で遊んでみたのと、アダルトフェスタで買い切りコンテンツを視聴してみた。

このブログは自分の両親にも読まれている気配を感じるので非常に書きづらいのだが、さすがにVRの存在感でアダルトはすごい。中学生ではじめて友達にもらったエロ本を読んだときのような新鮮な感動があった。体感コンテンツなどで、これにうまくリーチさせることができれば、VRの普及が早まるのは間違いない。一部の風俗が廃れてしまうのでは?という懸念を感じるぐらいの迫力を感じる。

とはいえ、今コンテンツの数が少なく選べないので飽きるが、これがVRの主流になる可能性は高いと思う。広まって選択肢が増えてほしい。

おすすめ

  • The Lab (Valveのデモ)
  • SoundBoxing(音ゲー
  • Paddle Up (卓球)
  • Raw Data (FPS)
  • カスタムメイド3D2(アダルト)

自分はプログラマだけど、これらを自分で作りたい、という欲求はそこまで感じなかったので、WebVRきたタイミングで少し動かして満足しそう。

最近のフロントエンドの変化とビルドツールについて

界隈の雑な会話です。注意点として、フロントエンドガチ勢寄りの方面なので、一般的な感覚とは乖離してる可能性があります。

基本的には http://www.s-arcana.co.jp/blog/2016/12/12/3438kikuchi1201.hateblo.jp を念頭に。

FF15感想 -トータルの体験はいいが細部がとにかく雑-

クリア済み。隠しダンジョンは行ってない。

できるだけネタバレしない感じで。あんまり体調が良くないので、推敲せず殴り書きで。

最初に

このゲームは不思議なゲームで、存在を知った時の、ホスト4人のロードムービーという誰得なのかわからん導入で敷居を下げたあと、結果としておそらくゲーム初心者やアンチなプレーヤーに耐えるほどの包容力か何かで圧倒して全体として満足する、という感じになるのだが、やはり細部が荒いので無限に文句を言えてしまう。

不満を列挙するだけならプレーに耐えないゲームのように思えるかもしれないが、結果として満足感は高いので、個人的には 80/100 の点数をあげたい。が、点数では語れない魅力がある作品ではある。やはり海外の先行レビューを見ても似たような歯がゆさがある。

Choke Point | 『FINAL FANTASY XV』海外レビュー

全体通して

個々のシーンで開発側のやりたいことはわかるが、そこを繋ぐストーリーなり脚本がとにかく雑。長期開発とプロデューサーの変更などで方針が変わって細部を詰めきれてないと想像してしまう。終盤の駆け足感は、似たような状況で発売されたFF12のレイスウォール王廟以降を思い出させる。

最初はターゲット層を大きくとったために小難しいことを排除したのかな、と好意的に解釈した。あ、これは細かいツッコミをしてはいけない作品なんだ、と。だが、後半ガバガバになるにつれ単に練り込み不足ということが露呈して世界への没入感が削がれていく。

その時なぜそれをしているかがプレーの大半を通して納得がいかない。別に納得したくてゲームをしているわけではないが、開発側の「次に見せたい図」が強すぎてその間を繋ぐ整合性が欠如している。それが一部だけならいいが、ゲーム全体を通してそうなのでむず痒さが残り続ける。

仲間達

実際には4人の友人というより、王子とその友人と護衛二人という感じなのだが、男子校的な、ホモソーシャルな関係の良い部分だけを切り取って「気が合う仲間と荒野を走り回る」という体験に仕上がっている。それなりに突っ込みどころはあるが、彼らに魅力があったのが作品を救っていると思う。

男4人がどうだったかというと、やはりこの美化されたホモソーシャル感は男だけじゃないと演出できない。というか、ここで女キャラクターがいてPT内に恋愛感情があったら、本人たちが軽いだけにキャンプの度に男女のそれの雰囲気とか出てしまってギクシャクしそうだなという予感がある。人によっては勝手に夜這いの雰囲気を感じて気が気ではなくなるだろう。

前半はオープンワールドで漫然と彼らと過ごすのだが、そこで培われた仲間たちとの絆や連帯感が、駆け足な展開を経てもエンディングを納得感あるものに仕立てている。(ここは人によって評価が別れると思う)

とはいえ問題がないわけではない。ストーリーがガバガバなのの被害を一番受けてるのがイグニスで、知略担当がガバガバストーリーにマジレスする役目なので、開発側の知性の限界を見せつけられる気分になる。スクエニの悪い意味での中二病でスカしてる感じを全身で体現してしまっている。(イグニスのキャラクター設定に問題があるわけではない)

プロンプトの声優の柿原徹也(ググった)はちょっと難があったと思う。ムードメーカーを演じてるとは思うんだけど、演技に問題があるというより、リアル寄りなグラフィックで、発声がアニメっぽすぎるのが馴染んでない感じがあった。アニメっぽいキメた声が他のメンバーの(比較的は)自然っぽい演技に対して浮いてる。いわゆる声のプロっぽいブレスもマイクが拾ってしまってるので、より自然なそれと乖離している。これは演者に問題があるというより、ディレクションの問題だと思う。

後半グラディオがキレるシーンは脚本の不備なのかグラディオ自身に難があったのかわかりづらかった。全体としてわかりやすい演出に寄せてるだけに、細かい機微から読み取ったことが正しいのか判断しづらい。そういうふわふわ感が作品全体を覆ってるのが大きな問題ではあるのだが…。

オープンワールド

最初は探索要素が全然なくて不満だったが、途中で思い返してみると、このゲームのオープンワールドの目的は「無為に」仲間たちと荒野を走り回させることにあるので、その意味では目的を達している。

車は僕にはストレス要素で、「車や高級車に全く憧れがない + 都心に住んでて車の免許すら持っていない」という自分の素養があるとは思うんだけど、ドライブの時間がとにかく苦痛だった。ストーリー的に必須な一度目は我慢するとして、クエスト消化やモンスター狩りで任意の地点までいくのがとにかく苦痛。

車の現在位置と最後に宿泊した地点が徒歩時のファストトラベル対象、かつ車から各パーキングエリアにファストトラベルできるんだけど、「車へワープ => 目的地へワープ」という手続きが多く、それぞれに距離によるが30~60秒程度のロード時間が発生し、最初からワープできないのは車によってファストトラベルするという演出の結果であり、車に意味を見いだせないので大きなストレスだった。

チョコボにのる時間も長いので、リアルな世界観からやや乖離してるチョコボのBGMを長時間聴くのはチグハグな印象になる。

モブハントは手間がかかるだけで面白くない。サブクエストはおつかいしかなくて魅力がない。それでもそのクエストに参加する仲間達と無駄に過ごす時間は無駄ではない。そういう空気感。

自分はオープンワールドRPGでは TES4,5や Fallout3,4 そして Witcher3 をプレイ済みで、ストーリー重視のオープンワールドということでやはりどこか Witcher3 と比較してしまうのだが、やはり同じ視点で評価できるゲームものではないが、世界観の練り込みや細部の丁寧さで Witcher3 とくらべて物足りなさを感じてしまうのは否定できない。ただあれは数年に1本の傑作なので、それと比較するのも酷だという気はする。

ゲームとしてのメカニクス

アクションの手触り感はよいが、正直それだけでしかない。

ポーションがぶ飲みで何もかもクリア可能、かつアイテムも豊富に手に入るので余りまくるのは、戦闘の緊張を大幅に減じている。それに気づくまでは楽しかったかもしれない。自分がここで言及することが未体験の人の楽しみを削いでしまう可能性もあるが、この記事にたどり着いてる時点でそういう評価を見ることを避けることが難しいと思われるので、言及しておく

何か楽しむための工夫としてアイテム使用禁止の縛りプレーでクリアできるかというと、それができるゲームバランスではなさそうでもあり、できたとしてもおそらく苦行で、パッと思いつくアイデアとしてはアイテム消費にクールダウンを追加すればよいのではないかという気はする。

ただ、好意的に考えれば、誰でもクリアできるようにそういう風になってるとも言える。自分は「ひび割れを見つける」タイプのプレーヤーなので、ルール的にそれが許されているなら徹底して活用してしまって、大抵ゲームの側が壊れるんだが…

翻訳記事:水はひび割れを見つける | スパ帝国

シナリオ進度に合わせたレベルキャップを追加するパッチが入るらしいが、結局スリリングな体験を求めるゲーマーはこのゲームに合わないだろう。どちらかというと無双系の体験に近い。

その点で言うとFF13は本当によくできてきた。

バグ

モーション・物理演算系のバグが多いのはこの手のゲームでは仕方ない。それを批判的にあげつらうのもとても幼稚な行為だと思うので、ここでは深く言及しない。

自分に起こったのは、イベントフラグ管理系のバグに多かった。イベントマーカーのある位置にいっても何も起きない。大抵セーブ&ロードすると治るのだが、ロード時間が長いのでイラッとする。特にデイヴ、サニア、モブハント関連で頻出した。

あと、バグとはちょっと違うのだが、「ここから先は引き返せません」系のメッセージが嘘であることが多く、このメッセージを見るたびにイライラした。一周で一通りの要素を触りたいプレーヤーなので、取り返しがつかないかどうかが判断できないのは勘弁願いたい。実際本当に引き返せないところでの警告がそれと判断できなかった。

追記: EDについて

ややネタバレ気味。

自分はFF15のEDは美しいと思った。終盤の展開の雑さは置いといて、ノクトと仲間達の決意を感じるので嫌いじゃない。その決断を支える仲間達の絆の演出も。そういう古臭い「仲間達との絆」の演出を最後までやりきった点でこのゲームが唯一無二なところはある。

ただ、結果としてみると死人多いし、ハッピーエンド至上主義の人にはちょっと辛いと思う。純粋なハッピーエンドじゃないからこそ胸を打つものというのはある。ただこのゲームのメイン層が、そういうハイコンテクストな演出を許容できるようなプレーヤー層かというと微妙。長編RPGをクリアするのは一部の人間だけとはいえ、風評被害には弱くなる。

いくつかのバレで言われていたようなバッドエンドではない。ただハッピーエンドでもない。 しかもあの演出はFF15のタイトルロゴと密接な関係があるので、versus時代から予定されていたものだと思う。

その他Twitterより

私信

Twitterでいってたんですが、ちょっと先週は頚椎ヘルニアっぽい症状で病院の救急いったり会社休んだりしてたんですが、今現在首が痛い以外は大丈夫です。というか定期的に薬飲んで首にカラー巻いて生活する以外はとくに支障がなく、ゲームしてしまった…