ソフトウェアの品質を学びまくる

ソフトウェアの品質、ソフトウェアテストなどについて学んだことを記録するブログです。

QAエンジニアならきっと学びのある『地雷グリコ』を読んでほしい

突然ですが、わたしはギャンブル物のマンガが大好きです。ギャンブルは弱いんですけどね。
そんなギャンブル物のマンガ、フィクションは、大きく2つに分かれます。

1つは、主人公が強敵たちと戦いながら強くなっていくもの。
運要素もあるのですが、経験や精神力を駆使して戦うものです。ある意味、スポーツ物やバトル物に似ています。 既存ギャンブルを下敷きにしていることが多く、たとえば麻雀の『天』『アカギ』『凍牌』がそんな感じです。直感、情熱、精神力が武器。
ギャンブルを題材に、ストーリーを重視していることが多いので、「ストーリー型」と呼んでおきましょう。

もう1つは、指定されたルールの範囲内で頭脳戦を繰り広げるもの。
そのルールにおいていかに相手を出し抜き、うまく立ち回るかが勝負になってきます。作者の考えたオリジナルゲームが出てくることが多く、ある意味ゲームが主人公とも言えるでしょう。『ライアーゲーム』『トモダチゲーム』『ギャンブルフィッシュ』『賭ケグルイ』なんかはこ地川といえそうです。論理、冷静、心理戦が武器。
こちらは「論理型」と呼びましょう。

もちろんこの「ストーリー型」「論理型」という雑なくくりはグラデーションであって、「どちらか」ではなく「どっちに近いか」という性質のものです。
またそもそもこのくくりに収まらない作品もあるでしょう。たとえば『嘘喰い』は、ギャンブルの頭脳戦と暴力バトルを組み合わせたものでした。

天-天和通りの快男児 1

天-天和通りの快男児 1

Amazon

「論理型」の傑作・『地雷グリコ』

『地雷グリコ』(青崎有吾・著)は、まごうことなき「論理型」の大傑作です。

5つの短編集が合わさって1つの作品になっており、それぞれの短編にオリジナルゲームが出てきます。そのゲーム達の素晴らしいところは、「誰でも知っているゲーム+オリジナル要素」という作りになっている点です。

書名にも入っている「グリコ」とは、そう、「ジャンケンで勝った方が、グリコ・チョコレート・パイナップルと言いながら階段を上っていく」、あの「グリコ」なのです。
ここに、「プレイヤーがそれぞれ、3つの段を選んで”地雷”を設置し、相手プレイヤーはそれを踏むと10段下がる」というルールを追加しています。
さあ、たったこれだけで、一体何が起こるというのでしょう?

グリコは、これは子供の遊び。それゆえにルールはきわめてシンプル。そこに独自ルールを一匙混ぜることで、いきなり増す深み。たまりません。
『カイジ』の「限定ジャンケン」の衝撃を思わせます。
ジャンケンという世界中の子どもが知っているゲームに、「手を使える回数が限られ、かつ時間内にその回数を使い切る必要がある」というシンプルに見えるルールを加えただけで、想像もつかない世界を描き出しました。これってまさに、「既存のものを組み合わせて新しいものを生み出す」イノベーションでは?

賭博黙示録 カイジ 1

賭博黙示録 カイジ 1

Amazon

『地雷グリコ』は、そのイノベーションを5つ生み出しています。
出てくる「元ゲーム」は以下の5つ。

  • グリコ
  • 神経衰弱
  • ジャンケン
  • だるまさんがころんだ
  • ポーカー*1

この手のって、タイトルになっている表題作だけが面白くて、後は「無理やり作ったな~」感が出がちなのですが、『地雷グリコ』は全部面白いんですよね・・。
そしてこの手のって、ギャンブルは面白いけど、文章や描写がへたくそ過ぎて・・というガッカリケースがあるのですが、文章も描写も上手で、読みやすいんですよね・・。また一人称を都度切り替える手法も、ギャンブル物フィクションとかなり相性がいいんだなと感心しました。

