Skip to content

AIダンジョンゲーム

概要

このチュートリアルではAI搭載のダンジョンアドベンチャーゲームを構築します。@aws/nx-pluginや関連技術に関する前提知識は必要ありません。ここで学ぶテクニックは@aws/nx-pluginベースのアプリケーション構築の基礎となるもので、このチュートリアルを完全に理解することでNXの基本的な使い方と@aws/nx-pluginの深い知識が得られます。

このチュートリアルを完了すると、以下の知識が身に付きます:

  • @aws/nx-pluginを使用して新しいアプリケーションを作成する
  • NXを使用してコードベースを管理/ビルドする
  • tRPCとFastAPIの両方を使用してAPIを構築する
  • Tanstack routerで新しいページを作成する
  • Tanstack queryでバックエンドAPIを呼び出す
  • 生成されたコードを目的に合わせて修正する
  • CDKインフラストラクチャを作成してデプロイする

構築するもの

このチュートリアルでは@aws/nx-pluginを使用して、AI搭載のダンジョンアドベンチャーゲームを構築します。

完成形は以下のようになります:

game-select.png
game-conversation.png

アプリケーションの構成要素

AI搭載ダンジョンアドベンチャーゲームは以下のコンポーネントアーキテクチャで構築されます:

dungeon-game-architecture.png
  • tRPC API(ゲーム状態管理にElectroDB/DynamoDBを使用)
  • ストーリー生成用のPython/FastAPI Lambda関数(ストリーミングレスポンス対応、Amazon Bedrockで駆動)
  • React/Viteフロントエンドウェブサイト:
    • 安全なAPI呼び出しのためのAmazon Cognito/Identity Pools
    • タイプセーフなファイルベースルーティングをサポートするTanstack router
    • ゲームAPI/ストーリーAPI呼び出し用生成SDK(Tanstack query活用)
  • アプリケーションをデプロイするCDKインフラストラクチャ

前提条件

始める前に以下のグローバル依存関係が必要です:

  • Git
  • Node >= 22(Nodeバージョン管理にはNVMの使用を推奨)
    • インストール確認: node --version
  • PNPM >= 10(代替としてYarn >= 4Bun >= 1NPM >= 10も使用可)
    • インストール確認: pnpm --versionyarn --versionbun --version または npm --version
  • UV >= 0.5.29
    1. Python 3.12のインストール: uv python install 3.12.0
    2. 確認コマンド: uv python list --only-installed
  • デプロイ先AWSアカウント用に設定されたAWS Credentials
  • VSCode利用者向けにNx Console VSCode Pluginのインストールを推奨
  • AWSアカウントで対象リージョンのBedrockにおいてAnthropic Claude 3.5 Sonnet v2モデルへのアクセスが有効化されていることを確認してください(設定手順はこのガイドを参照)。