After EffectsとJavaScriptで作る まるばつゲームのWebアプリの作り方
1. 制作の概要
モーショングラフィックスとWeb開発の融合を目指す一つのカタチです。今回は、After EffectsとJavaScriptを組み合わせて、ブラウザで遊べるインタラクティブなまるばつゲーム(三目並べ)を作成する過程をご紹介します。この方法を使えば、リッチなアニメーションを含むWebアプリケーションを効率的に制作することができます。
使用するツール
- Adobe After Effects:ゲームグラフィックとアニメーション素材の制作
 - Bodymovin:After EffectsのプラグインでLottie形式に変換
 - ChatGPT:コード生成補助
 - Visual Studio Code:コード編集
 - Live Server:リアルタイムプレビュー
 
制作の流れ
- After Effectsでグラフィックとアニメーションを作成
 - Lottie形式でアニメーションをエクスポート
 - ChatGPTを使用してゲームロジックのコードを生成
 - HTMLとJavaScriptでWebアプリを構築
 - デバッグと調整
 
2. After Effectsでのアニメーション制作
まず、After Effectsでゲームに必要な要素を作成します。
- グリッドの作成:1080×1080のコンポジションに9マスのグリッドを描画
 - マルとバツの作成:それぞれ別のコンポジションで作成し、アニメーション付加
 - 勝敗表示の作成:「勝ち」「負け」「引き分け」のテキストアニメーション
 
これらの要素をBodymovinプラグインを使用してLottie形式(JSON)でエクスポートします。
Lottie形式は、主にベクターベースのアニメーションに対応しています。After Effectsの以下の機能がLottie形式でエクスポート可能です:
- シェイプレイヤー:基本的な図形やパスアニメーションに対応。
 - マスク:シェイプやレイヤーに適用されたマスクアニメーションが使用可能。
 - トランスフォーム:位置、スケール、回転、不透明度などの基本的な変形アニメーションに対応。
 - テキストアニメーション:基本的なテキストアニメーションや文字単位のアニメーションが可能。
 - ソリッドカラー:単色の背景やシェイプに使用可能。
 - グラデーション:線形および放射状グラデーションに対応。
 - トリムパス:シェイプの輪郭を動的に描画するアニメーションが可能。
 - 繰り返しアニメーション:ループやピンポン効果などの繰り返しアニメーションに対応。
 - エクスプレッション:一部の基本的なエクスプレッションがサポートされています。
 - コンポジション:ネスト化されたコンポジションも一定の制限内で使用可能。
 
※ただし、これらの機能でもケースバイケースで完全にはサポートされていないので実際に書き出してからプレビューでの確認が必要です。
 
3. JavaScriptでのゲームロジック実装
ChatGPTを活用して、基本的なHTMLとJavaScriptの構造を生成します。その後、以下の順でゲームロジックを実装していきます:
- グリッドの表示
 - マルとバツの配置
 - クリックイベントの追加
 - ターン管理と勝敗判定
 - リセット機能の実装
 
4. デバッグと改善のプロセス
開発中は、小さな機能を段階的に実装し、その都度確認することが重要です。例えば、まずグリッドだけを表示し、次にマルを1つ配置するなど、少しずつ機能を追加していきます。
問題が発生した場合(例:2戦目以降の勝敗判定がおかしい)、具体的な症状をChatGPTに伝え、解決策を探ります。この過程で、リセット時のアニメーション再読み込みなど、細かい調整が必要になることがあります。
5. 完成したゲームの紹介
完成したゲームは、以下の機能を持つシンプルながら魅力的なWebアプリケーションです:
- クリックでマルを配置
 - CPUがランダムにバツを配置
 - 3つ揃えると勝敗判定
 - 勝敗結果をアニメーションで表示
 - 5秒後に自動リセット
 
デモはこちらでプレイできます。
6. この手法の応用と可能性
この手法は、単純なゲーム以外にも多くの可能性があります:
- インタラクティブなWebバナー広告
 - 教育用のインタラクティブコンテンツ
 - 製品デモンストレーション
 - アニメーションを含むWebポートフォリオ
 
個人的には広告業界で、プレイアブル広告やインタラクティブな広告バナーとして活用できる可能性に期待してします。
7. まとめ
After EffectsとJavaScriptを組み合わせることで、デザイン性の高いインタラクティブなWebコンテンツを効率的に制作できることができます。この手法は、プログラミングの深い知識がなくても作ることができ、作りながらデバッグと修正を繰り返す中で、コードの役割が自然のみえてくるようになります。皆さんも是非、自分のアイデアでチャレンジしてみてください。新しい可能性が見つかるかもしれません。
8. 関連リンク

シンユー合同会社 代表 / モーションデザイナー
企業のマーケティングを支援する動画広告を専門に手掛け、プロモーション動画・店頭販促動画・採用動画の制作を多数担当。モーショングラフィックスを駆使し、視聴者の心をつかむクリエイティブを提供。After EffectsやPremiere Proなどの書籍の出版や、ZEN Study(旧N予備校)で講師も務める。
