Quadcode.ai
← All posts How to Make a Game Character Animation Video

How to Make a Game Character Animation Video

The Pipeline

Three steps. One character concept in, one cinematic video out.

Step 1 — Character Sheet   (gpt-image, 2 calls: initial portrait → full grid)
         ↓  initial.png + character_sheet.png
Step 2 — Storyboard        (gpt-image, 4×4 grid, 2560×1568)
         ↓  storyboard.png
Step 3 — Video             (Seedance, 15s, 1080p 16:9)
         ↓  fight_video.mp4

Each step feeds the next. The character sheet is the visual anchor — face, clothing, and identity stay locked across storyboard and video.


Step 1 — Character Sheet

PO

Product Owner

PO

make new character — exotic dancer assassin. use the gamedev_create_character_sheet skill to generate the initial image and full character sheet.

Lumi

Designer

Lumi

gpt-image-v2

Two calls — first a single full-body portrait to lock the identity, then a full production character bible grid using that portrait as the anchor. Face, outfit, and tattoos stay consistent across every panel.

The skill runs two sequential gpt-image calls per character. Step 1a generates a single full-body portrait (initial.png) — this is the identity anchor. Step 1b uses it as IMAGE-INPUT to produce the full multi-panel character sheet.

Step 1a — Initial Portrait

FILE: samples/gamedev_create_character_sheet/veyra_nox/initial.png
UTILITY: gpt_image
QUALITY: high
WIDTH: 1024
HEIGHT: 1536
OUTPUT_FORMAT: png

PROMPT: |
  Create a single full-body character portrait for a game character named Veyra Nox.

  CHARACTER: Lithe athletic woman, sharp angular features, dark kohled eyes, deep bronze skin.
  Jet black hair in a sleek high ponytail with loose strands framing her face. Serpent tattoo
  coiling from left wrist to shoulder. Sheer black performance outfit with gold chain details,
  thigh-high boots with hidden blade compartments, jeweled choker. Twin retractable wrist blades.

  STYLE CONTEXT: cyberpunk underworld, neon-lit, dark and seductive, painterly cinematic

  COMPOSITION: full body, head to toe, neutral three-quarter stance, character centered,
  dark charcoal background with neon purple and gold rim light.

  No panels, no grid, no nameplate, no UI. Single image only.

Veyra Nox — initial portrait

Step 1b — Character Sheet Grid

Uses initial.png as IMAGE-INPUT. The prompt specifies the full editorial layout — orthographic views, expression progression, wardrobe details, hand gestures, silhouette guide, and color palette swatches.

FILE: samples/gamedev_create_character_sheet/veyra_nox/character_sheet.png
UTILITY: gpt_image
QUALITY: high
WIDTH: 2560
HEIGHT: 1440
OUTPUT_FORMAT: png

IMAGE-INPUT: samples/gamedev_create_character_sheet/veyra_nox/initial.png
FILES: samples/gamedev_create_character_sheet/veyra_nox/initial.png

