sside.net

これ作った人たちはWebで攻略見てプレイしてほしいの?それとも違うの?

OCTOPATH TRAVELER、4章終了後最終ボスまで終えた。

Switch Exclusiveなサードパーティ大作というより、あの素晴らしかったブレイブリーデフォルトの浅野智也プロデューサーの新作ということで胸を躍らせてプレイしたのだけど、正直最初は完全に肩透かしを喰ったというか、ブレイブリーデフォルトで見せた強烈なナラティブ要素をプレイ前から期待しすぎてしまっていた。

いざプレイしてみると「冗長で退屈なカットシーンだな」「HD2Dと称してるけど、Unreal Engineの水面やレンズフレアエフェクトと、平面に張り付けたドット絵テクスチャの喰い合わせが悪くないか」「戦闘やレベルの切り替わりで発生するエフェクトも、ましてやローディングも長くないか」「レベルデザインの仕掛けが余りにもワンパターンすぎやしないか」と、色々とノれない。あるいは全キャラクター押し並べてメインストーリー1章が退屈なせいで他の要素までノれないのか。荒というほどではないけれど最初の10時間は退屈しか感じていなかった。

売りの「8人のキャラクターがそれぞれ持っているスキルで街中のキャラクターにインタラクトできる」ってシステムも、パーティ編成に縛りを加えられるだけで面倒という気持ちしかなかった。自分の組みたい殺戮スキルのチームアップと、フィールドで使えるスキルがどうやってもマッチしない。

結果、良いところが戦闘中の派手な音と画のエフェクト、手応えのあるバランス調整、敵キャラクターのアートくらいしかないゲームだなと思っていた。この辺の印象がガラッと変わり始めたのが全キャラクターの1賞を終えた後。基本的にゲームを買うときは初報かトレイラーを見た時点で「買う」と決めているので、前情報は全然入れない質なので全く知らなかったのだけど、このゲームにはジョブシステムがあった。

各キャラクターのメインストーリー2章を進める前に世界中を周ってジョブ集めに勤しみ、理想のフィールドスキルと殺戮スキルの両立を目指す。その間に微々たるものながら上がったレベルで無理やりに後半の街に突入して強い装備を買う。パーティーのビルドをやり始めた途端、最初の10時間のシステム的なフラストレーションが反転して、退屈な10時間に復讐するゲームプレイが生まれた。

ジョブのアンロックを求め始めてから、ようやく本作の特徴たる「ストーリーに縛られずに好きな場所を訪れていく」ゲームプレイが始まり、それと同時に本作の豊饒さ、丁寧さが際立つようになっていった。

ゲームプレイ前半、中盤、後半でそれぞれ異なる戦闘BGMや、ロケーションに合った素晴らしい音楽たち。レベル不足のままゲーム後半部分のロケーションに足を踏み入れる緊張感、それでいて適正レベルでも締まった体験を齎すバランス調整の妙。地域ごとにキャラクターの立ったロケーション、地域を跨いだサブクエストの推理。相変わらずメインストーリーは絶望的だったけれど、ボス戦の実にクールなドット絵も含め、兎にも角にもこんなに丁寧な造りのゲームはなかなかない。

結局、2章は全然進めないままに下位ジョブを全て集めてから、上位ジョブ取得のレベル上げを兼ねてメインストーリーを進めるといったプレイのまま、一気呵成に全キャラクターのメインストーリーが終わった。いや、一気呵成はあくまで体験上の比喩で、50時間くらい掛かったけれど、まああっという間だった。

ここで綺麗にゲームが終わっていれば、割と手放しでこのエントリーも「良いゲームでした。お前らもやれ」で締めていたのだけれど、全キャラクターのメインストーリー終了後のラスボス、アレはないだろう…。

当初は未クリアのサブクエストを進めていけば、最終的にラスボスが出てくるんだろうくらいの気分で消化していたのだけれど、クリア後15時間くらいかけて、9割方のサブクエストを終わらせてもラスボスのラの字も見えねえ…。最終的にググりました。で、このゲーム、9割以上のサブクエストが街の中に集約されてるのに。最後、だけ、条件を、満たした、状態で、のみ、唐突に、フィールド上に、出てくる、クエスト、なんて、見つかるはずねえだろ!

いや、ラスボス戦はこれまで冷や飯を食わせてた8人中の4人を強制戦闘参加させたりする上、ちょっとエグい感じに強い調整になっており、FF5のオメガ/神龍戦を彷彿させる、JRPGの戦闘部分の面白さはありましたが、本当にクエスト見つけるまでの仕掛けには頭に来ている。

「今時の人はゲームプレイするにもWebで攻略見るでしょ」みたいな考えなのかもしれないけれど、基本的にあまり情報入れずに(いや、別にネタバレに怒るタイプでもないんですが)遊ぶスタイルなので。ましてやWebで情報流通することを前提にしたオンラインゲームじゃないんだし、かつてのシュタインズゲートもそうだけど、ラストだけ唐突に藪に隠すような真似は本当にやめてほしいと切に願いつつ。