「論理型」ギャンブルフィクションは、何らかの言及がそのままネタバレになってしまいそうでなかなか紹介しづらいのですが、「誰でも知っているゲームをちょっと拡張して深いゲームにし、そこで緻密な頭脳戦を繰り広げる傑作」ということで、すごくオススメです。

論理型ギャンブルとQAエンジニアは相性がいいのか

さて、ではなぜ、『地雷グリコ』がQAエンジニアにオススメなのか。

論理型ギャンブルでは、「自然言語で」「ある程度複雑な」ルールが提示されます。プレイヤーはそのルールを深く理解し、ルールに隠された意図や曖昧さを見抜き、ゲームにおいて何が起こり得るかを吟味して戦略に組み入れます

ソフトウェアテスト*2では、これも「自然言語で」「ある程度(時には過剰に)複雑な」仕様が提示されます。QAエンジニアはこの仕様を十全に理解し、設計者の意図を把握して曖昧さを排除しながらも、実際のユーザやその環境において何が起こり得るかを検討してテスト設計に組み入れます

この「抽象的な記述から、ありうるケースを列挙して具体的に記述する」「特にレアかもしれないけれど、起こり得るケースを見逃さない」というところが、両者ですごく似ていると思うんですよね。

両者の対比を表にしてみましょう。ついでに、「詐欺」列も入れておきます。こうやってみると、QAエンジニアは詐欺向きなのかもしれません(突然の暴言)。

項目 論理型ギャンブル プロダクト開発 詐欺
熟考する対象 ルール 仕様 法律
立てる作戦 戦略の検討 テストケースの作成 詐欺シナリオの作成
行うこと ルールの穴を見つけて武器し、相手に勝つ 仕様上起こり得る可能性を見つけてテストする 法律の穴を見つけて相手を騙し、金を儲ける
心理 相手の思考を読み、誘導する ユーザが自然に思考するであろうことを想定する 相手の思考を読み、誘導する
バトルする主体 プレイヤー vs プレイヤー QAエンジニア vs プロダクトの可能性やユーザの多様性 詐欺師 vs 被害者

QAエンジニアの思考の習慣として、たとえばこんなものがあると思います。

  1. 数字の範囲を見たら、上限と下限を確認しろ
  2. 見慣れない用語を見たら、定義を確認しろ
  3. 条件を見たら、MECE性*3を確認しろ
  4. 「ただし」で始まるような補足、例外的なルールほど深く掘れ
  5. 開発者視点ではなく、ユーザがどのように考えるかを考えろ*4

論理型ギャンブルでも、これをそっくりの思考過程が起こります。
たとえば『天』(福本伸行・著)に「クリア麻雀」という戦いがあるのですが、まさにこれに類する驚きの結末が待っていました。脚注にネタバレを書いておきます*5

『地雷グリコ』はまさに、起こるうること、起こせることを徹底的に吟味し、それを実際に起こすことで戦いを進めていきます。
読めば、わたしが無理やり2つを結び付けているわけではないとわかっていただけるでしょう。

天-天和通りの快男児 1

天-天和通りの快男児 1

Amazon

おわりに

論理型ギャンブルのフィクションって、本当に面白いですよね。最近は、『ジャンケットバンク』をお勧めしています。

*1:ポーカーだけある意味「本格ギャンブル」ですが、手がかなり簡略化され、シンプルにされています。

*2:レビューでも同じことをします。

*3:「Mutually Exclusive and Collectively Exhaustive」、モレなくダブリなく。

*4:ソフトウェアテストでは、「心理戦」「裏をかく」は起こりませんが、「ユーザはどう考えるだろうか」「どのように振る舞うだろうか」という想定しますよね。その意味でも似ていると感じます。

*5:クリア麻雀の勝利条件は、以下の2つのいずれかを満たすことでした。➀指定された5つの役をすべて完成させること ②相手陣営のプレイヤーの持ち点を0点未満にすること。ですがこの➀と②は、排他ではありません。主人公が5つ目の役を完成させ上がった(➀を満足)時の点数が高すぎて味方の持ち点を大きく減らしてしまった(相手が②を満足)ため、勝利条件と敗北条件を同時に満たすというイレギュラーが起きました。一見排他に見える条件が同時に起こる可能性の考慮は重要です。