イェスパー・ユール『ハーフリアル ―虚実のあいだのビデオゲーム』を読んだ

ハーフリアル ―虚実のあいだのビデオゲーム
イェスパー・ユール
ニューゲームズオーダー (2016-09-30)
売り上げランキング: 73,497

half-real - New Games Order, LLC.
(発行元ニューゲームズオーダーのサイトでpdf版も販売中)


素晴らしく面白く、興奮したまま読み終えた。僕はこういう本を長らく待ち望んでいたんだと思う。

half-real』(原著は小文字つづりなんですな)は、デンマーク出身のゲーム研究者イェスパー・ユールの博士論文をもとに2005年に刊行された書籍で、すでにゲーム研究の古典とされる論考。原著から10年を経て刊行された待望の邦訳版がこの『ハーフリアル ―虚実のあいだのビデオゲーム』で、これでようやく僕のような英語の原著を読み下せない人間もこの古典の内容に触れることができるようになったわけだけど、確かにこの本は「ゲームとは何か」「ゲームがコンピュータと出会ってなにが起きたのか」そして「ビデオゲームとはどういうものなのか」といった問いに、10年やそこらでは古びない議論や指摘を与えてくれる。例示されるゲームは『チューチューロケット!』とかでなるほどと思ったりするが、もちろんそういうことは本質とは関係なく、つべこべ言わずに読むべきという本。

訳者の松永さんも巻末で解説している通り、『ハーフリアル』の主張のひとつは先行する「ゲームの定義」に対する議論を整理し、6項目からなる包括的で説得力のある定義を提出しているところだ。この定義はこの本において「古典的ゲームモデル」だとされる。古典的というのはそれより新しいモデルがあるという意味ではない。本書のもうひとつの主張は、いま一般にゲームと呼ばれるものの大部分を指すところのビデオゲームは、この「古典的ゲームモデル」の全部ないし一部が、虚構世界の「実装」として利用され、ゲームモデルと虚構世界とが互いをうながしあうように経験される、新しいかたちの表現形式として発達したものとして考えるべきだというものだ。

僕が興奮したのは、ビデオゲームとは「ゲーム(古典的ゲームモデル)」に虚構世界が付加されただけのものなのではなく、虚構世界の出来事や行為の「現実的な側面」の実装としてゲームモデルが利用されているものなのであり、しかもそれはプレイヤーにとっては逆向きに経験される、つまりプレイヤーは虚構世界の舞台設定やキャラクターの意匠を通じて、そこに埋め込まれたルールを理解するのだという指摘だった。いわばプレイヤーが虚構世界の中にゲームを発見するという構造こそがビデオゲームの本質なのだ。これはこの本の議論からは飛躍した僕の妄想なのかもしれないけど、そのように考えると、僕が昔からビデオゲームのなかに見出そうとしていた感覚を説明できるように思えた。

ほかにもインターフェイスやインタラクションの分野に接続できそうなしびれるような指摘がたくさんあり、ゲーム研究の学術書という狭いカテゴリにどどまらず広く読まれるべき本だと思う。ぜひみんな読んでほしい。もっかいリンクを貼っておきます。


ハーフリアル ―虚実のあいだのビデオゲーム
イェスパー・ユール
ニューゲームズオーダー (2016-09-30)
売り上げランキング: 73,497

half-real - New Games Order, LLC.
(発行元ニューゲームズオーダーのサイトでpdf版も販売中)


About This Game

「行為のシミュレーションとしてのビデオゲーム」の虚構的行為文についての解説を読んで連想したんだけど、ゲームの記事とかリリースに出てくるゲームの説明の奇妙さが好きで、前から集めていた。集めたのを本にしようと思って編集しかけたのが頓挫してたので、せっかくなので公開しとこう。



About This Game』 doppac著


松永伸司『行為のシミュレーションとしてのビデオゲーム』を読んだ


オープンした渋谷MODIのHMV&BOOKSにいったら「音楽が終わる時」が面出しで並んでいたので買ってこないだのレジュメで参照されていた論文「行為のシミュレーションとしてのビデオゲーム」を読んだ(「音楽が終わる時」のほかの文章はまだ読んでない)。