まあこんなこと言ってますけど、それ以外の個所においては節々に気持ちと丁寧さの入った素晴らしいゲームなので、丁度Switchも携帯機なことですし、是非皆さまも遊ばれると良いかと思います。

Safari Content-Blocking Rules Reference 日本語訳

この文書について

これはdeveloper.apple.com内にあるSafari Content-Blocking Rules Referenceを日本語に翻訳したものです。原文著作者の許諾は受けていません。権利者からの申し出があった場合、この文書は削除などの対応を行うことがあります。

翻訳にあたって、原文は尊重しますが完全な翻訳を保証するものではありません。誤読、誤訳があることを理解してください。

Introduction to Safari Content-Blocking Rules (はじめに、Safariでのコンテントブロッキングルールについて)

コンテントブロッカーApp拡張は、SafariとSafari Viewコントローラにおける、コンテンツの取り扱いをカスタマイズします。拡張はSafariのリクエストから要素の不可視化、読み込みのブロック、Cookieの除去を行うことが出来ます。あなたのApp拡張で、どのようにSafariがコンテンツを操作するか、コンテントブロッキングルールを与えます。

コンテントブロッキングルールは、実際にブロッキングを行う際、拡張が提供するコードは事前に構造化フォーマットに変換されます。WebKitはルールセットを実行時効率を考慮したバイトコードに変換し、ページリクエストが生成されて実行される前のレイテンシ低減を行います。Safariは希望しないコンテントへのリクエストを行いません。不要なダウンロードを回避することで、Safariはメモリ消費を低減し、パフォーマンスを改善します。

macOS、iOS上のSafariではコンテントブロッキングルールのフォーマットは同一で、これはJSONオブジェクトの配列です。全てのルールはtrigger辞書とaction辞書を含みます。triggerは何に対してルールを適用するか、actionはマッチした対象があればSafariが何を行うかを指定します。

コンテントブロッキングルール作成は、まずWeb Inspectorを使ってWebページ上のリソースを調べます。ブロックしたい要素を見つけたら、続いてターゲットの要素のみにマッチするtriggerを作成し、actionで振る舞いを指定します。

あなたのApp拡張へのルール追加を容易にするために、Xcodeではcontent blockerテンプレートを提供します。XcodeでのApp拡張についてのドキュメントはApp Extension Programming Guideを参照してください。

Note: iOS版SafariへのコンテントブロッキングApp拡張は64bitデバイスへのみ提供可能です。

コンテントブロッキングについてより多くの情報が必要なら、WWDC 2015のSafari Extensibility: Content Blocking and Shared Linksセッションを視聴してください。

Creating Safari Content-Blocking Rules (Safariコンテントブロッキングルールの作成)

Safariコンテントブロッキングルールをリスト1で示しています。ルール辞書の最上層オブジェクトが配列になっていることが見て取れます。全てのルール辞書はtrigger辞書とaction辞書を含んでいます。

リスト1. コンテントブロッキングルールの配列

[
    {
        "trigger": {
            ...
        },
        "action": {
            ...
        }
    },
    {
        "trigger": {
            ...
        },
        "action": {
            ...
        }
    }
]

Creating a Trigger Dictionary (trigger辞書の作成)

trigger辞書には必ず、URLに対するマッチングを指定する uri-filter キーを含む必要があります。それ以外のキーはtriggerの動作を変更するオプションです。例を挙げると、特定のドメインでのみ動作させる、または特定のドメインでは動作を制限するなどです。

リスト2では画像とスタイルシートのリソースを対象にして、特定のドメインを除外したtriggerを示します。

リスト2. 画像とスタイルシートを対象にしたトリガ

"trigger": {
        "url-filter": ".*",
        "resource-type": ["image", "style-sheet"],
        "unless-domain": ["your-content-server.com", "trusted-content-server.com"]
}

使用可能なtriggerフィールドを以下に記します。

url-filter

このキーは文字列型に関連付けされています。このキーはtrigger辞書における唯一の必須項目です。値の文字列を使い、URLに対してマッチングを行います。マッチングは完全なURL、またはURL内に対するパターンに対して行います。

url-filterの文字列はJavaScriptの正規表現に対して厳密なサブセットを用います。正規表現のリストは表1に示します。JavaScriptの正規表現はパーサにおいてはサブセットに制限しています。サポートされない表現はパースエラーとなります。

表1. JavaScriptの正規表現でサポートしている機能

Syntax Description
.* ドットを含む任意の文字が0回以上登場する文字列とマッチします。このシンタックスを使うと全てのURLにマッチします。
. 任意の文字とマッチします。
\. 明示的にドット文字とマッチします。
[a-b] 指定した範囲のアルファベット文字とマッチします。
(abc) 指定した文字列グループとマッチします。
+ 直前の文字の1階以上の繰り返しにマッチします。
* 直前の文字の0回以上の繰り返しにマッチします。
? 直前の文字の0回、または1回の繰り返しにマッチします。

