本記事もほぼAmazon Q CLIに作ってもらいました。
Amazon Q CLI でゲームを作ろう Tシャツキャンペーンに参加し、Amazon Q CLIとのペアプログラミングで2Dシューティングゲーム「Terra Lock」を開発しました。本記事では、Amazon Q CLIをどのように活用してゲーム開発を進めたかを具体的に紹介します。
完成したゲーム: Terra Lock - GitHub Pages
- ゲーム名: Terra Lock(蒼穹紅蓮隊風ロックオンレーザーゲーム)
- 技術スタック: Rust + macroquad + WebAssembly
- 開発期間: 2日間
- 開発手法: Amazon Q CLIとの協働開発
- 最終成果: WebAssembly 482KB、60FPS動作
Amazon Q CLIとの最初の対話で、開発プロセス自体を設計しました:
ユーザー: ./doc/Specification.mdの仕様に基づいて開発タスクを
doc/Task.mdとして切り出し、ステップバイステップでコミット単位の開発を実施
この指示により、Amazon Q CLIは:
- 仕様書を分析してPhase 1-5の段階的開発計画を作成
- 各フェーズを具体的なタスクに分解
- チェックボックス形式で進捗管理可能なTask.mdを生成
効果: 大きなプロジェクトを管理可能な単位に分割し、確実な進捗を実現
各フェーズ完了時に、Amazon Q CLI が詳細な報告書を自動生成:
- Phase1-Report.md: 基盤構築の完了報告
- Phase2-Report.md: コアゲームプレイの実装報告
- Phase3-Report.md: ロックオンシステムの実装報告
- Phase4_Report.md: 最適化・仕上げの報告
- Phase5_Report.md: デプロイメントの報告
効果: 開発過程の完全な記録化と、後から振り返り可能な資料作成
- タスク確認: Task.mdの次の項目を確認
- 実装依頼: Amazon Q CLI に具体的な実装を依頼
- コード生成: Amazon Q CLI がRustコードを生成
- 動作確認: 生成されたコードをテスト実行
- 調整・修正: 必要に応じて微調整を依頼
- コミット: 動作確認後にgitコミット
- 進捗更新: Task.mdのチェックボックスを更新
効果的だった指示方法:
- 具体的な仕様を明確に伝える
- 期待する動作を詳細に説明
- エラーメッセージは完全にコピー&ペースト
- 「問題ないです」「yes」での簡潔な承認
- 計画的開発: 段階的なフェーズ分割により、迷いなく開発を進行
- 高品質コード: Rustの型安全性を活かしたバグの少ないコード生成
- Rust + WebAssembly: 新しい技術スタックを効率的に習得
- ゲーム開発パターン: macroquadを使った2Dゲーム開発の知見獲得
- 機能の充実: ロックオンシステム、4種類の敵機、加速ホーミングレーザー
- パフォーマンス: 60FPS安定動作、482KBの軽量バンドル
- ユーザビリティ: 直感的な操作、視覚的フィードバック
Amazon Q CLI との協働開発により、以下の可能性を実感:
- AI支援開発の有効性: 人間の創造性とAIの実装力の組み合わせ
- 学習加速: 新技術習得の大幅な時間短縮
- 品質向上: 段階的開発による高品質なソフトウェア開発
Amazon Q CLI を活用したゲーム開発では、以下が重要でした:
- 明確な仕様定義: 詳細な仕様書の作成
- 段階的アプローチ: フェーズ分割による管理可能な開発
- 継続的対話: 各段階での確認と調整
- 文書化: 開発過程の完全な記録
結果として、2日間で完全に動作する2Dシューティングゲームを完成させることができました。Amazon Q CLI は単なるコード生成ツールではなく、開発プロセス全体をサポートする優秀なペアプログラミングパートナーでした。
この記事は Amazon Q CLI でゲームを作ろう Tシャツキャンペーンの応募作品「Terra Lock」の開発記録です。