MAKE ENGRAVING
歴史を読むのではなく、発見する。
謎→推理→現地へ→GPS認証→写真認証→刻印
探索クエスト
MVPでは「世界中の史跡DB」の代わりに6か所を収録しています。長崎→マラッカ→シンガポール→バンコクの交易ルートと、大阪の2か所です。
QUEST 01
同じ場所でもプレイヤーごとに文章が変わるので、攻略サイトの「答え丸写し」が効きにくくなります。デモでは事前生成した複数パターンを切り替えています。
ヒント
刻印帳
交易ルート:長崎 → バンコク0/4
ルートを全部たどると称号「海の道の探検家」を獲得(リワード構造のサンプル)
このデモの裏側
① AIに「場所」は考えさせない
AIに自由に出題させると、存在しない史跡や立入禁止の場所を出してしまうことがあります。場所と事実は検証済みのデータから選び、AIには「謎の文章を書く」ことだけを任せます。
史跡データ(座標・認証半径・確認済みの事実・安全フラグ)
↓
AI(サーバー側):事実だけを材料に、謎とヒント3段を生成
↓
自動チェック:答えの地名が文中に出ていないか/事実と食い違いがないか
↓
出題(プレイヤーごとに文章が変わる)
AIの出力はJSON形式で固定し、アプリはそのまま表示するだけにします:
{
"site_id": "jp-osaka-tekijuku",
"riddle": "大坂の商人の町に、医者が開いた…",
"hints": ["時代は江戸の終わり", "…", "…"],
"difficulty": 3,
"facts_used": ["f-021", "f-024"],
"leak_check": "passed"
}
② 認証は「重ねて」判定する
- GPS:距離・精度(誤差◯m以内)・前回位置からの移動速度
- 端末:位置偽装アプリの検知(Androidの mock location 判定+Play Integrity API)
- 写真:アプリ内カメラのみ/撮影時刻と位置をサーバーへ同時送信/画像ハッシュで使い回し検知
- 画像AI:参照写真と見比べて「その場所らしさ」をスコア化。グレーは運営の目視確認へ
③ 「世界初の発見者」は同時到着でも1人だけ
発見の登録はサーバー側のトランザクションで処理し、ほぼ同時に2人が認証しても「1番目」は必ず1人になるようにします(Firestore等で実装可能)。
④ 想定システム構成(MVP)
Androidアプリ(Unity):地図・カメラ・GPS・演出
↕
Firebase:認証/Firestore(クエスト・発見記録)/Storage(写真)/App Check
↕
Cloud Functions:AI出題・認証判定・発見順の確定(APIキーはアプリに入れない)
↕
外部API:OpenAI等の生成AI/画像認識/地図タイル
詳しい技術メモ(実現性・MVPの範囲・Unity構成・費用感・リスク)は応募メッセージの添付資料にまとめています。