url-filter-is-case-sensitive

このキーはboolean型に関連付けされています。デフォルト値はfalseです。

if-domain または unless-domain

このキーは文字列型の配列に関連付けされています。文字列はURL内のドメイン名とマッチングを行います。if-domainフィールドはactionの処理をリスト内のドメインに制限します。unless-domainフィールドは、リスト内のドメインを除外します。特定のtrigger辞書はif-domainunless-domainの両方を含めることは出来ません。ドメイン名は小文字のASCII文字で指定する必要があります。non-ASCIIな文字はpunycodeでエンコードします。

[ * ]文字をドメイン名の前に指定することで、任意のサブドメインとドメイン名双方にマッチさせることが出来ます。例を挙げると、*.webkit.orgを指定した場合、bugs.webkit.orgwebkit.org双方にマッチします。

resource-type

このキーは文字列型の配列に関連付けされ、マッチさせたいリソースタイプを表します。指定しない場合は、全てのリソースタイプとマッチングを行います。この文字列はブラウザの解釈するリソースに対して指定され、必ずしもリソースの種類と一致するするわけではありません。例を挙げると、<img src="something.css">はimageと識別されます。resource-typeに指定できる値は以下になります。

  • document
  • image
  • style-sheet
  • script
  • font
  • raw (Any untyped load, such as XMLHttpRequest)
  • svg-document
  • media
  • popup

load-type

このキーは文字列型の配列に関連付けられています。指定できる2つの値のうち、どちらかしか指定できません。指定しない場合は、全てのload typesにマッチします。

  • first-party

このルールは表示中のページと同じスキーム、同じドメイン、同じポートのリソースに対してのみ働きます。

  • third-party

このルールは表示中のページと異なるドメインのリソースに対して働きます。

if-top-url or unless-top-url

このキーは文字列型の配列に関連付けられています。指定した文字列は表示中のURLとマッチングを行います。if-top-urlフィールドはURLパターンのリストでactionを行うURLの制限を行います。unless-top-urlはURLパターンのリストにマッチしないページをactionの対象にします。1つのtriggerにはif-top-urlunless-top-urlを同時に含めることは出来ません。URLの文字列は小文字のASCII文字で指定する必要があります。非ASCII文字はpunycodeでエンコードします。

Creating an Action Dictionary (action辞書の作成)

triggerがリソースに対してマッチしたとき、ブラウザは関連付けられたactionの実行をキューします。全てのtriggerが評価された後、順番にactionが実行されます。triggerがマッチしたとき、既にtriggerされたルールと同じ結果を齎すactionはスキップされます。これは、パフォーマンス上の要請からフィルタ作成者に対し、同じactionのフィルタはルールのグループ化を促すものです。例を挙げると、最初のルールがコンテントの読み込み、後続のルールがcookieのブロックである場合、等々、actionが異なればtriggerの評価は継続して行われます。

actionにおいては、2つのフィールドのみ定義されています。typeselectorです。type actionは必須です。もしtypecss-display-noneの場合selectorも必要です。それ以外ではselectorはオプショナルです。

actionフィールドのリストは以下になります。

type

typeフィールドは必須のフィールドです。以下のactionから一つ選択します。

  • block

ブラウザのエンジンに読み込みをブロックするリソース種別を伝えます。もしリソースがキャッシュ済みの場合、キャッシュの読み込みも無視します。

  • block-cookies

サーバへのリクエストを行う前に、ブラウザエンジンによりヘッダから全てのcookieを除きます。これはSafari自体のプライバシーポリシーより低順位に置かれ、プライバシーポリシーでブロックできるものを容認しないためのものです。このためblock-cookiesignore-previous-rulesを組み合わせたものは、プライバシーポリシーを上書きしません。

  • css-display-none

ページ上のCSSセレクタによって、要素を非表示にします。2つ目のactionフィールドselectorは非表示にする要素のリストを含みます。selectorにマッチした要素はdisplayプロパティnoneに設定され、非表示化されます。

  • ignore-previous-rules

直前にtriggerされたactionを機能しなくします。

  • make-https

httpでサーバにリクエストするURLをhttpsに書き換えます。明示的にポート指定(httpのデフォルトポート80以外)されたものと、http以外のプロトコルが指定されたリンクに対しては機能しません。

selector

セレクタのリストを定義する文字列です。この値はcss-display-none actionでのみ必須です。actionのtypeがcss-display-noneでない場合、selectorフィールドは無視されます。カンマ区切りで、独立したCSSセレクタを記述できます。Safari、WebKitでサポートされる全てのセレクタは、Safariコンテントブロッキングルールでもサポートされます。以下の表3で示すような、W3C Selectors Level 4 draftで定義された合体セレクタも、またサポートしています。

