開発者に訊いた「はみがき勇者」の裏側の話

開発者に訊いた「はみがき勇者」の裏側の話

「はみがき勇者」のはみがき検出処理はたっぷり時間をかけた独自技術なんです。開発担当のインタビューを交えてここで紹介します。

はみがき勇者とは

スマホ、タブレットのカメラに向かってはみがきしてモンスターをやっつけていく「はみがきRPG」です。お子さんのはみがき嫌いを解決するために開発しました。

詳細やダウンロードは公式サイトからどうぞ
https://app.litalico.com/brushinghero/jp.html

とにかくはみがきするだけ

はみがきをするとモンスターに攻撃が飛び、ヒーローたちも攻撃します。「Tap Titans」というすばらしいゲームに少なからず影響を受けてはいますが、ゲームの操作よりはみがきに集中してもらいたいので、はみがきをすればするほど先に進めるシンプルなルールになっています。

お子さんのための工夫

自分が正しく磨けているかを見れるように画面半分をカメラ映像にしました。まんべんなく磨いてもらいたいので、同じ磨き方を続けていると攻撃力が弱まっていくようにしました。

プレイとごほうびのサイクルを1分と短くして、お子さんのやる気が持続するようにしました。歯の本数にもよりますが、続けて2〜3回プレイすると1回のはみがきに必要な長さになります。

論文を読み漁った1年間

様々なシチュエーションにおけるはみがきの検出は非常に難易度が高く、開発期間は3ヶ月の予定を大きく上回って約1年かかりました。長い旅を終えた検出処理担当の「横山くん」に苦労話を訊きました。

 

横山くん
プレイヤーにヘルメットを被せるために顔検出の技術を使っているのですが、はみがき中は顔の角度が変わるし、手や歯ブラシで鼻や目が隠れたりするので、既存のライブラリ(汎用性のあるプログラム)だとうまくいきませんでした。
higo
ライブラリが想定してなさそうな使い方だもんね。
横山くん
はい。検出の精度を上げると処理量が大きく増えて古い端末でまともに動かないので、検出もしつつ処理量を抑えたアルゴリズムを開発することにしました。
higo
なるほど、速度と精度、両方を実現するものを作ることにしたんだね。自分だったらこの時点で諦めてるなあ。
横山くん
いろんな歯ブラシ、いろんな磨き方を検出するのが難しくて、アルゴリズムは何度も一から作り直しました。論文を大量に読んでプログラムを実装して検証し、結果が出ずにまたアルゴリズムを考えるという日々でした。

アプリを作るために論文(しかも英語)を読むという発想が自分にはまったく無かったので、この話を聞いたときは驚きました。エンジニアってこういう人のことを言うんですね。

横山エンジンのすごさ

higo
今回できた検出処理を尊敬を込めて「横山エンジン」と名付けました。作り終えた感想をお願いします。
横山くん
やっとできたというのが最初の感想でした。今回は検証が甘くて時間がかかってしまいましたが、今後はあらかじめ技術をキャッチアップしておいて、プロダクトにすぐ応用できるようにしたいと思いました。
higo
ストイック!ぼくにもわかる言葉で仕組みを教えてください。
横山くん
技術的な要素はかなり多く含まれています。いくつかの機械学習手法や制御工学を応用した処理が入っていて、最近よく聞くディープラーニングも使っています。
higo
えっそうなの?
横山くん
はい。数十種類の動画検証や実際に磨いての検証を繰り返して広い範囲をカバーできるようなアルゴリズムを考えました。そのため、磨いている途中に顔がある程度隠れたり、歯ブラシが見えないような磨き方でも反応するようにしています。
higo
たしかに暗い部屋とか、変なメガネとかでなければちゃんと判定するね。
横山くん
あと、古い端末でも滑らかに動作するように工夫しました。5年前の端末でも30fps(1秒間に30回描画)で動作するので、そこはアピールできるかなと思います。

いかがでしょうか。はみがき検出をアプリに応用したいとお考えの皆さま、コラボしてくださる皆さまからのご連絡をお待ちしています!以下のページからぜひご連絡ください。

https://app.litalico.com/jp.html

開発者からみなさまへ

横山くん
画像処理や機械学習の応用によって、専用の歯ブラシを用意しなくても遊ぶことができます。おそらく世界初です。

より多くの人に使ってもらって、歯磨きを楽しい時間と思ってもらえるようになってくれたら嬉しいです。

はみがき勇者は、我が子の歯磨き嫌いを直したかったぼくの思いつきを、横山くんがさくっとプロトタイプ(試作品)にしてくれたところから始まりました。

ゲーム側は今までのノウハウで作れましたが、はみがきの検出処理は沼のように深く、彼の優秀な才能を無駄遣いしている忍びなさで何度もプロジェクトを中断しようと思いました。

しかし彼はやり遂げてしまいました。そのすごさを一人でも多くの方に知ってもらいたくて記事にしました。彼の技術力と諦めない心によって完成した世界初のはみがきRPGをぜひ遊んでみてください!

 

はみがき勇者の公式サイト
https://app.litalico.com/brushinghero/jp.html