「QRコードバトラー」の登場が待たれる
今回は非接触ICカードを使ったけれど、時流に乗るなら「QRコードバトラー」も楽しそうだ。調べてみると、スマホアプリは出ているみたいだけど、ゲーム機まで自作した人はまだいないようである。……作るか。
その昔、バーコードを読み込ませて戦う「バーコードバトラー」というゲーム機が大流行となった。
あれを今風にアレンジするとしたら、バーコードの代わりに何を読み込ませるといいだろう。「非接触ICカード」なんてどうだろうか。
そんなわけで、非接触ICカードで戦う「バーコードバトラー」風のゲーム機を即興で作ってみた。
いまから30年近く前のこと、「バーコードバトラー」というゲーム機が大ブームとなった。バーコードを読み込ませると、それに応じてプレイヤーのステータス(生命力・攻撃力・守備力)が決まるのだ。強いバーコードを見つけたい一心で、全国の小学生たちが家じゅうのバーコードをかき集めていた(もちろん私も)。
このゲームの一番のポイントは、「バーコード」というありふれた日常アイテムを媒介として、現実とゲームがリンクするところだろう。「ふりかけのバーコード使ったら、めっちゃ攻撃力高いのが出た!」とか、「高いカメラのバーコードなのに弱すぎる!」みたいな意外性も面白かった。あれから20年以上経ったいまでも、たまに思い出しては「いいゲームだったなあ」と感慨にひたる私である。
ときに2020年。バーコードはまだ現役バリバリではあるが、一方で当時はなかった新しい技術も身近になっている。その代表格が、非接触ICカードであろう。交通系のSuicaをはじめ、iDやQUICPayなどの電子マネーにも幅を利かせている(これらはすべて、ソニーのFeliCaという技術がベースとなっている)。
寒さが一段と増してきた2月のある日、私は「次に何を作ろうか?」とウンウン唸っていた。そんなとき目に付いたのが、これである。
たしか、「WAONで決済したときの『ワオン!』という鳴き声を、実際の犬の鳴き声で再現したら面白いんじゃないか」というアイデアがあったので、とりあえずリーダーだけ買っておいたのであった(いまいちなアイデアのためお蔵入りになった)。
こういう電子パーツの類いは、「何に使うか分からんけど、とりあえず買って引き出しに入れておく」と良い。そうすればドラえもんの四次元ポケットのように、困ったときの助けになってくれる。実際これを見た瞬間に、「ああ、これでバーコードバトラーを作ればいいのか!」と膝を打ったのである。
そんなわけで、前置きが長くなってしまったけれど、「バーコードの代わりに非接触ICカードを使った、バーコードバトラー風ゲーム機」を作ろうと思い立ったのであった。
思い付いたはいいものの、原稿の締め切りまであとちょうど一週間しかない。しかも平日は本業があるため、実際に作業できるのは1日3時間×6日ほどである。なんとかなるだろうか……ギリギリなんとかなるはずである。プレッシャーで痛む胃を抑えつつ、深く考えずにいそいそと制作を開始した。
そうして出来上がったものがこちらである。お昼の料理番組よろしく、途中はすっ飛ばすスタイルでいきなり完成品を見てもらいたい。
非接触ICカードで戦うバーコードバトラーみたいなの作ってみた。 pic.twitter.com/ZKXPYgSvI7
— NEKOPLA 斎藤 (@kawausokawauso) February 8, 2020
戦闘自体はわりと単純で、それだけにステータスの高さがそのまま勝利に直結するところがある(これはバーコードバトラーでも同じ)。いかに強いカードを保持しているかがポイントである。
ちなみに自分の場合は、交通系ICカードを9枚、電子マネー系を9枚持っていたので、計18枚の中から選択可能だった。バーコードのように、次から次へといろんなものを試せる手軽さはないものの、「ICOCA、おまえ結構強かったんだな……」というように、馴染みのカードが意外なステータスを持っていたりして、カードを読み込ませる楽しさは十分に味わえる。いいものができた。
とは言うものの、ハードとソフト両方の開発が必要であり、スケジュールは結構カツカツであった。悩む時間もなく、思いついたまま一気に作り上げたので、これは「即興開発」と言っていいだろう。
日々できあがっていく達成感、締め切りに追われる焦燥感、上手く動かなかったときの絶望感。その気持ちをラップに乗せて歌うだけの音楽力は私にはないので、つらつらと文章で発表していきたい。
先に書いたとおり、FeliCaリーダーを見て「バーコードバトラー風のゲーム機を作るか!」と思い立ったのが、日曜の夕方18時であった。作り方の見通しはすぐに立ったので、まずは「ICカードから情報を読み取る」部分が本当にできるのか、試作を作って確かめることにした。
本当に完成するのか? という悩みを払拭するためには、手を動かして、不確定要素をひとつずつ潰していく正攻法しかないのだ。
ソニーのFeliCaリーダー使って、ラズパイ経由でIDm読み出しできた pic.twitter.com/PjQ6wes45l
— NEKOPLA 斎藤 (@kawausokawauso) February 4, 2020
作り方のサンプルが公開されていたので、1時間ほどの作業で難なく完成した
ちなみにICカードからは、「IDm」というカード固有のID番号を読み取ることにした。このIDmは16桁の数字(16進数)であり、ソニーが管理して同じ番号が2つと流通しないようになっている。これをバーコードの代わりに使おうという魂胆だ。
3Dプリンタでの出力には時間がかかるうえ、一度では絶対に成功しない自信があったので、優先して取りかかった。モデリング自体は1時間ほど。しかし3Dプリンタの機嫌が悪く、メンテナンスをしていたら、たっぷり1時間以上経っていた。寒さに弱い3Dプリンタにとって、冬場は鬼門なのである。
この日は最後に、ゲーム画面の実現手段について調査を進める。3時間ほど情報収集したところでタイムオーバーである。作業時間は6時間ほどであった。
仕事を終え、一息ついたところで2日目の作業に取りかかる。
できるだけ手間のかからないシンプルな画面構成にしたので、短時間でもそれらしくなってきた(ちなみに、PythonのTkinterというライブラリを使っている)。
でもなにか、もの足りないような。
バーコードバトラーに寄せて、数字のフォントを7セグメント風に変更した。この方が断然しっくりくる。
表示先は液晶なので、もはや7セグである必要は何もない。何もないのだが、妙な安心感があるのはなぜだろう。そもそも7本の線だけで全アラビア数字が表現できるのって、冷静に考えるとすごくないか。7セグすごい。いや、でも今は7セグについて思いを巡らせるだけの時間はないのだ。先を急ごう。
パッと見た感じは上手くいっている。しかし、やはりというか、各部の寸法が微妙に間違っており、そのままで使用できないものが出来上がっていた。
すぐに修正して、3Dプリンタに印刷を託す。うちの3Dプリンタは安物なので、これだけの印刷に13時間かかるのだ。寝ている間には仕上がらないので、確認できるのは翌日の夜になる。気の長い話である。それだけに、一度の失敗も許されないという緊張感があり、またしても胃が痛くなるのであった。
あとは細々としたソフトウェア部分を実装し、この日は約3時間で作業を終えた。
いよいよゲームの核心となるソフトウェアの開発に取りかかる。のだが、その前に仕様を決めておかないといけない。
まずは、肝心かなめのステータスである。ICカードから読み取ったIDmを、どのように生命力・攻撃力・守備力に割り振るかを決めていく。ネット上に本家バーコードバトラーを解析した情報があったので、それを大いに参考にさせてもらった。
ステータスの決め方を決めるなんて、もはや神の所業である。自分のさじ加減ひとつで、強いキャラを生み出すこともできるし、逆に弱くもできる。こういう設定を作るのって、めちゃくちゃ面白い。
ほかにも攻撃力の計算式や、先攻・後攻を決めるアルゴリズムなども固めていく。
さて3Dプリントの外装はというと……またしても失敗していた。微修正されたのち、再び13時間という、はるかなる航海へと旅立っていった。
この日は残りの仕様を決めたあと、いよいよプログラミングに取りかかる。
この作業により、ようやく終わりが見えてきた。つまり「これが解決しないと完成しないかも……」という不安要素をひとつずつ潰していった結果、それがついにゼロになったのだ。あとは時間さえあれば完成にまで持って行ける。
こういった状況を「心理的完成」と誰かは言った。誰かとは私のことなのだが。
この日は気温がグッと低くなった。その影響がプリントのクオリティにも現れている(気温が低いと素材が収縮して反りやすい)。寒い夜中にプリントするのは避けて、気温が上がりはじめる翌朝から印刷をスタートすることにした。
さて早いもので5日目である。この日は攻撃と回復のプログラムを淡々と仕上げていき、これにて一通りのプログラミングが完了した。
でも何か物足りない。あまりにも静かというか、無音なのだ。いくら攻撃しても無音。宇宙空間で戦闘しているならリアリティもあるというものだが、あいにくそういう設定ではない。明日は効果音まわりの実装に着手することにしよう。
外装問題もギリギリのところでどうにかなった。いよいよラストスパートである。
この日が最終日になるはずである。少し早めの時間から作業を開始する。
まずは前日の課題となっていた効果音。フリー素材サイトから良い感じの音をもらってきて、タイミングよく鳴らすためのプログラミングを行う。こちらは2時間ほどで終了した。
最後に残ったのは、外装の組み上げと電気回路の配線だ。
完成した。しかもピッタリ予定どおりである。正味50時間以上かけて出力した外装はつややかで美しく、対戦中に鳴る「ピッピッピ」という8bitサウンドは耳に心地よい。いいものができた。
かかったのは5日間、作業時間にすると約22時間であった。友だちよ、これが私の一週間の仕事である。
せっかくなので、対人戦をやってみたい。家で転がっていた妻を起こして、いっちょデュエルと洒落こもうじゃないか。
「しかしあれだねえ」と嘆息しながら妻は言った。「この対戦、全然面白くないな」
核心を突かれてしまった。(うすうす気付いてはいたが)対戦に戦略性がなさすぎて、両者ともただポチポチするだけで終わってしまうのだ。楽しさが最高潮を迎えるのは、カードを読み込ませてステータスが表示される瞬間である。そのあとは消化試合の雰囲気すら漂う。
数字だけを見て楽しむのは、かなりの想像力を必要とする。このゲームを本格的に作るとしたら、きっと読み込ませたカードに応じてキャラクターが自動生成されて、戦闘にも派手なアニメーションが付くだろう。現代人は、リッチな表現に慣れすぎてしまった。
とは言え、一週間かけて作ったゲーム機には愛着がわいている。誰が何と言おうと、私はこう思うのだ。いいものができたと。
今回は非接触ICカードを使ったけれど、時流に乗るなら「QRコードバトラー」も楽しそうだ。調べてみると、スマホアプリは出ているみたいだけど、ゲーム機まで自作した人はまだいないようである。……作るか。
▽デイリーポータルZトップへ | ||
▲デイリーポータルZトップへ | バックナンバーいちらんへ |