リスト3. 合体セレクタ(complex selectors)を用いて要素を非表示化する

"action": {
        "type": "css-display-none",
        "selector": "#newsletter, :matches(.main-page, .article) .news-overlay"
}

翻訳に際して & 最後に

個人的に必要なのでやりました。iOSなSafariのコンテンツブロッカのフォーマットと機能を把握したかった。ので個人的に翻訳して一通り訳し終わったらこのBlogにでも上げるかと思い、8割方終えた段階で平然と2か月以上放置していたのですが、明日就職の面接に行く際に「お前の英語レベルはどれくらいだ」というのがあり、元々「頑張ればドキュメントが読めるくらい(ドロップダウンリストに頑張ればというのはない)」とpaizaのプロファイルにも記載していたのに…というのはありましたが、いい機会なので残り2割を訳してここに置いておきます。

あと、当然誤訳がないとは1%も言う気はないので、誤訳を見つけた親切な人はTwitterあたりで教えてください。未許諾なので勝手に直します。

Windowsでハイバネーション後、キーリピート間隔が初期設定に戻る問題について

ノートPCを持ち歩くとき、そんなに頻繁に開けたり閉めたりしないので、スリープの代わりにハイバネーションを使ってるんですが、これ復帰時にコントロールパネル > キーボードから設定してたキーリピート設定が、OSのデフォルトに置き換わるのな…。

症状自体は確かThinkPad X301でVista使ってた頃から存在してたし、その頃は「まあ仕方ねえか」で諦めてたんですが、Windows 10のこのご時世になっても全く直ってねえのには閉口する。

どうやって対処するんだよと軽く調べたら、世間では大体こんな感じの模様。

  • OSのキーリピートデフォルト値のレジストリを書き換える [HKEY_CURRENT_USER\Control Panel\Keyboard]
  • OSのアクセシビリティ設定でキーリピート間隔を設定する [HKEY_CURRENT_USER\Control Panel\Accessibility\Keyboard Response]
  • キーボード設定を更新してくれるユーティリティを常駐させる

んで、レジストリ書き換えてもいいんだけど、本来違う目的のアクセシビリティ設定変更するのもなんか抵抗あるなー、と思ったので別の方法調べてたら、Windowsには昔からmodeなるコマンドが存在しており、キーリピート間隔も普通にそこから設定できる模様。

mode con rate=32 delay=0

で、コントロールパネルのキーボード設定でリピートレートとリピート待ち時間を最速にしたのと同じ設定になる、というか設定できる段階数もキーボード設定と一致してる。実行後キーボード設定を開くと、値も書き換わってるので、実質的に同じ設定のCUI版っすね。

多分同じことで困ってる人もいるだろうから、ハイバネーション復帰時に実行させる場合は、上記に@echo off追加したうえで拡張子.batにして保存、タスクスケジューラで新規タスクを作成して以下の設定に。

  • 全般
    • ユーザーがログインしているときのみ実行
    • 表示しない(これ設定してもプロンプト出た気がするが、あんまり気にしてない)
  • トリガー
    • ワークステーション アンロック時
    • 特定のユーザ: 自分のアカウント
    • 停止するまでの時間: 30分(別に設定してもしなくてもいい)
  • 操作
    • プログラムの開始
    • プログラム/スクリプト
      • 保存した.batファイル
    • 開始
      • .batファイルの保存先のパスを指定しておく(不要かも知れないけど、ないと動かなかった)
  • 条件
    • 電源接続時のみ実行する類のオプションは外す
  • 設定
    • 既存のインスタンスの停止(別に設定しなくてもいい)

こんな感じでタスクを登録して、手動で設定して問題が起きなければ(実行結果はタスクスケジューラの表示のリフレッシュが必要)、実際にハイバネーションして適切にキーリピート間隔が設定されてるか確認したら終わり。

レジストリも弄らず、ノンプログラミングでできる対処法があるのに、何故か軽く検索しても日本語で紹介してる向きが見当たらなかったので、とりあえずエントリーに。にしても、同じ問題で困ってるケースってそんなにねえのかなあ。ハイバネーションが使われてないか、そもそもキーリピート間隔の設定とかそうそう弄られてないのか。

ノートPCを持ち歩く毎日

通勤時間が苦痛かつ、無為に思えて仕方ない最近。もう鈍行に乗ってでもせめて意味のある時間をとノートPC(Thinkpad X1 Yoga 2017。感想は使い込んだら書く)を買った。毎日、昼の休憩時間や帰りの鈍行電車でNetflix Appでダウンロードした陰気なドキュメンタリーを見たり、TypeScriptの書き方を調べたりしている。

ノートPCを持ち歩くのはかなり久しぶりで、そもそも持ち歩けるノートPC自体を購入するのが7年位ぶり。ノートPCの括りならSurface Bookがあったのだけど、アレを鞄に入れて満員電車に乗る勇気はおれにはなかった。