ゲームにおける「虚構的行為文(『プレイヤーはクッパを倒した』『プレイヤーは発電所を建てた』といった)」の奇妙さと主観的な感覚としての正しさを出発点に、プレイヤーが実際にゲームに対して行う行為(ボタンを押すようなこと)と、ゲーム内の虚構世界での行為(クッパを倒すようなこと)とが間違いなく互いに独立していることを確認しつつ、前者の行為が後者の行為のモデル化として了解された「行為のシミュレーション」として成立しているとみなすことにより、「虚構世界のシミュレーション」という表象を持つビデオゲームにおける写実性を表象一般の写実性の議論に接続できることを示す論文だった。おもしろい。

こないだ書いてた野球ゲームのリアリティの話は参考文献にあがっていた松本健太郎「スポーツゲームの組成――それは現実の何を模倣して成立するのか」にもうすでに書いて≠ありそうなので今度はこれ読んでみよう。


奥田栄希『悲しいゲーム展』を観た

Takashi Somemiya Gallery

いわゆるファミコンゲームそのものの意匠やインターフェイスを提供しながら(おそらくフリーの開発環境で実際にファミコンで動作するROMを作成して動作させているのだと思う)、実際にコントローラでプレイしてみると通常のゲームに期待される展開やゴールが提供されずいつまでもプレイがつづき、ひたすら宙吊り感に襲われるという「ゲーム」がいくつか展示されていた。この作品そのものはその状況になるように意図的にプログラムされたものではあるんだけど、ゲームのなかでは成立している奇妙な法則性(画面端に消えたキャラクターは反対側の端から現れるとか)は曲げていないところが重要で(「ゴールゲーム」はちょっと微妙ではあるんだけど)、これら「ゲーム」の「悲しさ」は、「悲しくない」ほうのゲームにも含まれている。ファミコンの頃はROMカセットの接触不良やらバグやらで市販ゲームでも「悲しいゲーム」状態になることがわりとよくあったけど、氏のグリッチの作品と同様に、そうした「正常」なデータやプログラムがわずかな狂いによって普段は隠された深淵を覗かせる感覚が参照されているのだと思う。

だいぶ前ガビンさんがやろうとしてた展示で、「既存のシューティングゲームに見えるんだけど、弾が撃てなくしてある」ゲームがプレイできるゲーム展というのがあって、それなどを思い出した(たぶんこの企画が発展して六本木クロッシング2007の「Laxical Shooter Ver. 0.01」になったんだと思う)。

あと関係ないけどこの展示見た次の日にたまたま3DSの「電波人間のRPG FREE!」をプレイしたら、最近珍しい感じのグリッチ画面になった。3DSのカメラの映像を背景として表示する仕様なんだけど、プレイした3DSのカメラが壊れているのでこうなったみたい。


行為の/物語のシミュレーション

ナラティブを分解する——ビデオゲームの物語論(講演資料)
Gamasutraでの「narrative」の用法 – 9bit

ゲーム研究をされている松永伸司さんが立命館大学での「分析哲学と芸術」研究会にて発表された「ナラティブを分解する——ビデオゲームの物語論」という講演のレジュメが公開されていて、これがとてもおもしろかった。

前半は最近コンピュータゲームを語る際に海外で重視される、という文脈で輸入語的に紹介されややバズワードの状況を呈している「ナラティブ」という言葉が言い当てようとしているゲーム内の要素を分解し、それを既存の物語論の枠組みに接続する試みで、これもおもしろいのだけど、この前半の議論を引き継いで、ゲームならではの体験である「プレイヤーについての物語」を感じさせる要素の説明として提案される「行為のシミュレーション(の写実性)と「物語のシミュレーション(の写実性)」という概念がとくにおもしろくて、この考え方でかねてから考えていたコンピューターゲームの気になる要素がうまく説明できそうだなと思った。

行為のシミュレーションは、ゲームメカニクス(ゲームに対してプレイヤーが可能な側面)とゲーム内で展開するフィクションとの関係において、メカニクス上の行為(ゲームプレイ)が虚構世界上の誰かの行為として「見立てる」ことができることだと説明される。この「見立て」が写実的である、つまりプレイヤーにとってゲームプレイ行為とゲーム内での行為とが一致して感じられることが、コンピュータゲームにおいてプレイヤーの体験の深さを示すことになる。書いてみると当然のことのようにも思えるけど、両者の関係がプレイヤー自身による「見立て」であり、したがってその関係が 事後的 に成立する場合もあると示されているところがポイントだ。行為のシミュレーションは、(オープンワールドゲームのように)プレイヤーがゲームの中で現実と同じようにふるまえることだけを指すわけではない。

