ロックイン
Rebuild.fm の mirakui さんの回聴いてたんだけど、インフラの世界観だと、ロックインさせたい Amazon/Google VS 自由を手に入れたいDocker みたいな構図がある、な話があって、思うところがあった。
勿論、話はそう単純じゃないし、それぞれがそれぞれの成果を利用しあってるので、どっちが正義だみたいな話にはならない。第三者目線としては、寡占にならず競争が続くのが望ましい。僕個人の意見としては、金が生まれるところには、正しく金が生まれてほしい。それで全体としての健全性が育まれるなら。日本にいてあんまり面白くないのは、その辺の基盤技術に関われる機会があんまりないことだが…。
とはいえ、利用者目線としては、できるだけ自由なポジショニングを可能な限り選び続けるべき。だが、自由を手に入れるには、それだけの知識が必要となるし、そこを諦めたところをアウトソースなり、ロックインされることになる。
何に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バックエンドで ActiveRecord の
to_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
「最初に学ぶべきプログラミング言語」
初心者に最初にぶち当たるのが『環境構築』という大きな壁なんですよね。そこで何割の人がスタートラインにすら立てずに挫折するだろうか…5割は超えるかもしれない…
— ビタワン@社畜ちゃん②巻2/27発売予定 (@vitaone_) 2017年2月5日
環境構築が壁で、楽しい(かどうかは人によるが)プログラミングにたどり着けなくてモチベーションが、というのはわかるが、環境構築を経験してその辺の洞察身につけてもらわないと現場で困る、というような話もあって、二ヶ月速習でiOSエンジニア、みたいな講習はその視点欠けててダメ
— 現場の声 (@mizchi) 2017年2月5日
よほどよくできた環境でもない限り、何作ろうとしても初動でうまいこといくケースが少ないので、それを解決するための勘と体力は絶対に必要なんだよなー
— 現場の声 (@mizchi) 2017年2月5日
僕も完全独学でプログラミング始めたので初心者の環境構築の辛さはわかるんだけど、完全独学だと、やりたいことではなく、環境構築に成功したものを勉強する、という感じのバイアスがかかり、PHPやJSのユーザーが増えるのはその辺にも理由があると思う
— 現場の声 (@mizchi) 2017年2月5日
なので初心者が最初に学ぶ言語は「身近に教えてくれる人がいる言語」だし、それは別にPHPでもHaskellでもよくて、プログラミング面白いやってこって気持ちでセルフモチベートされるまでは導入はなんでもいいんです。
— 現場の声 (@mizchi) 2017年2月5日
周囲に教えてくれる人がいない場合、というかそれがほとんどだけど、使用者が多い言語を選ぶのが安牌ではあるけど、国内事情鑑みるに Java, C#, Ruby, JS あたりになるんですかね、人によって意見違って荒れるのでなんとも言えないけど。あとはやりたいことができる言語か
— 現場の声 (@mizchi) 2017年2月5日
就活でもなんでもそうだが、初心者の時の「やりたいこと」はだいたい錯覚なので、あんまり自分を信用しない方がいい
— 現場の声 (@mizchi) 2017年2月5日
追記: 予想通りブコメが「俺が考えた最強の入門言語」で埋まってるので、初心者は教えたがりなそういう人達に聞きに行ってください
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に追従しようとしてFirefoxがXULを捨てようとする動きが、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を使っている)
実態はChromeCTF + そのメタプロセスと言った感じらしく、その意味ではElectronなどと同じだ。ChromeのUI気に食わないから作り直そうぜというのは、一昔前のIEComponentを思い出させる。
ファウンダの一人に日本人の人がいるからなのか、公式サイト、設定画面などはしっかり日本語している。
そして僕が望む以下の機能がある。
- Vertical Tab
- 1キーショートカット
- QuickSilverライクな検索絞込
こんな感じ
キーボードショートカットのカスタマイズの範囲が大きく、Vimperatorライクな(もっというとVimライクな)使用感に影響するので、これだけでChromeではなくVivaldiを使う価値がある。
ただし、TextareaやInput、タブ側のキーボードショートカットを優先する。GithubやTwitterでは別のイベントが誤爆している。というかQuickCommandのフォーカスもTextareaに取られる。これらはもちろん不満だが、Chrome with Vimium 環境よりマシ、といった程度。
Vivaldi への不満
上のショートカット優先度の問題もあるのだが、他にも、現時点では、日本語IME周りの問題が多い。
- URLバーで検索するために日本語を入力すると、1文字目はAscii前提で補完しようとして、2タップ目の日本語で補完を諦め、「hあ」みたいな入力になる
- kanaコマンドの入力をinput/textareaでキャッチされて、GitHubやFacebookで、編集時は見えない、異常な文字コードの何かが途中で挿入される
- QuickCommandでIMEの補完確定のEnterを拾って検索を実行する。おかげでCtrl-Mの存在を思い出した
- 日本語関係ないけど、何故かQuickCommandからGoogleで検索しようとすると検索が発火しない。仕方なくデフォルトのBingで検索している
- Vivaldi関係ないけど日常的にBingを使わされていると、Bingの検索結果の質の悪さにうんざりさせられる。市場が健全じゃないのでMS頑張ってくれ、もっと。
日本語化はされているが、総じて、IMEを考慮したプログラムが書けるチームではなさそう、という残念感がある。(これらの一部はサポートからメールした。Forumはなぜか新規アカウント作成ができなかった)。この辺、今の僕だったらコード想像つくし、その上で直せるんだけど、OSSではないので、それができない。なんとかしてなおして or なおさせてほしい。噂だとReactらしいし。
第二次ブラウザ戦争を終えて
Chromeが勝ったが、そもそもモバイルの比重で、ウェブブラウザの相対的な比重が薄れてるのが近年の事情。
ChromeもVivaldiも頑張って欲しいし、もちろん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の主流になる可能性は高いと思う。広まって選択肢が増えてほしい。
おすすめ
自分はプログラマだけど、これらを自分で作りたい、という欲求はそこまで感じなかったので、WebVRきたタイミングで少し動かして満足しそう。
最近のフロントエンドの変化とビルドツールについて
界隈の雑な会話です。注意点として、フロントエンドガチ勢寄りの方面なので、一般的な感覚とは乖離してる可能性があります。
基本的には http://www.s-arcana.co.jp/blog/2016/12/12/3438 や kikuchi1201.hateblo.jp を念頭に。
動き早いって言われるフロントエンド界隈、この1年何も進んでないからな
— 現場の声 (@mizchi) 2016年12月14日
今年のフロントエンドの統括、es2016でしょぼかったので皆es2015+ みたいなノリが抜けなかったのと、redux以外のfluxが脱落したのと、angular2+今年も出なかったねというのと、たぶん eslint の採用が増えてそう(肌感)のと、flowの採用が増えたぐらい
— 現場の声 (@mizchi) 2016年12月14日
実際browserify/webpackは先行実装だから将来的に捨てられる的なやつはもはや嘘みたいな記事書こうとしたんだけど、 ES Modules の依存解決経路が今どうなってるのか今後どうなるのか理解してなくて書くとヤバそうなんで勉強してからにします
— 現場の声 (@mizchi) 2016年12月14日
決まってない、という結論にたどり着きます。 https://t.co/hlnov56XL4
— Teppei Sato (@teppeis) 2016年12月14日
HTTP2が魔法のように全て解決してくれるわけではないし
— 現場の声 (@mizchi) 2016年12月14日
レガシーから突然IE11落として時空を超えてes2015以降に飛ぶ場合のガイドは書けるけどそんなやつどれぐらいいるんだ
— 現場の声 (@mizchi) 2016年12月14日
安定化の方向だから界隈に不満をもってた人は安心してね、という方便とは別に、個人的には気が狂ったおもちゃが出てきてくれなくてつまんないんですよ
— 現場の声 (@mizchi) 2016年12月14日
reduxに集約されたのとにかく気に食わなくて自分があのへんのメインストリームに乗れない理由になってる
— 現場の声 (@mizchi) 2016年12月14日
@mizchi ポータビリティとか前方互換を気にする場合は、普通のcommonjs書いてbrowserify/webpackする以外の道はないですね。
— Teppei Sato (@teppeis) 2016年12月14日
@mizchi まあしばらく先なんで、ロックイン上等!未来が来たら書き直すぜ!も全然ありと思うけど。わかってれば
— Teppei Sato (@teppeis) 2016年12月14日
僕が取ろうとしてたスタンス2つあって、いずれいらなくなるから暫し待て or バンドルツールは今後絶対必要でありつづけるよ、で、諦めて後者になりそう
— 現場の声 (@mizchi) 2016年12月14日
理想はバンドルツールない世界だった
— 現場の声 (@mizchi) 2016年12月14日
無限に babel tower積み続けような
— 現場の声 (@mizchi) 2016年12月14日
わかる。フロントエンド界隈の技術、流れが速いように見えているだけで、ここ二年くらいあまり変化がない。
— Takuto Wada (@t_wada) 2016年12月14日
事実上そんなに進まずゆっくりしてたウェッブフロントエンド界隈をどう形容するかで、界隈の要素技術への理解度判定が出来そう
— さね (@saneyuki_s) 2016年12月14日
「今年もWebフロントエンドの流れは速く〜」とか言ってる人が居るとすれば、勉強中もしくは言うほど詳しくない可能性が高い
— さね (@saneyuki_s) 2016年12月14日
おれには最近のフロントエンドと寿司は止まって見えてるぜ
— Teppei Sato (@teppeis) 2016年12月14日
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より
FF15どんなにプレーしてもモンスターまみれの危険な土地に現代文明が栄えているの意味不明だけど現代文明の水準でファンタジーRPGやりたかったんだなということだけ伝わってくる
— 現場の声 (@mizchi) 2016年11月30日
登場人物全員が異常に察しが悪いので、知略担当のイグニスがそれにそって発言するのでイグニスが結果として頭悪い感じにみえる。あるいはバカな周囲に気を使ってるかもしれないんだけど、そういう演技指導があったようには見えないので割りを食ってる
— 現場の声 (@mizchi) 2016年12月1日
今の一番の不満、車の使いづらさとロード時間の長さが相まって最悪なクエスト潰し体験なんだよな。何が何でも車に乗ってくれという開発の強い意志を感じるが死ねと思う
— 現場の声 (@mizchi) 2016年12月1日
プロンプトいいやつなんだけど正直声優の演技がアニメっぽすぎてリアル志向な世界観からめっちゃ浮いてる。柿原徹也、グレンラガンの大人シモンの人か。
— 現場の声 (@mizchi) 2016年12月1日
クソな点がたくさんあっても全体としてクオリティが高いのでなんとなく満足するという不思議な体験
— 現場の声 (@mizchi) 2016年12月1日
あとFF15のダンジョンクリアして巨大なボスと闘う感じはFF14のレイドダンジョンと似た感覚がある。ソロプレーだけど。
— 現場の声 (@mizchi) 2016年12月1日
FF15、たしかにここに女の子混じったらキャンプの度に濃厚な夜這いの雰囲気を感じて気が気ではない人が出そう
— 現場の声 (@mizchi) 2016年12月2日
FF15に微妙にシモネタっぽいのあって、小さい魚を釣り上げると、グラディオ「お前のみたいだな」ノクト「おい」っていうやりとりはある
— 現場の声 (@mizchi) 2016年12月2日
リアルな男子同士だったら普通のやりとりだと思うけど、そういう雰囲気を排除してるかのように見えて残ってるってのは興味深い
— 現場の声 (@mizchi) 2016年12月2日
ファルシのルシスがイオスでパージ
— 現場の声 (@mizchi) December 2, 2016
「ここから先は引き返せません」系のメッセージに嘘が多くて見る度イラッとしてる
— 現場の声 (@mizchi) December 3, 2016
カップヌードルの肉として使うためにベヒーモス狩りにいくの馬鹿らしかったけど、シナリオというか脚本的にこれはやりすぎだというツッコミ入らなかったので最高にもやもやした
— 現場の声 (@mizchi) 2016年12月3日
マジレスするとスクエニが日清と提携してる事情で、ベヒーモスの肉を使ったカップヌードルをマズいと言うと問題になるので(ベヒーモスの肉を使ったことは置いといて)カップヌードルはうめえな!で〆て会社として角がたたないようにしたんじゃないですかね
— 現場の声 (@mizchi) 2016年12月3日
とにかく展開に必然性がなくやりたいシーンに繋げるだけの無為なシナリオなのでまともに取り合うとつかれるんだけど、頭がいい設定のイグニスがマジレスするので本当に呆れて疲れる
— 現場の声 (@mizchi) 2016年12月3日
グラディオが理不尽なキレ方するの、グラディオに問題があるのか脚本に問題があるのか察するのが難しい
— 現場の声 (@mizchi) 2016年12月3日
ローディング画面のテキストで大事なイベント済ますのやめろ
— 現場の声 (@mizchi) 2016年12月3日
ラスボスに言われた「親父が死んだ時に仲間と遊び呆けて」ってのはまったく否定できないな
— 現場の声 (@mizchi) December 3, 2016
オープンワールドの最後の方飽きてたけど、そこに至るまで十分楽しんだし、シナリオはガバガバだったけど、開発が見せたい絵は十分堪能できたので、粗はあるけどいい作品だったと思う。最後までやって放心した作品、ここ数年なかったので、まあ良かったんじゃないでしょうか。文句は色々あるけど
— 現場の声 (@mizchi) 2016年12月3日
放心したけどスクエニ特有の映像美で押し切られた感はあるな
— 現場の声 (@mizchi) December 3, 2016
たぶんテネブラエ〜帝国首都は開発諦めたんだろうなという感じだった
— 現場の声 (@mizchi) December 3, 2016
10年後が石牢スタートなのは物凄くTESリスペクトを感じる
— 現場の声 (@mizchi) 2016年12月3日
EDの余韻に騙されそうになったがシナリオはとにかく雑だったと思う
— 現場の声 (@mizchi) 2016年12月3日
タクティカルなゲームとしてはヌルすぎて話にならんレベルだけど別にユーザーがそれを求めてはいなさそうなのでいいんだろうなぁ
— 現場の声 (@mizchi) 2016年12月3日
アクションとしては単純に気持ちいいけど、回復アイテム使ってりゃ死なないのと無限に回復アイテムが余るので緊張感はないのよな
— 現場の声 (@mizchi) 2016年12月3日
どのゲームと比較しても仲間とのワイワイ感は唯一無二な感じなので、ストーリー絡まない範囲でのキャラ造形は良いと思う。ストーリー絡むと設定がガバガバなのが表にでて何もかも雑になる。
— 現場の声 (@mizchi) 2016年12月3日
FF15のストーリー・設定がガバガバなのは長期間の開発と途中のプロデューサーの変更あたりの影響出てそうで、同じような状況で発売されたFF12と終盤の駆け足な印象が似ている。
— 現場の声 (@mizchi) 2016年12月3日
私信
Twitterでいってたんですが、ちょっと先週は頚椎ヘルニアっぽい症状で病院の救急いったり会社休んだりしてたんですが、今現在首が痛い以外は大丈夫です。というか定期的に薬飲んで首にカラー巻いて生活する以外はとくに支障がなく、ゲームしてしまった…