で、7年ぶりにノートPCを外で毎日使ってみると、7年前と全然違う。あの頃も外でノートPC使うときは携帯からテザリングしてインターネットには繋げていたし、ファイル同期もWindows Live Meshがあったので、今使っているWindows 10のOneDriveとさして変わりはない(というかOneDriveの前身がLive Mesh)。

勿論、ノートPCのメモリ容量だったり、ディスプレイの表示品質、解像度、インターネットへの通信速度など、Webブラウザの性能など、線形に改善している要素は確かに効いてます。ただ、それ以上に7年の間に世の中クラウド前提に変わってるんだなと。

ファイルを同期して、外での作業をシームレスに家のデスクトップで継続するロールモデルは7年前にもあったし、事実可能だったにもかかわらず、実際の体験として連続性が全然違う。かつては携帯とノートをUSBケーブル繋いでテザリングさせるか、家に帰ってからスリープ復帰させて同期スタートを待つ感じだったのが、今ではとりあえず無線LANで携帯とテザリングしておけば勝手に家のデスクトップにファイルは同期されてるし、オンラインサービスの利用状況もサービス側で保持しておいてくれる。家のマシンで作業を継続しようとしたら、そのまま作業を続けるか、精々更新されたファイルのリロードを行うかのプロンプトが出る程度。シームレスの質が全く異なる。

今挙げた事柄は、以前から出来たことなのは繰り返し述べていますが、iOSやAndroidの携帯電話が普及して、求められる作業継続性の質が明確に底上げされ、デバイス、場所を選ばず、どのサービス、ソフトウェアでも作業の続きができる、というのは本当に気持ちが良い。

ノートPC買うときは、毎回「これで外でもXXX(ゲームでもblog書きでもTwitterでもコード書きでも好きな奴を入れてください)が出来るぞ!」と思うんだけど、実際には「ファイル同期するのにノートPCのスリープ復帰させるの面倒だな」「ローカルに置いておいた必要なファイル、デスクトップにも持っていくの面倒だな」とかの理由で段々面倒になり、リビング用のごろ寝操作PCになり下がるのが毎回の流れだったのだけど、今回はちょっと継続して持ち歩くようになるかも、と思った。というかノートPCを持ち歩く合理性が生じる時代にようやくなったのではないでしょうか。

私的Game of the Year: 2017

2017年も終わりに近づいたので、今年やったゲームと良かったゲームの話を。

2017年以前に発売されたゲームを今年遊んだケースもありますが、今年発売されて今年プレイしたゲームのみ対象にしています。

今年プレイした今年発売されたゲーム

  • Gravity Daze 2 (PlayStation 4)
  • Giga Wrecher (PC)
  • Horizon Zero Dawn (PlayStation 4)
  • ゼルダの伝説 Breath of the Wild (Nintendo Switch)
  • NieR: Automata (PC)
  • Horizon Zero Dawn (PlayStation 4)
  • ARMS (Nintendo Switch)
  • Tom Clancy’s Ghost Recon: Wildlands (PlayStation 4)
  • What Remains of Edith Finch (PC)
  • Danger Zone (PC)
  • Nex Machina (PC)
  • Splatoon 2 (Nintendo Switch)
  • ドラゴンクエスト11 過ぎ去りし時を求めて (PlayStation 4)
  • Destiny 2 (PlayStation 4)
  • スーパーマリオオデッセイ (Nintendo Switch)
  • Middle Earth: Shadow of War (PC)
  • Need for Speed: Payback (PC)
  • DeathComing (PC)
  • Hearthstone: Jorney to Un’Goro (PC, Mobile)

素晴らしかったゲームたち

ゼルダの伝説 Breath of the Wild

ビデオゲームにとんでもない革命を齎した超傑作。普段”名作”って言葉は使わないようにしてるんですが、間違いのない、紛れもしない名作。

正直、パラセール手に入れるまでの序盤をプレイしてる間は「こんな風に押しつけがましいゲームが続くのか…?」と思っていたけれど、雪山で松明を使った温度管理を”自らの手で”発見した瞬間に「このゲーム全体に作用する法則がオープンワールド全体においてゲームプレイ体験としてデザインされるのであれば、とんでもないゲームなのではないか…?」と思わされ、始まりの大地をパラセールで飛び降りた5分後、それが全く間違いでないことを知って、本作が間違いなくゲーム史に残る名作なのだと確信を得た瞬間に「ビデオゲームを好きで、追いかけてきて本当に良かった」と、脳汁が出た。

全編に亘って緊張感のあるテンポのコントロール、(クリアを躊躇った勢は全員ゲームバランスの破壊に至るが)プレイヤーが自ら破壊せしめようとしない限り、手ごたえを持って応えてくれるバランス調整、そして何よりも周囲を360度見渡せば、常に興味を引くものどこかにある、オープンワールドゲーム史上類を見ないレベルデザイン。