たとえばスポーツゲームのいわゆる実況システムというのが以前から気になっていたんだけど、これを行為のシミュレーションとして説明するとこうなる。実況スポーツゲームにおいて、プレイヤーの操作はゲーム内の選手の行動としてゲームに反映されるだけでなく、その行動やそれによる局面の変化が実況されることで、その行為がゲーム内のスポーツ試合(フィクション)における選手の行為としてより写実的に「見立て」られるようになる。あるいはゲーム内の投手の投球に合わせてボタンを押さなかったことも、「◯ ◯(選手名)、ここは見送りました」のようにそれらしいぷ野球選手のふるまいとして実況されることで事後的に行為のシミュレーションとして成立し、プレイヤーの体験を強化する。ゲームメカニクスのこうしたありかたを行為のシミュレーション(の写実性)という用語が説明できるんじゃないだろうか。

そしてもうひとつの「物語のシミュレーション」は、プレイヤーの行為が、ゲーム内の誰かの行為にとどまらず、ゲーム内の虚構世界の出来事のなりゆきに見立てられることだと説明される。これもまた単にプレイヤーがゲーム世界の物語の展開を決められること(物語内容のインタラクティブ性)を指しているわけではない。松永さんのレジュメでもプレイヤーの行為が事後的に物語のシミュレーションとして見立てられる例(『ドラクエⅤ』の結婚イベント)が挙げられているけど、こと物語に関しては自分が選んだことよりも、「自分が選ばなかったこと」や「自分ができなかったこと」によってなりゆきが変わっていくことのほうがリアルに感じられるんじゃないか、ということが僕は前から気になっている。

たとえば「Papers, Please」はそういうゲームだった。「Papers, Please」でプレイヤーがすることといえばどんどんルールの変わる間違い探しのような入国審査であり(これ自体もよくできているんだけど)、一般的には物語を重視したゲームとは言われないと思う。でも「物語のシミュレーション」の観点で、プレイヤーの行為と虚構世界のなりゆきとの一致による体験の深さにおいては、これほどのゲームはなかなかないのではないかな。ものすごくリアルな「後悔」が味わえた。


松永さんの「行為のシミュレーション」については別の論文で詳しく論じられているそうなので読んでみたい。


Japanese Industry Meetupに参加した

W3Cの総会TPAC 2015のプレイベントとして、CSS WGメンバーとおもに日本語のレイアウトに関する話題をディスカッションするというイベント「Japanese Industry Meetup」にちょっとご縁がありBCCKSの人間として参加した。TPACは札幌で開催されるのでJIMも札幌に集まることになり、なぜかこの日だけ異常に寒く初雪の積もる札幌に向かった。

MeetupではCSSの仕様ライターとして有名なfantasaiさんからCSS WGの仕様決定プロセス(W3Cの標準的プロセスに加え、CSS SpapshotなどCSS WG独自のプロセスがあるとのこと)についての説明があり、その後は日本語のテキストレイアウトに関する仕様が今後CSSにどう組み込まれるべきかを日本語ベースで意見を出してWGメンバーに翻訳して質問したり伝えたりできるといいよねという時間が持たれた。W3Cの日本語組版に関する技術資料であるJLREQ(日本語組版処理の要件)でいうとどういう仕様がCSSで標準化する優先度が高いと日本は考えるのかという主語が大きい話題で僕が発言することになったんだけど、そこでは基本版面の行位置を守るための行グリッドの概念がCSSではどうなるのかという話題を出してけっきょくQ&Aの時間はこの話題で終始した。そもそも日本にかぎらず欧文でもページ間の行位置を揃えるVertical rhythmという考え方があり、これに対応したCSS Line Grid Moduleというドラフトがある(石井宏治さんによると7〜8年前?にMSが推進していた頃からあるとのこと)が、CSS WGのエディターのリソース的に手が回らないこと、またブラウザベンダーが実装を進めるような動きもないことから後回しになっている現状があるというのが解答で、欲しいなら(これはW3Cの標準化推進で一般的に言えることだと思うけど)WGに積極的に関わって誰かが仕様を書くように頑張るか、あるいはブラウザベンダーに働きかけてその機能を実装面から推進するよう頑張るか、いずれかの動きがないと優先度は変わらないだろうとのこと(ですよねー)。中国語の組版要件を進めているBobbyさんから中国の組版でも同様の原理はあり、中国ではさらに文字位置のグリッドも守る書式(日本でいうと原稿用紙みたいな)もCharacter Gridとして要件に含めているという話が出たりもして、行グリッド1つとってもあらゆる方面との整合性を保った仕様を書くのはひたすら大変だということはわかった。