PROMPT: |
  Cinematic illustrated character reference sheet.

  SUBJECT: Veyra Nox — cyberpunk underworld assassin. Preserve EXACT hair, face, wardrobe,
  footwear, body proportions, and color signature from @image1.

  SHEET LAYOUT:
  — TOP HEADER: "CHARACTER REFERENCE SHEET" | NAME: Veyra Nox | ROLE: Assassin | color swatches
  — MAIN IDENTITY (large left panel): FRONT, 3/4, SIDE, BACK views with height ruler
  — EXPRESSION PROGRESSION (right panel): 8 headshots — NEUTRAL to DETERMINED
  — SILHOUETTE GUIDE: two pure black silhouettes
  — WARDROBE DETAILS (bottom row): HAIRSTYLE, OUTER LAYER, FOOTWEAR, FABRIC DETAIL
  — HAND GESTURES (bottom row): RELAXED, TENSE, POINTING, GRIPPING, SUBTLE

  STYLE: anime/manga-influenced flat illustration, soft cell shading, warm off-white paper
  background (#F4F1EA), clean print-ready layout. NOT CGI — flat 2D illustration.

Veyra Nox — character sheet

Key rule: Always generate initial.png first — never skip straight to the grid. The grid model needs a real image anchor, not just a text description, to keep the face and outfit consistent across all panels.


Step 2 — Storyboard

PO

Product Owner

PO

make storyboard for her — epic fight against a knight. story-driven, cinematic, close-ups of knife extension. knight must have a sword. storyboard must be black on white.

Lumi

Designer

Lumi

gpt-image-v2

16 panels, 4×4 grid. Cold open on her eyes, then the fight unfolds — knife extension close-up, first clash, mid-fight reversal, knight hit with sparks, final blow. Character sheet as IMAGE-INPUT to lock her appearance.

The storyboard is a single gpt-image call — 16 panels in a 4×4 grid at 2560×1568. The character sheet is passed as IMAGE-INPUT so the model knows exactly what Veyra looks like.

FILE: samples/gamedev_make_game_video/veyra_nox/storyboard.png
UTILITY: gpt_image
QUALITY: high
WIDTH: 2560
HEIGHT: 1568
OUTPUT_FORMAT: png

IMAGE-INPUT: samples/gamedev_create_character_sheet/veyra_nox/initial.png
FILES: samples/gamedev_create_character_sheet/veyra_nox/initial.png

PROMPT: |
  Create a 16-panel cinematic fight storyboard in a 4x4 grid.

  CHARACTER: Use the character from @image1 — match clothing, face, hair exactly in every panel.
  Veyra Nox: lithe assassin, black outfit, gold chains, twin retractable wrist blades.
  OPPONENT: armored knight in heavy rusty plate armor, wielding a longsword.

  PANEL SEQUENCE (story-driven, cinematic cold open):
  P1  ECU — Veyra's eyes in darkness, cold and focused. Label: "THE LOOK"
  P2  ECU — her wrist, blade snapping out in a flash of steel. Label: "BLADE OUT"
  P3  MCU — knight's gauntlet gripping sword hilt, rising. Label: "THE KNIGHT RISES"
  P4  WIDE — both figures in motion, already closing distance. Label: "COLLISION COURSE"
  P5  MCU — Veyra ducks under a sword swing, blades raised. Label: "UNDER THE BLADE"
  P6  CU — her knife deflects the sword, sparks flying. Label: "FIRST PARRY"
  P7  MCU — she drives a knee into the knight's chest. Label: "BODY BLOW"
  P8  WIDE — knight staggers back, she presses forward. Label: "PRESS"
  P9  CU — knight's sword slashes her arm, blood. Label: "CUT"
  P10 MCU — she rolls away, eyes burning with focus. Label: "RECOVER"
  P11 CU — her hand grips both blades tighter. Label: "RESOLVE"
  P12 WIDE — she charges low, under his guard. Label: "THE CHARGE"
  P13 MCU — both blades drive into gaps in the armor, sparks. Label: "STRIKE"
  P14 CU — knight's visor cracks, light fading. Label: "VISOR CRACK"
  P15 WIDE — knight collapses, she stands over him. Label: "FALLEN"
  P16 ECU — her face, expressionless, blades still extended. Label: "AFTERMATH"

  STYLE: rough gestural pencil/charcoal storyboard sketch, expressive line weight,
  motion blur strokes, dynamic action lines. White paper background per panel.
  Thin black border per panel, handwritten label at bottom, panel number top-left.
  Clean 4x4 grid, equal panel sizes.

Veyra Nox — fight storyboard

Storyboard tips:

  • Describe each panel explicitly — don’t rely on the model to invent the sequence
  • Mix shot sizes: ECU for emotion, CU for weapon detail, MCU for action, WIDE for spatial context
  • Name weapons and keep them consistent: “twin retractable wrist blades” in every panel description, not just the first
  • Start with action, not a standoff — the model defaults to static poses if you don’t specify motion

Step 3 — Video

PO

Product Owner

PO

make video using storyboard and char sheet. use Seedance for the video. cinematic realistic fight, sparks when knight is hit, rusty armor, IMAX camera, epic music.

Sonic

Motion Designer

Sonic

seedance

Storyboard as @image1, character sheet as @image2. Seedance animates the 16-panel sequence into a fluid 15-second fight. IMAX framing, sparks on impact, rusty armor detail, orchestral score.

Seedance takes two image inputs: the storyboard (@image1) as the action sequence guide, and the character sheet (@image2) as the visual identity lock. Both are critical — without the char sheet the character drifts; without the storyboard the video has no narrative structure.

FILE: samples/gamedev_make_game_video/veyra_nox/fight_video.mp4
UTILITY: seedance
DURATION: 15
ASPECT_RATIO: 16:9
RESOLUTION: 1080p
SPEED_MODE: standard

IMAGE-INPUT: samples/gamedev_make_game_video/veyra_nox/storyboard.png
IMAGE-INPUT-2: samples/gamedev_create_character_sheet/veyra_nox/character_sheet.png
FILES: samples/gamedev_make_game_video/veyra_nox/storyboard.png,
       samples/gamedev_create_character_sheet/veyra_nox/character_sheet.png

PROMPT: |
  Cinematic 15-second fight sequence. A lithe female assassin with twin retractable wrist
  blades fights a heavily armored knight wielding a longsword.

  CHARACTER: @image2 — use this character sheet as the visual anchor. Match face, hair,
  black outfit with gold chain details, thigh-high boots, and twin wrist blades exactly
  throughout the entire video. Costume locked — no changes.

  ACTION: Follow the storyboard sequence from @image1 — animate the 16 panels in order,
  compressing into a fluid 15-second fight. Cold open on her eyes, blade extension close-up,
  first clash, mid-fight reversal, final decisive strike, aftermath.

  OPPONENT: Knight in heavy rusty plate armor — visible rust streaks, dented pauldrons,
  scratched visor. Wielding a longsword throughout. When struck, hot white and orange sparks
  burst from armor gaps. Knight moves with weight and momentum — slow powerful swings,
  stumbling when hit.

  CAMERA: IMAX-style cinematography — extreme close-ups on eyes and blade details,
  sweeping wide shots for spatial context, slow-motion on peak impact moments.
  Dynamic handheld energy during combat, locked off for emotional beats.

  MOTION: fluid, realistic choreography — balletic precision from Veyra, brute force from
  the knight. Natural physics: clothing flows, armor clanks, dust kicks up on heavy impacts.

  ATMOSPHERE: dark stone corridor, dramatic chiaroscuro lighting, shafts of cold blue-white
  light cutting through shadow. Orchestral score — strings building to brass on impact beats.

  STYLE: photorealistic cinematic, blockbuster quality. No cartoon, no stylization.
  Both knives visible in every shot featuring Veyra.

Key Learnings

  • Use gamedev_create_character_sheet skill for character sheets — this dedicated skill handles the two-step pipeline (initial portrait → full grid) and keeps the generation consistent. Don’t try to replicate it manually.
  • Storyboards must be black on white — always specify monochrome pencil/charcoal sketch on white paper background. Color storyboards confuse the video model and reduce motion quality.
  • Use Seedance for video generation — Seedance is the right model for this pipeline. It handles multi-image reference inputs (storyboard + char sheet) and produces the best results for cinematic character animation.
  • Two-step character sheet — always generate initial.png first, then use it as IMAGE-INPUT for the grid. The grid model needs a real image anchor to keep face and outfit consistent across all panels.
  • Pass both refs to video — storyboard as @image1 (action guide) + character sheet as @image2 (identity lock). Missing either causes drift.
  • Describe each storyboard panel explicitly — don’t let the model invent the sequence. Name shot sizes (ECU, CU, MCU, WIDE), label each panel, and specify motion direction.
  • Lock weapons by name in every panel — “twin retractable wrist blades” in every panel description, not just the first. Models forget weapons between panels if you don’t repeat them.
  • Start storyboards in motion — open with action (ECU on eyes, blade snapping out) not a standoff. Static opening poses bleed into the video.
  • Iterate the storyboard before the video — video generation is expensive and slow. Get the storyboard right first; the video follows the panels closely.
  • Specify opponent materials — “rusty plate armor, dented pauldrons, scratched visor” gives the model enough to render realistic metal. Generic “armor” produces generic results.