装備のマネジメントに頭を悩ませ、唐突に脅してくる雷に金属装備を外す、遠方に見える敵をどう攻略するか物陰から伺う、崖を飛び降りて窮地を脱する、なんてことはない現象が適度なテンポで訪れて、そのすべてが楽しいなんて異常としか言いようがない。

インベントリの管理や、ゲーム進行の過剰な遅さ、または過剰な速さなんて弱点こそあれど、唯一無二のゲーム体験を押しつけがましくなく、プレイヤーの意思で掘り進めて行こうと思わされるゲームというのは、紛れもなくビデオゲームのあるべき姿。本作が最高の作品であるということは最近ビデオゲームの怠慢であると同時に、本作が生まれた結果ビデオゲームは間違いなく一歩上のステップに達したと言い張れる作品。

空恐ろしいのは今年最高といっていいナラティブ表現。エンディングは本当に震えた。エンディングのゼルダ姫のセリフも、ラストに映る姫しずかも、本作を相応に探索したプレイヤーにしか通じない表現。本作をどうプレイしてほしかったのかを伝えるとともに、ここまでプレイヤーを信じられるという自信の表れでもあるし、何よりも本作が為そうとした「プレイヤーが自らの意思で冒険、探索する」ことをこれ以上なく表現し、またこれまでのプレイに完全に報いてくれるシークエンスだった。

本作が最も空気読めてないのは、今年の賞レースとビデオゲームのイノベーション、ひいては2017年のビデオゲームを3月頭で終わらせたことですね。2017年を楽しみにする、というビデオゲーム趣味を早々に否定したことは、たとえSwitchのローンチがあったとしても本当に最悪の行為です。

NieR: Automata

同日(2017/3/3)発売がまさかの名作Breath of the Wildだったせいで500%くらい割を食った傑作。

皆2か月くらいゼルダやってたせいで当初は「廃墟ゲー」「尻が見える」みたいな文脈でしか語られず、それでプレイするわけねえだろという気分でした。実際にプレイしてみると想像以上どころか、今年を代表できる作品の一つだと言い切れる出来。

正直低予算作品(ただし国内作品の中ではビッグバジェットではある)的なポジションで、ゲームデザインやレベルデザインも使いまわしを前提にした周回プレイを前提に作られていたり、ストーリーも冷静に俯瞰すれば陳腐というか出来の悪い和アニメかよという感じだし、Windows版は発売から9か月経った2017年末の現在でもフルスクリーン化すら出来ない(予算の都合でパッチが出せない、有り難い有志MODを入れないとプレイすらままならない)有様ではあります。

ただ、本作にはそんな冷静な見方を正面から打ち破る表現の力があります。ジャスト回避のスローモーションの瞬間、砂漠に立った瞬間のBGM、ビジュアルノベルやSTGから借用したストーリー表現。前述の悪い事柄というのはたかがスレた見方で、表現で大事なものは表現そのものなのだという力強さ。

正直ベヨネッタやMetal Gear Rising Revengencetといったプラチナゲームズ作品の文脈はバリバリ強く感じはしますが、作り慣れた余裕が生んだ洗練というものも新規性や革新性と同じく貴ばれるべきなのだと体に理解させに来る作品です。

Gravity Daze 2

前作はコリジョンの引っ掛かりやレベルデザインの分かりにくさ、ストレスフルな収集要素(全部集めたと思ったらゲーム後半で収集物が追加される無体よ)、長いシーンロード、ダサいカットシーン、消化不良どころじゃない未完ストーリー、バランスの悪い能力ごとの強さ等々、色んな部分がアレでしたが「空を飛ぶ」体験においては最高に新しく、最高に気持ち良い作品だった。

さて、2になって前作の弱点は改善されたのか?というと、修正を試みながらも以前不満が残る出来。

能力周りは前作で無価値だった重力スローが異常に強くされたけれど今度は重力スローが強すぎ。カットシーンは前作と比べて格好良いカメラと演出が施されたが、相変わらずゲームプレイから分離していて冷めた気分に。シーンロードの長さはVita版と比べて若干良くなった気はすれど、相変わらずストレスフル。コリジョンは改善されたけれど相変わらず引っかかる。ストーリーは完結編を銘打っているので前作の消化不良感は減ったけれど、最終章がGravity Dazeのプレイ感じゃない…。

が、レベルデザインの改善は最高の一語。Gravity Dazeの「飛ぶ」「落ちる」「空に落ちる」が改善されたボス戦やイベントの演出と相まって前作以上に画になる、凄いことをしていると思わせてくれる改作の仕上がり。

本作の追加要素たるフォトモードが重要な役割を果たしているのは、単にシェアしてくれとかおれのようなフォトモード好きが喜ぶだけではなく、キャラクター同士の存在感や生活感、有形無形のやり取りや、もっと言えば最大の登場人物である町をもっと身近に感じさせようとする仕組みだろうし、最大限に機能してます。

