「あのアセット作ってなかった」を防ぐ
ゲームを作り始めると、次から次へと必要なアセットが出てくる。キャラの立ち絵を作った。スプライトシートも作った。でもバトル画面を組んでみたら「被ダメージのモーションがない」「回復エフェクトがない」「ボタンのホバー状態を作ってなかった」。
こういう「作り忘れ」が積み重なると、実装中に何度も手を止めてアセット制作に戻ることになる。集中が途切れるし、急いで作った素材は品質も下がる。
この問題は、制作を始める前にアセットの全体像を把握しておくことで大幅に減らせる。何が必要で、それぞれどんな形式で、どう作るか。この記事ではその整理の仕方を書く。
ゲームアセットは5つに分類できる
ゲームで使うアセットは、突き詰めると以下の5カテゴリに収まる。
- 静止画 — 立ち絵、背景CG、UIパーツ、アイコン。PNG or WebP
- アニメーション — スプライトシート、WebPアニメ。動く素材だが動画ではない
- 動画 — OP/ED、必殺技演出、ガチャ演出。MP4 or WebM
- 音声 — BGM、効果音、ボイス。MP3 or OGG
- フォント — UIテキスト、ダメージ数字。WOFF2 or TTF
まずこの5つの中で「自分のゲームにはどのカテゴリが必要か」を確認する。ノベルゲームなら動画やスプライトシートは不要かもしれない。アクションゲームならスプライトシートが大量に必要だが立ち絵は少ないかもしれない。
最初にやること: ゲームの画面一覧(タイトル、メニュー、バトル、会話、マップ等)を書き出し、各画面に必要なアセットを5カテゴリで分類する。これだけで「全体でどのくらいのアセットが必要か」の見積もりが立つ。
キャラクターアセットが一番複雑な理由
アセット制作で最も管理が大変なのはキャラクター関連だ。理由は「差分」の概念があるから。
差分とは、同じキャラクターの同じ構図で一部だけ変えたバリエーションのこと。具体的には3種類ある。
表情差分
ADV(ビジュアルノベル)の会話シーンで、キャラの感情に合わせて表情を切り替える。通常、笑顔、怒り、悲しみ、驚き、照れ…最低でも5種類、しっかり作るなら8種類以上。
制作方法は2つ。1つは全身を毎回丸ごと生成する方法。もう1つは、ベースの立ち絵の目と口のパーツだけを差し替える方法。後者の方が一貫性が保ちやすく、アセット数も減る。AIで生成する場合はimg2imgやインペイントで表情部分だけ再生成するのが効率的。
ポーズ差分
体全体のポーズを変える。通常の立ちポーズ、腕組み、指差し、構え等。ポーズが変わると表情差分も全部作り直しになるので、ポーズ数 × 表情数で掛け算的にアセットが増える。ポーズ数は慎重に決めること。
衣装差分
衣装が変わるとさらに掛け算。制服、私服、戦闘服で3衣装なら、ポーズ3種 × 表情8種 × 衣装3種 = 72枚。メインキャラ5人なら360枚。この数字を見て「本当にこの差分数が必要か」を企画段階で判断する。
管理のコツ: 差分は掛け算で増えるので、「本当に必要な差分」を絞り込むことが最重要。表情はゲーム中に実際に使うシーンから逆算する。ポーズは2-3種あれば大抵足りる。衣装差分はストーリー上必要な場合のみ。
スプライトシートの考え方
バトルやマップ移動でキャラクターを動かすには、スプライトシートが必要になる。1枚の画像に複数のアニメーションフレームを並べたもので、プログラムで「今何フレーム目を表示するか」を制御する。
必要なモーションはゲームの種類で変わる。
- RPG / ストラテジー: 歩行(4方向×3-4フレーム)、待機、攻撃(武器種別)、被ダメ、死亡
- アクション: 上記 + 走行、ジャンプ、回避、ガード、各種コンボ
- ノベルゲーム: 基本不要(立ち絵のみ)
- カードゲーム: 基本不要(カードイラストのみ)
フレーム数は多いほど滑らかだが、制作コストも上がる。歩行3フレーム、攻撃3-5フレーム程度で充分に動いて見える。8方向が必要か4方向でよいかも、ゲームの見せ方次第。
同じ演出でも実装形式が変わる
ここが最も実践的で重要なポイント。たとえば「必殺技のカットイン演出」を実装するとして、選択肢は複数ある。
例: 必殺技カットイン
- MP4動画: 高品質で滑らか。ただし透過ができない。画面全体を覆う演出向き
- WebPアニメーション: 透過対応。UI上にオーバーレイして表示できる。ファイルサイズはMP4より大きめ
- WebM動画: 透過対応+高品質。ただしSafariで非対応のバージョンがある
- CSS + 静止画: 静止画をCSSアニメーションでスライドイン・ズームさせる。最も軽量で実装も簡単。ただし複雑な動きは苦手
- スプライトシート: ゲームエンジン側でフレーム制御。制御の自由度が最も高い
どれが正解かは「透過が必要か」「動きの複雑さ」「ターゲットブラウザ/プラットフォーム」で決まる。この判断を形式選択の前に済ませておかないと、作り直しが発生する。
判断の3要素:
1. 透過が必要か? → Noなら MP4 が最も効率的
2. 動きは複雑か? → 単純(スライド/ズーム程度)なら CSS + 静止画 で十分
3. プログラムで制御したいか? → Yesなら スプライトシート か CSS/JS
アセット管理の3ステップ
最後に、具体的なアセット管理の進め方をまとめる。
Step 1: 必要アセット一覧を作る
ゲームの全画面・全機能を洗い出し、それぞれに必要なアセットをリストアップする。キャラクターアセットは差分の数まで具体的に書き出す。「だいたいこのくらい」ではなく、正確な数を出す。
Step 2: 形式を決める
各アセットに対して、使用する形式を先に決める。「あとで考える」と実装段階で混乱する。画像ならPNG/WebP、アニメーションならスプライトシート/WebPアニメ、動画ならMP4/WebM。
Step 3: 命名規則とフォルダ構成を統一する
アセットの数は簡単に数百を超える。命名規則(chara_sakura_normal_smile.webp)とフォルダ構成(assets/characters/, assets/sprites/, assets/audio/bgm/等)を最初に決めておかないと、後から探すのが地獄になる。
命名規則のテンプレート:
[種別]_[対象]_[バリエーション]_[状態].[拡張子]
例: chara_sakura_normal_smile.webp, sprite_sakura_walk_down.png, bgm_battle_boss.mp3
まとめ
アセット管理は地味だが、ここを雑にすると制作中ずっと苦しむことになる。作り始める前に「何が必要か」「どの形式か」「どう整理するか」を決めておくだけで、実装フェーズの効率が大きく変わる。
具体的なアセット種別ごとの詳細(必要な差分の一覧、スプライトシートの構成、形式選択フローチャート、制作ツール一覧等)は、Game Asset Wikiの制作ガイドにまとめてある。
🛠️ アセット制作ガイド(Wiki)を見る →