AIで日常を冒険に変えるアプリ「Diary Quest」を作りました

初めまして!デジタル人材事業部の鈴木です。普段はReactでFEの開発をしています!

【社員インタビュー】JAVAエンジニア:鈴木さん

突然ですが皆さん、日記って書いてますか?

私は何度も挑戦しては三日坊主で終わる…というのを繰り返しており、「今日あったこと」を書くだけなのになぜか続かないんですよね。
そこで、「日記を書くこと自体がゲームになれば続くのでは?」と思い立ち、日常をファンタジーRPGの冒険に変えてくれるアプリ「Diary Quest」を作ってみました!

今回はこのアプリの紹介と、開発に使用した昨年末にリリースしたばかりのGoogleの新しいAIエージェント「Antigravity」の使用感についてレポートします!

日常を冒険に変える「Diary Quest」とは?

「Diary Quest」は、書いた日記をAIが読み取り、勝手に壮大な冒険譚(冒険日誌)に書き換えてくれるデスクトップアプリです。
ただの「コンビニに行った」という地味な日常も、AIにかかれば「補給物資を求めて危険地帯へ…」といった伝説の始まりに早変わりします!

世界観を選んで、いざ冒険へ!

アプリを起動すると、まずは世界観の選択から始まります。
「ファンタジー」「SF」「探偵小説」などから好みの世界を選び、自分の分身となるキャラクター(職業)を作成します。
ちなみに、AIに相談して自分だけのオリジナルクラスを作ることも可能です!

実際に使ってみる – 「書くこと」が「ゲーム」になる瞬間

アプリのホーム画面には、以下の要素の画面が表示されます。
  • キャラクターステータス: レベル、職業、所持金、次のレベルまでのEXPバー
  • 進行中のクエスト: 現実のタスクと進捗状況
  • 最近の冒険: 直近の日記ログと感情分析結果

これらが一覧で表示されるので、自分のタスクや過去の記録がひと目でわかります!

 

そしてメインの日記画面
10文字以上の日記を書いて「RPG風に変換する」ボタンを押すと…数秒で世界が変わります。
ただの「コンビニに行った」という日常が、「補給物資を求めてよろず屋へ…」といった冒険ログに早変わり。

しかも、ただ単発で変換しているわけではありません。

前後の日記の内容も参照しているので、昨日の冒険の続きとして違和感なくストーリーが進みます。(今回は前日にテストタスクで頭がパンクした日記があったので複合試練や未熟さというところに現れてきています)
さらに、保存時には「ランダムイベント」が発生することも!

こだわりの「用語集(マッピング)」機能

今回特にこだわったのが「用語集(マッピング)」機能です。
現実の「会社」を「ギルド」に、「上司」を「ギルドマスター」に変換するといったルールを管理できるのですが、このアプリではAIが日記から自動で候補を拾い上げてくれるんです。

実際のコード(プロンプト指示)はこんな感じです:
// converter.ts
...
【重要な指示】
1. 上記の「ストーリーの連続性情報」を参考にして、物語の流れに一貫性を持たせてください
2. 場所や登場人物が突然変わらないように注意してください
3. 進行中の出来事は適切に継続または完結させてください
4. 「固有名詞マッピング」に記載された用語は必ず使用してください(一貫性のため)
5. 新しく変換した固有名詞(場所、人物、組織、アイテム)があれば、newMappingsに含めてください

【出力形式】
以下のJSON形式で出力してください:

{
  "convertedContent": "変換後の冒険記のテキスト",
  "storyMetadata": {
    "location": "現在の場所(例: 港町リュート)",
    "companions": ["同行者1", "同行者2"],
    "ongoingEvents": ["進行中の出来事1", "進行中の出来事2"],
    "significantItems": ["重要なアイテム1", "重要なアイテム2"]
  },
  "newMappings": [
    {
      "realWorld": "元の用語",
      "fantasyWorld": "変換後の用語",
      "category": "location|person|organization|item"
    }
  ]
この指示により、AIが「あ、ここで新しい用語を作ったな」と判断すると、マッピング辞書に自動的に保留状態で追加されます。
これを使えば使うほど、自分だけの世界が育っていく感覚が楽しめます!

習慣化を助けるクエスト機能 & レポート

ただ日記書くだけじゃなくタスクも管理できる、「クエスト機能」も搭載しました。
「毎日30分勉強する」や「ジムに行く」といった現実のタスクをクエストとして登録。達成報告をすると経験値やゴールドがもらえるので、レベル上げのために頑張ろう!という気にさせてくれます。

また、「レポート機能」では書いた文字数や感情推移をグラフ化しています

「ストーリー機能」では、溜まった日記をAIがひとつの短編小説にまとめてくれます。

話題のAIエージェント「Antigravity」を使ってみた

さて、ここからは技術的なお話です。
今回の開発では、昨年末にGoogleが発表した新しいAIエージェント「Antigravity」を導入してみました。

Antigravityは、AIが自動でアプリを実行して動作確認まで行ってくれるツールです。
これまでは自分で動かしてデバッグしていたのが、AIが勝手に確認して修正提案までしてくれるという優れものです。

実際に使ってみた感触

1. ちょっと真面目な要件定義相談

しっかりと相談すると、確認事項やブラッシュアップの提案も含め実装計画書までいい感じに出してくれます。違和感がある部分はコメントで修正依頼を出せば対応してくれ、2往復ほどで通知機能が完成しました。

2. めちゃくちゃ適当な指示への対応

試しに「めちゃくちゃ適当な指示」を投げてみましたが、計画書をいい感じに出してくれました(ほぼ修正なし)。
特に確認せずにそのまま実行しても、一度だけエラーがあった程度。そのエラー文を投げ返したら即座に修正してくれ、想定通りの動きになりました。

 
 

3. 曖昧な指示でもOK

「ここら辺なんとなくイマイチなんだよね…」といった曖昧な指示でも、現状の課題を汲み取って改善案を提示してくれます。
この意図を汲む力はかなり高いと感じました。今まで自分でアプリを実行して確認していた手間が、AIにお任せできるのはかなり革命的に感じました。

メリット・デメリット

【メリット】

  • 要件定義から実装計画まで自動で作成可能
  • 適当な指示でも割と文脈を理解してくれる
  • エラー対応も最初に指示していれば自動化できる部分が多い
【デメリット】
  • 今はあまり感じませんが混雑する時間帯はエラーが頻発することがあります
  • 書き方によるのですが結構ノンストップで走ってしまうので反映してほしい部分以外にも手を入れてしまったりすることがあります(指示の書き方によると思いますが・・・)

【トークンについて(備考)】
Google AI Pro加入後の計測では、かなりヘビーに使っても(ヘルプツールチップ実装、ライブラリ調査、README追加など)、トークンにはまだまだ余裕がありそうでした。

まとめ

今回の個人開発を通じて、「楽しく日記を続ける」という当初の目的は達成できそうな手応えを感じています!

またこれまでは技術的なハードルで諦めていたアイデアも、Antigravityのようなツールを使えば爆速でプロトタイプまで持っていけると分かりました。非エンジニアの方でも、アイデア次第でアプリが作れてしまう時代の到来を肌で感じています!

今後のアップデートとして最近流行りのobsidianに連携できるような機能を作成しようと思っています!(ポーカーのメモアプリも同時に作っているので先にはなりますが・・・)

「Diary Quest」は以下のリンクからダウンロードできますので、もし興味があればぜひ使ってみてください!一緒に日常という名の冒険に出かけましょう!


株式会社エイプリルナイツは、ゲームが好きという共通の価値観をベースに、楽しく働きやすい企業を作っていこうとしています。
ゲームが好きなエンジニアはぜひ弊社にご注目ください!