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搭載のダンジョンアドベンチャーゲームを構築します。
完成形は以下のようになります:


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

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