チューリング不完全

What are you afraid of? All you have to do is try.

インフラエンジニアがプレイするべきゲーム「Papers, Please」

プレイしたゲームがあまりにも自分の仕事内容を思い起こさせるものだったのでご紹介します。
(実はゲームをプレイしてこういう記事を書こうかな、と思ってから1年位経ってる)


今回ご紹介するのは「Papers, Please」というゲームで、Steamで980円で購入することができます。(ただし年に数回あるセールのときは80%OFFとかで買えるので、そっちを狙うのがオススメ)

2015/02/03 追記

iPadでもプレイできるらしい。


Steamにあるゲーム紹介の文章を以下に貼ります。

おめでとう。
10月度勤労抽選により貴方を入国審査官に命ずる。
即座配属のため、至急グレスティン国境検問所の入国管理省に赴くように。
貴方とその家族には、東グレスティンの8等級の住居が割り当てられる。
アルストツカに栄光あれ。


ここは、共産主義国アルストツカ。隣国コレチアとの6年間の戦争がついに終わり、国境の町グレスティンの半分を正当に取り戻し、晴れて国交を再開することに。あなたの仕事は入国審査官としてアルストツカへの入国者を審査することです。仕事を探している移民や観光客の中に潜む密輸業者、スパイ、テロリストたちを見極める必要があります。入国希望者のパスポートをはじめとする数々の書類をもとに、入国を認めるか、拒否するかを判断しなければなりません。

説明文にある通り、このゲームでは国境に来る人が提出してくる書類を見て、全てが正しいかどうかを判定するわけです。
これをIT業界ではフローチャートと言います。
端的に言ってしまえば、人間フローチャートをするゲームなのです。


以下では、ゲームの中でどのようなことをやらされるのかを見て行きたいと思います。

ゲームの流れ

ゲームは1日単位で区切られており、日の始まりにルールが通達されます。
1日のうちに何人の人間をチェックしたかで給料が決まります(歩合制)。ただし、書類に不備がある人の入国を認めてしまう、また逆に不備がないのに拒否してしまった場合は当然ペナルティとなります。
この基本ルールに加えて、入国希望者とのいろいろなやりとりによるストーリーがあってそれが面白いのですが、そういう要素については全部割愛。

1日目

[規則]

  • 入国者はパスポートが必須
  • 入国はアルストツカ国民のみ

1日目はチュートリアルですから、提出されたパスポートがアルストツカのものであるかどうかだけを確認すればOKです。

2日目

[規則]

  • 入国者はパスポートが必須
  • 全ての書類は期限内でなければならない


1日目の「アルストツカ国民のみ」という制限が外れ、正規パスポートを所持していれば外国民でも通れるようになりました。
さて、パスポートには顔写真、氏名、生年月日、性別、パスポート発行地域、有効期限、パスポート番号、と情報満載です。これらを分解すると以下の様な確認事項があります。

[確認項目]

  • 顔写真が本人か
  • 性別が正しいか
  • パスポート発行地域が正しいか
  • 有効期限内であるか

3日目

[規則]

  • 入国者はパスポートが必須
  • 全ての書類は期限内でなければならない
  • 外国人は入国券が必須


2日目のルールに「入国券」が加わりました。
入国券には有効期日のみが書いてあります。このぐらいのルール追加ならまだまだ余裕ですね。

[確認項目]

  • 顔写真が本人か
  • 性別が正しいか
  • パスポート発行地域が正しいか
  • 有効期限内であるか
  • 外国人(アルストツカ人以外)は入国券を持っているか
  • 入国券の有効日が正しいか

4日目

[規則]

  • 入国者はパスポートが必須
  • 全ての書類は期限内でなければならない
  • アルストツカ国民はIDカード必携
  • 外国人は入国許可証が必須



さて、ここで登場する「IDカード」と「入国許可証」が確認項目を一気に増やすことになります。
特にIDカードに記載されている身長/体重はよく見逃してしまう危険項目です。(身長は人物後ろの高さの線、体重は画面下部に表示されている)
また、入国希望者に対する質問との照合も必要になります。

[確認項目]

  • 共通
    • パスポートの顔写真が本人か
    • パスポートの性別が正しいか
    • パスポート発行地域が正しいか
    • パスポートが有効期限内であるか
  • アルストツカ人
    • IDカードに記載された地区がアルストツカの行政区画として正しいか
    • IDカードの顔写真が本人か
    • パスポートとIDカードに記載された生年月日が一致しているか
    • IDカードの身長が正しいか
    • IDカードの体重が正しいか
  • 外国人
    • 入国許可証の印が正しいか
    • パスポートと入国許可証に記載された氏名が一致しているか
    • パスポートと入国許可証に記載されたパスポート番号が一致しているか
    • 入国許可証に記載された入国目的と発言した入国目的が一致しているか
    • 入国許可証に記載された滞在期間と発言した滞在期間が一致しているか
    • 入国許可証の入国期限が期限内か

