二次元コード脱出ゲームを私が作るとしたら
目次
はじめに
二次元コードを使って脱出ゲームを作ることはよくあるそうで、子どもおぢばがえりでも、最近はそのようなアトラクションがあったと聞きます。
ここでは主に教区・大教会規模~支部・教会レベルにおいて使える二次元コード脱出ゲームを作る話をします。
いま私はとあるローカルな天理教の組織でWebを利用した二次元コード脱出ゲームの開発を行っています。そんな私が作るとしたらこういうのを作りたいという案をここで提示したいと思います。
ただここの私のアイディアは私の私見であり、システムが完成するか、また完成したとしても一般に提供することは予定していませんのでご了承ください。一般に提供したくないのは現在、ほかの開発でかなり多忙であり、自分たちが使う間に合わせのシステムで精いっぱいだからです。
混雑の防止・ネタバレの防止
教区・大教会規模となると教務支庁や大教会が会場になることが多いと思います。比較的大きな会場に大人数が参加する少年会行事になるのではないでしょうか。
そして子どもたちはネタバレが大好きです。QRコードの脱出ゲームでも同じルートをたどらせると、施設の一か所に大勢が集まったり、ネタバレが発生したりして行事が運営しにくくなります。なので何らかの工夫が必要であると私は考えています。
マルチスタート・マルチエンディングは可能
まだシステムは完成していませんが、会場に配置する二次元コードは同じでも、複数のスタート地点に分散し、複数の最終ゴール地点を設定することは可能です。
こうすることで混雑とネタバレを防止しながら、行事を進めていくことが可能になります。
過去に読んだ二次元コードを記憶することで実現
こうした機能は、二次元コードスキャナを搭載したWebアプリを作成し、そのスキャナで読み込んだ二次元コードを記録していくことにより実現します。あらかじめどの二次元コードを読み込んでいくのかという情報と正しくスキャンされたときに表示される画像を設定しておき、最初に読み込ませる二次元コードだけ異なるものを渡すのです。
スタート地点に関しては最悪、異なる複数の二次元コードを班ごとに渡せば解決でしょう。同一の二次元コードを読み込んだ段階でシナリオを分岐させることも可能ですが、ランダムになるでしょうし、どの班をどのルートに誘導するのか制御が少々難しくなるからです。
同じ二次元コードを再利用できる
この方法だと同じ二次元コードを読み込んでも、過去に読み込んだ二次元コードと経路情報により、違うものを表示させることが可能です。つまり会場に設置する二次元コードをそれほど大量に用意しなくても、経路情報を設定するだけで使いまわしができるのです。
こうした方法だと、同じ二次元コードを複数読み込ませて参加者を悩ませることが可能です。「あれ? さっきも同じコードを読み込んだぞ。間違いじゃないのか?」と。
Webとバックエンドを作成することで実現可能
ではどうやって実現するかというとWebに二次元コードスキャナを搭載する方法が手っ取り早いと思います。幸い、ZXingなどライブラリは豊富ですし、比較的簡単に利用することができます。
経路情報に関してはエディタを自作すると大変なので、Excelにフォーマットに則った形式で経路情報と表示画像のファイル名を入力していき、CSV形式などでサーバーに直接埋め込むのが早いと思います。少々難しいですが、私の頭の声は、これならできるとささやいています。
データの保存とセッションの維持を担うバックエンドの実装はどの言語でもよいですが、Firebase Cloud FunctionsでJavascriptもしくはTypescriptで制作するのでしたら、フロントエンドと同じ言語を使うことができて楽でしょう。
ただしフロントエンドとバックエンドの両方ができるプログラマーは今の時代、仕事で忙しいかもしれません。
認証は同一ユーザーでアクセスされていることが保証されているのであれば、パスワード認証やGoogleによる認証も必要がないかもしれません。初回アクセス時にIDを発行してしまえば、機密情報でもありませんので、WebのLocalStorageに保存して利用してもよいかもしれません。
悪用されたとしてもサーバーの負荷だけ注意すれば、内々で使用する分には問題はほぼないかと思います。
ただし、ヒントとして表示する画像に関しては著作権等に違反しないように素材の選定には注意してください。
おわりに
完成して使用しましたらどんな感じで行事が運営されたかなど、ここにアップしていきたいと思います。それで使えそうだという確信が持てたら、個々の開催したいという事例に関して相談を受け付けてもよいと考えています。
これからもぼちぼち開発していきます。お読みくださりありがとうございました。
コメント