もうGravity Dazeが出ないことは悲しいけれど、次も他にないゲームプレイを齎してくれる作品を楽しみに待ってます。

Hearthstone: Knights of the Frozen Throne

Hearthstone史上最もゲームプレイを刷新してくれた拡張。

兎に角デカいminionや強烈な効果のspellがバンバン出てきた上に、新要素のhero強化!なのにhero間のバランスは保った脅威の調整。それでいて旧拡張カードやclassicの存在感も失っていないので、現役プレイヤーは新環境に熱狂できるし、出戻り勢も振り落とされずに「こんなに変わったのか!」と驚愕できる。古いゲームデザインと新しいゲームデザイン、バランス調整が綺麗に機能した易々と真似できないどころか、たぶんBlizzard以外どこも作れない、ホットなデジタルTCG。

ですが、同時に今回の拡張がHearthstoneの終わりの始まるという感じも。いい加減カネを払わない客にBlizzardも愛想が尽きたのか、拡張パック > アドベンチャー > 拡張パックのリリースペースを、全て拡張パックに集約した上、legendaryカードを大量に増やした結果、古参ヘビープレイヤーもカードリソースが不足する事態に相成っています。

まあカードパックを現金で買えばいいだろうという話ではなく、現金投資でカードパックを購入しようが、以前としてカードが足りない状態が解消できないのはマジでヤバい感じです。これが続くとプレイヤーが離れてもおかしくないというか、次のKobolds and Catacombsでおれは心が折れました…。

What Remains of Edith Finch

もうblogに起こしてたのでそっちを参照してください。 : 間接的に行われる積極的な自殺 – What Remains of Edith Finch

補足として、何かを物語る手段としてビデオゲームなるメディアを使うという意味では、さよならを教えてに近い感想ではあります。さよならを教えては所謂ビジュアルノベル、アドベンチャーゲームとしてのエロゲーフォーマットで、スクリプトエンジンの枠内で行える表現を極めた作品でした。

残念だったゲーム

Middle Earth: Shadow of War

前作Shadow of Mordorは本当に楽しめたんですよ。景気よく首がバンバン飛ぶBatman Arkham Trilogyフォロワーとして。作品固有のアビリティや演出も良かった。Nemesis Systemもゲームを単調にしないのに役に立っていたけれど、まあ世間で評価されるほど素晴らしい仕組みか?というのはありました。そもそも殺しまくってるOrcの名前なんていちいち覚えてねえし。

で、続編のShadow of Warですが、前作から色々良くなってるんですよ。以下に挙げると

  • 単調になりがちだった小隊長の殺し方は、固有の弱点をリサーチして環境やアビリティを積極的に利用させるようになった。
  • 圧倒的な物量の投入。Orcの個性や砦の様変わりでプレイヤーごとに本当に個別の体験をさせるのは見事。
  • 装備の強化システム。線形的に強くなっていく前作と比べ、Orcの弱点や自身の戦略に合わせて敢えて低レベルな武器を使ったりと割と考えさせてくる。
  • Nemesis Systemの強化。プレイヤーとOrcや、OrcとOrc間の関係性が強化されている。
  • Orcのアクションが増えて個性豊かな殺し方をされる。

と、良くなった部分はちゃんと良くなりました。が、Nemesis Systemが前作で評価されすぎたのか、それとも続編としてNemesis Systemをもっと前面に出していくべきだと判断したのか、もしかしたら映画The Lord of the Ringsに繋げるために物語面はあまり盛れないなと判断したのか。兎にも角にもNemesis System一本鎗でゲームを進めようとするには無理があった。

その代償が余りにも単調な60時間超、全4章の体験でした。そもそもアビリティのアンロックが異常に遅く、そろそろ色々出来るようになってゲームのエンジンが温まってきたか、と感じるまで20時間掛かりますざっと第1章 – 第2章中盤くらいです。その後、前作譲りのテンション高いゲームプレイや物語の盛り上がりを遺憾なく楽しませてくれるのが第2章中盤 – 第3章のラストまでの20時間。そして最悪なのが第4章。

第4章「Shadow War」ですが、ストーリーは一切物語られることなく、延々と砦の取り合いが20時間超続きます。「何かが起こる」という体験を全てNemesis Systemに押し付けた強烈な意欲作ではあるんですが、やることといえばそれまでのキャンペーンの取り逃しの回収と、砦の防衛だけ。たまに突発的なNemesis Systemらしい事柄が起こるだけの体験を20時間繰り返すだけになります。「関係性に基づく動的なストーリーの発生」といえば聞こえは良いです。が、おれみたいに想像力の欠けた人間からすれば、特定のゲーム内状況に基づいたスクリプトベースのイベント発生でしかないので…。

前作が良かっただけに、本当に残念な作品でした。

Splatoon 2

前作の膠着気味というか、有利な膠着状態を作るのが勝ち筋だった基本的なゲームプレイを刷新しようとしたのは、続編としてやるべきことだったのは分かります。

