I/O FLIP:伝統的なカードゲームにAIのひねりを加える方法
はじめに
Jay ChangさんとGlenn Cameronさんによって開発されたI/O FLIPは、Googleがシードしたプロジェクトで、開発者が最新の生成AI技術を活用して何ができるかを試すためのインスピレーションを提供することを目的としています。このゲームは、プレイヤーが何千ものカスタムキャラクター画像とその説明を生成し、楽しむことができるカードゲームです。
ゲームの基本的な流れ
I/O FLIPをプレイする際、ユーザーは次の手順に従います:
- キャラクタークラスと能力を選択し、12枚のカードパックを生成する。
- そのパックから3枚のカードを選んでチームを作る。
- マッチに参加し、ベストオブ3で勝つ。
- 複数のマッチに連勝してリーダーボードに名前を掲載するチャンスを得る。
- 自分のデッキを世界中のプレイヤーと共有する。
開発の裏側:FlutterとDartを活用
I/O FLIPのゲームロジックとUIは、Flutterのカジュアルゲームツールキットの機能を基に構築されています。特に、音声機能やappナビゲーションにgo_routerパッケージを利用して、レスポンシブなウェブアプリとしての特性を確保しました。これにより、ユーザーの画面サイズに応じてアプリが適切にリサイズされます。
カードのロジック
ゲームの大部分のロジックはカードに基づいています。各カードには、次の特長があります:
- 4つのGoogleマスコット(Dash、Sparky、Dino、Android)の画像。
- クラスと能力に基づく説明。
- ランダムに割り当てられた元素の力(空気、水、火、金属、地球)。
- 10から100の間の数字で示されるカードの強さ。
元素の力は、マッチプレイにおいて相互作用があり、誤った元素マッチアップの場合は10ポイントのペナルティが与えられます。
AI生成の画像と説明
I/O FLIPの各カードは、技術革新によって生み出されたAI生成の画像と説明を特徴としています。画像は、Google Researchから生まれた次の2つの技術を用いて事前生成されました:
- Muse:テキストから画像を生成するAIモデル。
- DreamBooth:特定のテーマについて個別化された画像を生成する技術。
カードの説明は、Googleの大規模言語モデルにアクセスするPaLM APIを使用してプロトタイピングされます。
Firebase:ゲームのホスティングとシェア機能
Firebase Cloud Storageは、すべての画像、説明、要素、そしてプレイヤーのカードデッキを生成するための数値を格納します。また、Firestoreは「最高の連勝記録」を追跡します。このデータ全体は、Firebaseのセキュリティルールを用いて保護されています。
Dart Frogによる共有機能
I/O FLIPでは、チートを防ぐために、Dart Frogを利用しました。バックエンドとフロントエンドでゲームロジックを共有することで、同じ言語でコードを書くことが可能になり、開発を加速させました。
プレイを楽しもう
I/O FLIPは、多くのプレイヤーがオンラインでプレイしているときが最も楽しいです。Cloud RunにデプロイされたI/O FLIP Dart Frogサーバーを利用することで、オートスケーリングが可能になり、多くのプレイヤーを同時に支えることができます。
最後に、I/O FLIPのコードはオープンソース化されており、ユーザーがどのようにそれを構築したかを深く探ることができます。ぜひ、生成AI技術を試してみてください。Google I/Oに参加して、さらなる情報を学ぶこともおすすめです。