あとどうやったらCSS WGに関われるかという話題もあったんだけど、まあ英語でがんばって発言するしかないということと、発言できないとしてもせめてドラフトを読んで議論して日本側の意見をまとめるくらいはしたほうがいいというこれもまあ至極もっともな話があった。たしかにCSSの最新仕様を知るみたいな勉強会じゃなくて、まだ実装されてないドラフトをみんなで読んで足りない仕様がないか議論するみたいな集まりがあるといいだろうなと思った。今回のJIMがそういう今後の動きにつながるのかな? せっかくなのでつなげたほうがいいですね。


IDEプラグイン型の自動テストツール「Wallaby.js」を導入してみた

Wallaby - intelligent test runner for JavaScript, TypeScript, and CoffeeScript

BCCKSの組版エンジンに安定性と大規模な拡張が同時に求められる局面が生じてきたのでちゃんとテストを書いてからいじるようにしようとjsのテストフレームワークやら自動テスト環境やらを調べていたら、Intellij系のIDE(やVisual StudioとAtom)向けのプラグインとして提供され、テストのパス状態や結果がエディタのコード上に完全なかたちで統合されるというツール「Wallaby.js」を見つけたので導入してみた。1ライセンス$100でまあちょっと高いなと思うけど、1日使ってみてこれはテストうんぬんより開発ツールとして非常に便利なので確実に定着するしすでに誰かにオススメしたい感じがしている。

僕が使っているのはIntellij IDE(PhpStorm / Intellij IDEA)なのでIntellij プラグイン版のみの評価になる(Atomプラグイン版もどんな感じなのか気になるけど)。もともとIntellijのIDEには標準でもテストランナープラグインが提供されていて、それを使ってみるつもりでいろいろ調べていたんだけど、ブラウザjsのテストはjsTestDriverを起動してからブラウザを起動しないといけなかったり、いまいち乗りきれない感じがあった。Wallabyはプラグインにヘッドレスブラウザ(PhantomJS)が完全に隠蔽された形で統合されていて、テストフレームワークのインストールと設定(テスト対象のソースとテストソースの定義)をすれば実行過程のことはなにも気にしなくてもテストが実行されるようになる。導入が楽。

テスト結果のエディタ統合も想像した以上の完成度で、テスト側のソースの各行にカラーチップでテストのパス状態が信号のように表示されるのはもちろん、テストするソース側も現在のテストスイートでの各行のカバレッジ状態がやはりカラーチップで表示されるので、テストがぜんぜんないコードにテストを足していく今回のような場合でもモチベーションを上がりやすいし、キーになるロジックのテストを先に書こうといった判断もしやすい。コード修正後の反映パフォーマンスもまったく問題ない(これはまだテストが少ないせいかもしれないけど)。

Wallaby.jsのサイトからアニメgifを引用

さらに体験してみて眼からうろこが落ちたのは、Wallabyの環境だとほんとうに「テスト駆動開発」ができるということ。Wallabyプラグインはテストの状態だけでなく、テスト実行時の各行での出力やエラー内容もインラインで表示される(Chromeのjsデバッガのステップ実行状態とおなじ感じ)。コードにconsole.logを追記すれば即座にそのブロックに関するテストが実行され、出力された変数の値がインラインに表示される。Wallabyの環境でテストが書かれた環境でコードを書くと、まさにテストというエンジンに接続された動いているプログラムを動いたまま触っているような感覚で開発ができる。あまりテストツールをさわったことがないので他のツールでもできることなのかもしれないけど、これは新鮮だった。

なにしろきのう導入したばかりなのでもうちょっと使ってみないとわからない部分もあるけど(テストが増えるとどうなるかとか)、現時点ではWallabyによってコーディングの進めかた自体が変わりそうな気がしている。


プログラマーじゃない人に使ってもらう運用ツールをなにで作るか