マップの閲覧を制限したり、サイドや裏を取りやすくなったりしたのは、前作からの改善点としてやらなければならなかったことなんでしょう。

ただ、その結果として勝つために求められるものが、余りにもガチな方向に寄りすぎたんじゃねえのとは思います。ソロでフラッとプレイして気持ちよく終えられる程度のヌルさがなくなりました。マッチ結果が荒い、荒れるという意味ではCoDのKill Streakが批判されて弱体化を辿った歴史を思い出します。

ぶっちぎりで酷かったゲーム

ドラゴンクエスト11 過ぎ去りし時を求めて

最低の90時間だった。PS4版です。

  • 異常な量と回数のカットシーン
    • 20分に一回ゲームプレイが分断される
  • リニアで同じことを延々繰り返すゲームプレイ
    • 街 -> カットシーン -> 移動 -> カットシーン -> ダンジョン -> カットシーン -> ボス戦 -> カットシーン -> 街
    • 恐ろしいことに全編がこのループだけで進む
  • ボイスなし
    • 20時間近いカットシーン全編、3行しかないダイアログで延々メッセージを読まされる
  • 無数の透明壁
    • 最初の街で「屋根の上にも登れるよ」と教えてくるの、最悪という言葉でも足りない
      • 実際はほぼすべてのオブジェクトの一定より上の部分、登れそうだったりショートカット出来そうだったりする高低差全てに透明壁がセットされている
      • おそらくは3DS版と行ける範囲を同じくしようとしてるんだろうけど、そんな都合PS4版のプレイヤーが知るわけねえだろ
        • 3DS版とエンカウント周りとか別物にしてるのに、なんでそこをプアな方に合わせるんだよ
  • 2017年のUnreal Engine 4タイトルとは思えないグラフィックスクオリティ
    • 「今世代機ではこのような表現がリアルタイムで行えます」と謳われたフィーチャーが沢山!
      • Screen Space Reflection
      • Ambient Occulusion
      • Global Illumination
    • 総じて使い方が下品
      • The Divisionより下品
    • というか環境デザインが酷い
    • フィーチャーを紹介するために大抵ギラギラツヤツヤピカピカな感じになる、エンジンのDemoのがよっぽど上品
  • 雑な戦闘周り調整
    • 敵に1-2発殴られたら死ぬ調整
      • 味方側のbuff、debuffが無意味
        • 何も考えずに毎ターン殴りと回復を繰り返す

総じて「一本道で」「やることは大したことのない使い」「ゲームプレイを阻害するカットシーンを延々と見せられる」PS1 – PS2時代のJRPGが批判された要素の集合体です。

「好みは人それぞれだから、他人がそれを容れることを否定するな」とは世によくある言葉ですが、ドラクエの冠かぶせるだけでこれが大絶賛されて、ましてやこれのフォロワーが出てきたりしたら、また日本のビデオゲームが後退するじゃねえかという気持ちです。別にドラクエだけが旧態依然としたJRPGってわけじゃあないけれど、もう「龍退治はもう飽きた」から25年以上経っているというのに。

一応悪いところばかり論って、良いところの話をしないのもどうかと思うので最後に挙げておきます。

マジスロは絶対に遊技機の人がデザインしただろう、絶妙な塩梅の演出、テンポ、そして出玉感。ボーナスの払い出しが少なくて、そっから自力システムで伸ばせみたいなのは5.5号機的だけど、放出の仕組みは4号機ライクという、スロット好きなら面白さを感じさせる良い仕事でした。でもゲーム本編と殆ど関係ないんだよな…。

そして何よりも敵のモデリングとアニメーションは本当に凄い。鳥山デザインの納得感ある立体化のみならず「アングルによって2D時代のドラクエ的に見せる(戦闘モードをフリー移動から切り替えると分かる)」という離れ業まで見せたのは、唯一無二の仕事です。何故こんな作品で、ここまでの仕事が為されてしまったのか。

今年一番良かったゲーム

どれが良かったか挙げるなら、多分に漏れずゼルダ1択です。

2017年のビデオゲームというのは本当に不幸な年で、ゼルダが出た3月時点で「2017年のビデオゲームの進歩はこれ以上ねえな」と思わせたことで、残りの9か月が消化試合の気分に。事実ゼルダ以上のタイトルは出てこなかったし、下手したら来年も出てこないでしょう。

「いや別に2017年とか区切って、勝手に3月から暗澹とする必要ねえだろ」と思われるかもしれませんし、尤もです。が、割と信仰みたいな感じでビデオゲームの進歩に心惹かれているので、何というか年の後半は「まあとりあえずプレイしとくか」ってな気分になるのは、ちょっとテンション下がってました。

ゼルダは最高だけど、あの中毒性も含めて最悪の代物だと思います。期待と夢を膨らませていた2017年を返してくれ。