と、このように毎日ルールがどんどん増えていきます。
アルストツカは他国と戦争状態にあり情勢が不安定ですから、日々刻々とやることが変わってしまうわけです。
また、例えばテロが起こったりするとそのような人物を入国させてはいけないということになりますから、書類とか確認項目が山盛りになっていってしまいます。

それでは一気に飛んで、15日目の確認項目を見てみましょう。

15日目

[規則]

  • 入国者はパスポートが必須
  • 全ての書類は期限内でなければならない
  • アルストツカ国民はIDカード必携
  • 外国人は入国許可証が必須
  • 労働者は労働許可証が必須
  • 武器、密輸品を持ち込ませるな
  • 外交官は特権証明が必須
  • 外国人は身分証明補足書が必須




書類が目に見えて増えているのがお分かりいただけると思います。
規則に加えて指名手配犯の顔写真リストが渡されており、それも確認しなければいけません。
さらに、不正を見つけたらそれを指摘してつっこみを入れる必要があるのですが、つっこみを入れると入国希望者の指紋を採取します。その際、指紋データとの照合も必要になります。
では、分解してみましょう。

[確認項目]

  • 共通
    • パスポートの顔写真が本人か
    • パスポートの性別が正しいか
    • パスポート発行地域が正しいか
    • パスポートが有効期限内であるか
    • 指名手配犯の顔写真リストに含まれていないか
  • アルストツカ人
    • IDカードに記載された地区がアルストツカの行政区画として正しいか
    • IDカードの顔写真が本人か
    • パスポートとIDカードに記載された生年月日が一致しているか
    • IDカードの身長が正しいか
    • IDカードの体重が正しいか
  • 外国人
    • 入国許可証の印が正しいか
    • パスポートと入国許可証に記載された氏名が一致しているか
    • パスポートと入国許可証に記載されたパスポート番号が一致しているか
    • 入国許可証に記載された入国目的と発言した入国目的が一致しているか
    • 入国許可証に記載された滞在期間と発言した滞在期間が一致しているか
    • 入国許可証の入国期限が期限内か
    • 身分証明補足書の身長が正しいか
    • 身分証明補足書の体重が正しいか
    • 身分証明補足書の特徴が矛盾していないか (例えば「視力良好」なのにメガネをしている、など)
    • 身分証明補足書の期日が期限内か
  • 外交目的の入国の場合
    • 外交特権証明書の印が正しいか
    • パスポートと外交特権証明書に記載された氏名が一致しているか
    • パスポートと外交特権証明書に記載されたパスポート番号が一致しているか
    • 外交特権証明書に記載された入国許可リストにアルストツカが含まれているか
  • 指紋を採取した場合
    • 入管省ID記録の氏名(もしくは別名)とパスポートの氏名が一致しているか
    • 入管省ID記録の指紋と採取した指紋が一致しているか

これでもまだ書き出しきれてないはずです。やばさが伝わるでしょうか。
この段階に来ると、日が変わって新たな条件が与えられた時点で「アッ、もう無理」と悟ってしまいます。


(既にだいぶネタバレを書いてしまっていますが、)ゲームの紹介はこのぐらいにしておきます。

なぜこのゲームをインフラエンジニアに薦めるのか?

このゲームは「人は必ず間違いを犯す」ということを実にわかりやすく痛感させてくれるからです。
システムの構築、設定の変更、障害時の対処・・・運用で起こる様々なイベント、あなたの会社では自動化されているでしょうか。それともWordやExcelWikiなどで管理された手順書を元に人が行なっているでしょうか。
全てが自動化されており、ルーチンワークなどないという環境にある方はおめでとうございます。しかしそうでない環境で働いている人がまだまだ大半だと思います。
できればエンジニアの人達には常に「これを手作業でやるのは無駄だから自動化を検討しよう」という意識でいて欲しいのですが、中にはフローチャート通りに間違いなくこなすことに非常に長けている人というのがいます。
もしフローチャートに沿った手順をこなすのを得意としていて「自分は間違ったことがない、だから大丈夫」だと思っているエンジニアがいたら、一刻も早くこのゲームをプレイしてください。そして早くミスをしてください。
別にフローチャートが得意でなくても、運用事故を起こしたことがない人にはおすすめします。他人からいくら言われても、やはり自分で実際に体感しなければわかりませんからね。


ゲーム内でどんどん事故を起こして、仕事では事故を起こさない仕組みづくりを心がけたいものです。