今している仕事ではアプリの開発のほかに既存の紙の本の組版データからコンテンツのデータを再構成するような作業があって、xlsxファイルに変換+人力で構造化された本のデータと画像ファイル群からhtmlとsqlite3のdbファイルを作るようなスクリプトを僕がrubyで作ってまわしていたんだけど、スケジュールが逼迫しているため修正後のhtml状態での確認を作業者にしてもらうためにrubyスクリプトを渡して作業してもらうことになった。さいわい作業者のマシンもMacだったのでruby実行環境の心配は必要なかったんだけど、sqlite3のgemはネイティブライブラリなのでビルドのためにXCodeもインストールしてもらう必要があり、しかもそれが判明したのが出先だったのでモバイル回線で3GBとかのXCodeをダウンロードされるのを待たなければならなくなってしまい…みたいな。

こういう事態を考えると、各機種むけのバイナリをクロスコンパイルできるというGoを使えるようにしておくといいのかなとかなり思った。sqlite3とかxlsファイルの読み込みもあるみたい。余裕あるときにたいしたことしてない今回のをGoに移植できるとよさそう(その余裕がないのだけど…)

ちなみにこういう非開発者にインストールして作業してもらう想定の運用ツールって何度かつくったことがあり、一度はこういうときこそTitanium Desktopだろ! と思って乗り出したのだけどけっこう痛い目にあった(gemのpathの問題があって開発時は動いても別環境では動かないとか… Titanium Desktopってもうプロダクト継続してないのかな?)。別の機会のときにはOpenOfficeでシートに所定の項目を埋めてスクリプトを実行するとhtmlが生成されるみたいなツールで渡したこともあった。これは環境がつくってもらいやすいというメリットを期待したんだけど、それでもけっこう苦労した記憶がある(どういう問題だったのか忘れてしまった)。いまだとGoogle Spreadsheetのスクリプトだともうちょっとよさそう。


帰省の新幹線を食玩でやりすごす

夫婦とも実家が関東から遠いので、列車での帰省は5時間超コースになり車内での子供の退屈しのぎがかなり大変なのだけど、食玩というか、箱入りのじぶんで作るお菓子キットの類を持ち込んで子供に作らせるとけっこう長い時間楽しんでもらえるので旅の必需品になっている。狭くてやや揺れる車内で作るのは粉とかの扱いに慎重になるので逆に集中していいのかもしれない。

持っていくのは「たのしいケーキやさん」「つくろうおべんとう」「おえかきグミランド」あたりが多い。「たのしいおすしやさん」もつくったことあるけど車内ではちょっとむずかしすぎかも。焼き菓子とかレンジが必要な食玩は車内だと作れないので水だけでできるものを選ぶ。水はペットボトルのを買っておいてそれを使う(忘れたときはお茶とかでごまかしたり)。

ポッピンクッキン たのしいケーキやさん
クラシエフーズ
売り上げランキング: 99,850
つくろうおべんとう 5個入 BOX (食玩・知育)
クラシエフーズ (2011-08-22)
売り上げランキング: 6,268
おえかきグミランド 10個入 BOX (食玩・知育)
クラシエフーズ (2012-08-20)
売り上げランキング: 4,429

ちなみに車内で子供をぐっすり寝かせるというアプローチもあって、新幹線に乗る直前まで品川プリンスのプールで遊ぶというのを試したこともあった。品川プリンスのプールは安くはないけどおむつが取れてなくても入れたり映画チケットつきのビジターチケットがあったりしてなかなかいい


グロナビ

愚痴ぽいやつ。

Webは経験あるけどアプリは初めてですというディレクターとアプリのUIを決めていると、彼らがいわゆるグロナビ(全ての画面に共通で存在して好きなタイミングで主要機能にアクセスできるグローバルナビゲーション)をヘッダとかフッタに置きたがることがよくある。そういうのもできるけどアプリのナビゲーションの原則から外れるからデメリットが大きいしUIに矛盾も生じやすい、アプリの開発上この部分が決まらないと(進行がウォーターフォールだったりするので)手戻りが発生して工期的なリスクが高いからアプリの標準的なUIに寄せてほしいと伝えて納得の上で決めてもらい、開発に入ってしばらく猛烈にコーディングを進めたあと仕様書を見るとグロナビが元に戻っている、みたいな。

いろいろ原因はあるだろうけど、結局同じツール(excelで画面遷移図とワイヤーフレームをつくるみたいな)で設計するのが(特に経験ないときに)よくないのかな。どれだけ時間なくても数時間もらってペーパープロトで触ってもらうフェーズを設けるほうがよさそう。