Make an Audition-style dance rhythm game from video and a rigged character
Direction sequences, beat-timed hits and a customizable Three.js stage.
| Demo | Description | View |
|---|---|---|
| Default Character Dance Game | Blue-white concert stage, Easy/Challenge/Demo modes and original audio | View |
Build or improve browser dance games with keyboard and touch input, easy/challenge/demo modes, score/combo judgments, restart and a procedural blue-white concert stage requiring no logo, posters or stage images. Reuse existing captures and adapt a rigged character to BVH motion. The game opens in English and includes a Chinese/English switch.
The starter supports one or two dancers sharing a model. It is a skeleton-specific starting point, not automatic rigging or universal retargeting. Video editing, standalone animation and modeling from scratch are outside scope.
- Inspect the existing project and authorized media, rigged model and motion.
- Reuse BVH or obtain motion capture under current service authorization.
- Adapt bone mapping, motion offsets, BPM and beat offset.
- Customize the stage and validate real gameplay on desktop and phone.
- Deliver source and static build; deploy only when requested.
Motion capture documents an API workflow, not an integrated submit command. No sibling setup skill is required.
CN/global routing is included. Before remote work, run python3 scripts/v2fun.py region --project /path/to/project; use V2FUN_REGION=cn or V2FUN_REGION=global to select explicitly. Automatic detection uses read-only balance requests. Quotes and saved tasks stay bound to the selected server. See server routing.
Ask: “Use $v2fun-dance-game to make a dance game.” Upload a dance video and a rigged character, or explicitly choose the default video/model. Uploading only one input lets you choose the other default. Stage images and BPM are not required.
If the character already has animation, select its clip and provide music or a video for its soundtrack. That route does not call video motion capture. If both an animated model and dance video are supplied, clarify which motion to use. For mismatched music/animation lengths, agree on trimming, looping or speed fitting.
New video capture defaults to body-only, without independent finger tracking. Before a paid call, the assistant offers optional hand capture and shows current body/hand credit estimates and the difference. Existing matching results and the bundled default capture are reused without a new capture charge. See onboarding and default materials.
To initialize the bundled defaults after choosing them:
python3 scripts/scaffold.py /path/to/default-game --use-defaults --three-dir /path/to/three-packageInstall the folder at ~/.codex/skills/v2fun-dance-game/, or inside the custom CODEX_HOME skills directory, with SKILL.md directly inside. Replace the old v2fun-dance installation to avoid duplicates; preserve existing game projects, task IDs and budgets.
Use Python 3.9+, Node.js 18+, one consistent Three.js package and a WebGL browser. The starter still requires a supplied Three.js package; the existing single-file example embeds its runtime. Run from the skill folder:
python3 scripts/scaffold.py /path/to/new-game --assets-dir /path/to/prepared-assets --three-dir /path/to/three-package --dancers 2
cd /path/to/new-game
npm run build
npm startInvoke $v2fun-dance-game with your video, rigged character and any existing BVH; describe the game and intended delivery. Prepared inputs and skeleton limitations are documented in starter setup and retargeting.
Omitting the two asset/dependency options creates source only and reports missing files. Existing destinations are rejected. Builds reject existing dist output; inspect and move the previous output before rebuilding. Incompatible bones require adapting the mapping.
Local scaffolding requires no key or paid call. New V2Fun capture needs current authorization, service credits and V2FUN_API_KEY in the execution environment. Save and resume task IDs; do not repeat an uncertain submission. The included example reuses an existing capture; no new paid capture was needed.
| Output | Contents and acceptance |
|---|---|
| Source project | Editable gameplay, stage, character adapter and UI |
| Static build | Files explicitly listed in public-files.json, after required inputs are supplied |
| Optional deployment | An actual URL only after requested deployment succeeds |
A source scaffold alone does not establish correct motion, synchronization or a playable game. See verification.
Private repository package with direction-sequence gameplay, three modes, stage effects, explicit public build files and input/skeleton checks. This is not a tagged GitHub Release. See the included example for supported controls and known timing/grounding limits.
This repository is private; public star-history data is unavailable.
V2Fun supports the development of this dance-game workflow and its reusable stage template. The skill connects a creator’s supplied video, rigged character and captured motion with editable browser gameplay. Its focus is practical control over timing, character adaptation, stage presentation and delivery. Existing assets can be reused, and local preparation does not require a paid service call. Remote motion capture is a separate service with its own access and credit requirements. Creators retain responsibility for choosing materials they may use and for checking the finished experience on the devices they intend to support.
Maintainer: V2Fun Team · Feedback on Discord.
Thanks to Three.js and its contributors for the renderer, loaders and postprocessing APIs used by generated games. README presentation follows the V2Fun publication template, inspired by img2threejs. No endorsement is implied.
MIT License
Copyright © 2026 V2Fun Team.
See third-party and asset scope. MIT covers the project code and documentation, not trademarks, service credits or third-party media rights. This is not an official Audition product.
