【ITニュース解説】Your Screen Can Have One Job: Get You Outside
2026年10月08日に「Dev.to」が公開したITニュース「Your Screen Can Have One Job: Get You Outside」について初心者にもわかりやすく解説しています。
ITニュース概要
「NatureMate」は、スマホからユーザーを外に促すゲームだ。クエストはスマホで受け、屋外で現実の物体をカメラで撮影すると、ブラウザ上で動くオンデバイスAIが判定する。サーバーに画像を送信せず、プライバシーに配慮しつつ、外の世界を探索するユニークな体験を提供する。
ITニュース解説
現代のスマートフォンアプリは、ユーザーを画面に釘付けにするよう設計されていることが多い。無限にスクロールできるフィード、自動再生される動画、毎日アクセスすることで途切れない「ストリーク」といった機能は、すべてユーザーがアプリに費やす時間を最大化するために最適化されている。しかし、今回紹介する「NatureMate – Touch Grass Edition」というゲームは、この流れに逆行するユニークなコンセプトを持っている。このゲームは、ユーザーがスマートフォンを見る時間を減らし、むしろ現実世界へと目を向けることを促すよう作られている。
NatureMateの基本的な遊び方は非常にシンプルだ。アプリを起動すると、「外にあるベンチを見つけなさい」といった具体的なクエストが提示される。ユーザーは画面をタップしたり、仮想的なアイテムを購入したりするのではなく、実際に立ち上がり、屋外へ出て、現実世界でその対象物を見つけなければならない。スマートフォンはクエストを出す役割を担い、街全体がゲームボードとなるのだ。この小さな発想の転換が、ユーザーの行動や視点に大きな変化をもたらす。例えば、普段見過ごしていた消火栓やその他の街の風景に気づくようになるなど、周囲への意識が高まる。
クエストの達成は、シンプルな手順で行われる。ユーザーは、例えば「外にある自転車を見つけなさい」というクエストを受けたら、実際に屋外に出て自転車を探す。そして見つけたら、スマートフォンのカメラをその自転車に向け、「Capture & Verify」(撮影と検証)ボタンを押す。このボタンが押されると、スマートフォンに内蔵されたAI(人工知能)がその瞬間の画像フレームを解析し、クエストの対象物が写っているかどうかを判定する。AIが「はい、自転車を検出しました」と判断すれば、ユーザーは経験値(XP)やゲーム内通貨を獲得し、連続達成記録(ストリーク)も伸びる。一度見つけたオブジェクトは二度とクエストとして登場しないため、コレクションのような達成感も得られる。もしAIがオブジェクトを検出できなくても、ライフを失うなどのペナルティはなく、何度でも角度を変えて再挑戦できる仕組みだ。
このゲームの技術的な側面も非常に興味深い。開発者は、ユーザーがカメラで撮影した画像をサーバーに送信することを避けた。これは、プライバシーの観点からユーザーに不安を与える可能性や、屋外での通信環境によっては処理の遅延が発生する可能性があったためだ。そこで採用されたのが、「オンデバイスAI推論」という技術である。これは、AIによる画像解析の処理を、すべてユーザーのスマートフォン内部で完結させる方法だ。
具体的には、Transformers.jsというJavaScriptライブラリと、「Xenova/yolos-tiny」という物体検出モデルが使われている。YOLOS-tinyは、YOLO(You Only Look Once)という有名な物体検出アルゴリズムの一種で、その名の通り非常に軽量なモデルである。さらに、このモデルは「q8」という形式に量子化されている。量子化とは、AIモデルのデータサイズを小さくする技術であり、スマートフォンなどの限られたリソースでも効率的に動作するように調整されている。その結果、モデルのサイズは約24MBに抑えられ、初回読み込み後はキャッシュされるため、二回目以降の起動はスムーズだ。
特に注目すべきは、AIによる推論の実行タイミングである。開発者は、「カメラのプレビュー中にAI推論を常に実行しない」という重要なルールを設定した。スマートフォンでカメラを起動している間は、単にプレビュー映像が表示されているだけで、AIは動作していない。AIが実際に画像を解析するのは、ユーザーが「Capture & Verify」ボタンを一度押した時のみだ。このボタンを押すことで、その瞬間の1フレームだけがAIに渡され、一度だけ推論が行われる。この設計は、スマートフォンのバッテリー消費を抑え、発熱を防ぐだけでなく、ユーザーが意図的に「これは合っているか?」とAIに問いかけるという、ゲームの体験をより意識的なものにしている。
YOLOSモデルは、COCOという大規模なデータセットで学習されており、元々は80種類の現実世界の物体を検出できる。NatureMateでは、屋外での使用に適しており、AIが確実に検出できる43種類のオブジェクトに絞ってゲームに採用されている。例えば、「ベンチ」「自転車」「車」「人」「犬」といったものだ。中には「木」のように直接検出できないオブジェクトもあったが、その場合は「植木鉢 (potted plant)」のように、AIが検出可能な近しいラベルを使いつつ、ゲーム内の表示名を「植物 (plant)」とすることで、ユーザーに違和感を与えない工夫がされている。AIがオブジェクトを検出したと判断する基準も設けられており、例えば30%以上の確信度でベンチを検出できればクエスト成功となる。
ゲームの継続的な面白さを保つためのデザインも考慮されている。初期のバージョンでは、簡単なクエストを何度もスキップできてしまい、ゲーム性が薄れてしまうという問題があった。そこで、以下のような制約が追加された。 一つは「ライフ制度」だ。クエストをスキップするとライフが一つ減るが、検出に失敗してもライフは減らない。これにより、安易なスキップを抑制し、ユーザーに積極的に探索を促す。 もう一つは「繰り返しなし」のルールである。一度見つけた、またはスキップしたオブジェクトは、そのゲームプレイ中は二度と登場しない。これにより、ユーザーは「コレクション」を埋めていくような感覚でゲームを進められ、単なる反復作業ではなく「マップをクリアしていく」冒険のように感じられる。全43種類のユニークなターゲットが存在するため、ゲームには明確な終わりがあり、「43個中12個見つけた」といった具体的な達成度が表示される。さらに、XP、コイン、ストリークといった要素も導入されており、小さな達成感がユーザーのモチベーションを維持する。
「Touch Grass Run」という特別なモードも用意されている。このモードでは、通常のアドベンチャーモードが完全に一時停止され、独立した状態とタイマーで新しいチャレンジが始まる。例えば、「ベンチ、車、犬、ボトル、カイト、バス」といった6つのランダムなターゲットを10分以内に見つけるといった内容だ。このモード中にカメラで撮影すると、通常のクエストではなく、このRunモードのターゲットと照合される。一度の撮影で複数のターゲットが写っていれば、それらすべてを同時に達成することも可能だ。Runモードが終了すると、勝敗に関わらず通常のアドベンチャーは元の状態に正確に復元される。この独立した状態管理の実装は、開発において最も苦労した点の一つであり、通常モードの進行に影響を与えないようにするための工夫が凝らされている。
このゲームの開発では、AI技術そのものよりも、モバイルウェブアプリケーション特有の課題に直面し、その解決が製品としての質を高める上で重要だったという。
例えば、モバイルブラウザはカメラの扱いに制約が多い。iOS Safariでは、カメラストリームを安定させるためにplaysinlineやmutedといった属性が必要であり、getUserMedia(カメラへのアクセス要求)を複数回呼び出すことを嫌うため、一度取得したストリームを再利用する必要があった。
また、24MBのAIモデルの読み込みは、4G回線では時間がかかるため、ユーザーにストレスを与えないよう、正確な進捗状況を示すプログレスバーを実装する必要があった。「AIエンジンの読み込み中 → モデルをダウンロード中 → キャッシュ中 → カメラの準備中 → アドベンチャー開始準備完了」といった具体的なステップを表示することで、ユーザーは状況を把握しやすくなる。
非同期処理に伴う「ステートの不整合」も問題となった。ユーザーが「Capture」ボタンを押してAIが画像を解析している最中に、新しいクエストが生成されてしまうと、古いクエストの画像が新しいクエストと比較されてしまう可能性があった。この問題は、AI推論を開始する前に、その時点でのクエスト情報を変数に保持しておき、推論結果をその古いクエスト情報とだけ比較するようにすることで解決された。
さらに、ユーザーが「Capture」ボタンを素早く二回タップすると、AI推論が二重に実行され、経験値などを二重に獲得できてしまう問題もあった。これは「ビジーフラグ」を導入し、AIが処理中の場合は次のタップを受け付けないようにすることで防止された。
これらの課題は、最先端の機械学習技術に関するものではなく、むしろ実用的なモバイルウェブアプリケーション開発において避けられない地道な問題である。しかし、このような細かな問題を解決することで、デモレベルのものが、ユーザーが快適に使える「製品」へと昇華される。
NatureMateの最も特徴的な点は、従来のアプリとは異なるその哲学にある。多くのアプリがユーザーを可能な限り長く引き留めようと競争する中で、NatureMateは数十秒間だけユーザーの注意を引き、その後はユーザーを画面から解放することを目指している。開発者にとって最高のセッションとは、「2時間遊び続けた」というものではなく、「アプリを開き、『鳥を見つけなさい』というクエストを受け、バルコニーに出て実際に鳥を見て、そしてアプリを閉じた」という体験なのだ。このゲームは、「活動量を増やす」「〇万歩歩く」といった既存のフィットネス目標とは異なる、日常の中でふと顔を上げ、周囲の世界に目を向けるきっかけを提供することを目的に作られた。
このユニークなゲームは、バックエンドを必要とせず、アカウント登録も不要だ。スマートフォンでデモサイトにアクセスし、カメラの許可を与えるだけで、すぐに冒険を始めることができる。