バグとフラグの話

Jan 30, 2017

雑記

おととい、大岩雄典さんの卒業作品展示にお呼びいただいて、バグとフラグを美術にからめるトークをしてきました。内容はそのうち書き起こしがアップされるようです。

追記(2017.03.12) アップされました。トークイベント「バグる美術」

トークや質疑やそのあとの雑談でちゃんと考えないとなということがいくつかあったので*、ちょっとメモしておきます。

バグと意図

トーク内でも一貫していたのだが、バグは、少なくとも第一義的には、正常なもの(本来あるべきもの)と実際に出てくるものとのくいちがいを含意する概念だろう*。正常さはたいてい作り手の意図によって決まる。作り手が意図したものが正常なものであり、意図しなかったものは異常なものだ。そういうわけで、バグはたいてい作り手の意図と実際に出来上がったもののくいちがい(つまり失敗)を含意する*

とはいえ、これだと「意図したバグ」とか「作り手の意図とは関係なく、なんかバグっぽい」みたいなのを説明できない。これを処理するひとつの方法は、派生的な意味での「バグ」(あるいは「バグらしさ」)を第一義的な「バグ」から区別したうえで、それを意図や正常さから独立に定義することだ。バグらしいものの集合を、たとえば視覚的特徴や挙動の点から定義すればよい。

ここでバグらしさの定義に使われる特徴は、本来のバグが典型的に持っている特徴になるだろう。たとえば、バグは(独特の視覚的特徴としての)グリッチをしばしば引き起こす。それゆえ、グリッチ的な画面は(それが実際にバグであろうがなかろうが)バグらしさを持つ。このバグらしさは、バグの典型がある程度確立してはじめて成り立つ。逆に、バグの典型がある程度確立すれば、バグらしさは意図や正常さとは独立に同定できるだろう。

トークでは「バグの尊さ」「意図の臭み」という話をした。天然のバグは尊く、なんらかの価値を感じる。一方、意図的に作った人工的なバグは臭みがあって、なんらかの価値が減っているように感じる(この価値を「アウラ」と呼んだのはミスリーディングだった。たぶん「奇跡」とかのほうがよい)。

この天然と人工の区別は「バグ/バグらしさ」の区別を使って説明できる。天然のバグとは、バグかつバグらしいもの(あるいはバグらしさが成立する以前のバグ)であり、人工のバグとは、非バグかつバグらしいものだ。

フラグと関連性

フラグの定義はわりと単純だと思っていた。たとえば、特定の変数aの値がtrueであることが特定のイベントe1が起きる必要条件*である場合に、aの値がtrueになることを「(e1に対する)フラグが立つ」という。フラグの本来の機能は、単純にイベントの進行と順序を作り手がコントロールできるようにすることだ(だから物語に使われる)。分岐を作る機能はそれに付随するもので、たとえばaの値がfalseであることが特定のイベントe2が起きる必要条件である場合には、aは分岐(e1かe2かの排他的な進行)を管理する変数になる。こういう理解だった。

しかし、フラグの特徴は、フラグを立てるイベントとそれによって可能になるイベントの間にフィクション上の関連性がない(因果的な説明がつかない)というところにあるのではないかという話を聞いて、そうかもという気になった。たしかに、村人に話しかけることと村が襲われることとの間にフィクション上の関連性はない(一見ないとかいうレベルではなくふつうにない)。そして、ゲームにおけるフラグの多くはそういうものだ。

「フラグ」がゲーム以外の文脈で使われる場合は、このニュアンスはより顕著かもしれない。たとえば、戦後に結婚することの意思表示が戦死のフラグになるという場合、その二つの出来事の間にはなんの因果的なつながりもない(因果以外の何かしらの筋の統一性はあると言えるかもしれないが)。

これもバグのときと同じように、第一義的な「フラグ」とは別に派生的な意味での「フラグらしさ」を導入することで説明できるかもしれない。つまり、フラグとそれによって起こるイベントはつねにプログラム上は関連しているわけだが、それにフィクションの関連性がくっついてこないのがいかにもフラグらしいフラグというわけだ。そして、ゲーム以外の文脈(そもそもフラグも何もない文脈)では、フラグらしさの成分だけが取り出されて「フラグ」と呼ばれる。

とはいえ、そうだとすると、なぜ関連性がないのがフラグらしいのか、つまりフラグの典型なのか。フラグは本来的にイベント間の関連づけではないのか。この問題は興味深い。ひとつの考えられる説明は以下のとおり。

ゲームのプレイヤーは、多くの場合、フィクションからプログラム(ゲームメカニクス)のあり方を類比的に推測する*。つまり、フィクション上のもの同士に合理的なつながりがあれば、それらに対応するゲームメカニクス上のもの同士にもつながりがあるだろうと推測する。これがうまくいっている間は、フィクションから独立なものとしてのフラグの存在は意識されない傾向にある(意識する必要がないため)。一方、フィクションからは直接推測できないようなフラグの場合(つまりフィクション上関連のないものがゲームメカニクス上つながっている場合)、フラグがそれ自体として前景化してくる傾向にある(フィクションとは独立に同定する必要があるため)。結果として、「フラグ」という語が典型的に適用されるケースは、フィクション上の関連性がないものになる。こういうことかもしれない。

その他感想

トークでは、本来の意味でのバグやフラグから離れて、いろいろなもの(主に芸術)にバグ概念やフラグ概念をあてはめる話をした。分析仕事人としては概念を類比的に拡張するのは得意でもないし望むところでもないが、ある種の発見法としては十分役立つので、たまには思考触発系の話もいいかなと思った。

Footnotes

  • Thanks to 大岩雄典さん、谷口暁彦さん、pubkugyoさん。

  • くいちがいの評価(たとえば悪い方向にくいちがう)やくいちがいの原因(たとえばプログラムミスの結果くいちがう)やくいちがいの仕方(たとえばエラーを吐いて止まるのではなく、微妙に正常じゃない仕方で動き続ける)についての含意もあるだろうが、それはここでは問題にしない。

  • この「意図」が作り手の実際の意図なのかどうかというおなじみの論点については以下を参照。個人的にはHIの立場をとる。

  • 追記(2017.02.01)。細かくいうとたぶん「e1が起こるための必要条件」ではなく、「e1が起こるための必要条件であり、かつe1が起きうることの十分条件」だと思う。また、e1に別の経路からも到達できる場合には、フラグの状態は複数の変数の値の選言になる。

  • 以下の類比的推論のところを参照。