@bitmagic/cli 0.1.65-dev.5 → 0.1.65-dev.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/skills/trailer-craft.md +180 -0
- package/dist/commands/trailer.js +1 -1
- package/dist/commands/trailer.js.map +1 -1
- package/dist/scaffold/project.js +2 -1
- package/dist/scaffold/project.js.map +1 -1
- package/dist/scaffold/skill-files.d.ts +32 -5
- package/dist/scaffold/skill-files.js +97 -59
- package/dist/scaffold/skill-files.js.map +1 -1
- package/package.json +4 -4
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
# Trailer craft — structure, pacing, and on-screen text
|
|
2
|
+
|
|
3
|
+
Read this before composing a cut or putting any text on screen. Compressed
|
|
4
|
+
from Derek Lieu's trailer-editing essays (trailer editor for Half-Life: Alyx,
|
|
5
|
+
Dead Cells, Spelunky 2) plus general trailer-typography guidance; sources at
|
|
6
|
+
the bottom.
|
|
7
|
+
|
|
8
|
+
## Ordering: Genre → Hook → Anchors → Content
|
|
9
|
+
|
|
10
|
+
- **Genre** in 1–2 shots: the viewer must know what kind of game this is
|
|
11
|
+
within the first seconds. For our games one gameplay shot usually does it.
|
|
12
|
+
- **Hook** — the thing only this game has — as soon as genre is established:
|
|
13
|
+
ideally inside the first 10–15 s, never later than the first third.
|
|
14
|
+
Showing generic-but-good content before the hook makes the game read as
|
|
15
|
+
"a lesser version of an old game".
|
|
16
|
+
- **Anchors** — the features people expect from the genre (for a racer:
|
|
17
|
+
overtakes, drifts, crashes, varied tracks) fill the middle.
|
|
18
|
+
- **Content** — breadth (levels, modes, vehicles) comes last, once the viewer
|
|
19
|
+
already cares.
|
|
20
|
+
|
|
21
|
+
## Timeline layout: constraints first, footage last
|
|
22
|
+
|
|
23
|
+
Lay the timeline out as a skeleton and only then hunt for footage — not the
|
|
24
|
+
other way round:
|
|
25
|
+
|
|
26
|
+
1. Write the section skeleton: **Cold open → Introduction → Escalation →
|
|
27
|
+
Climax → Breath → Button/End card**. Sections have different lengths and
|
|
28
|
+
energy; they are not equal slices.
|
|
29
|
+
2. Reserve the **end card** first: 2–3 s, ONE card (logo + tagline + CTA),
|
|
30
|
+
never a sequence of closing screens.
|
|
31
|
+
3. Place any **body title cards** next, as placeholders with their copy
|
|
32
|
+
written — each one names what the following footage must prove.
|
|
33
|
+
4. Only now fill footage, chosen to demonstrate whatever the neighbouring
|
|
34
|
+
card or section claims.
|
|
35
|
+
|
|
36
|
+
This turns "pick 15 great clips" (squishy, drifts toward sameness) into
|
|
37
|
+
"find the one clip that proves this beat" (constrained, self-diversifying).
|
|
38
|
+
|
|
39
|
+
## Pacing
|
|
40
|
+
|
|
41
|
+
- Sections need **ebb and flow**: build to a peak, then give a deliberate
|
|
42
|
+
breathing shot (~5 s, calmer, wider) before the next build or the finale.
|
|
43
|
+
The stops emphasize the fast; the fast emphasizes the slow.
|
|
44
|
+
- **Rule of three**: never more than three similar things in a row — three
|
|
45
|
+
crashes, three drift shots, three of anything. Viewers extrapolate after
|
|
46
|
+
two; the fourth is dead time.
|
|
47
|
+
- **Do not cut on every beat.** Snap cuts to the grid, but vary clip lengths
|
|
48
|
+
(2, 3, 4, 6 beats) and sometimes let a musical moment land on an in-clip
|
|
49
|
+
action (a landing, an impact) instead of a cut. Constant per-beat cutting
|
|
50
|
+
reads as a sizzle reel, and gets nauseating.
|
|
51
|
+
- Average shot length is a genre statement: ~1.3 s reads as AAA shooter,
|
|
52
|
+
~4 s reads as contemplative indie. An arcade racer sits around 1.5–3 s
|
|
53
|
+
with a few longer holds where one continuous action is the payoff.
|
|
54
|
+
- **More editing is not better editing.** A cut must clarify or escalate;
|
|
55
|
+
cutting fast to look "like a real trailer" hides the game. If a single
|
|
56
|
+
take shows the whole stunt, keep the take.
|
|
57
|
+
- Total length: under 90 s unless there's a reason; 30–45 s is a sweet spot
|
|
58
|
+
for social/store use.
|
|
59
|
+
|
|
60
|
+
## Variety — the five axes
|
|
61
|
+
|
|
62
|
+
Audit the cut on each axis; the labels list in the shots file is the tool
|
|
63
|
+
(read the labels top to bottom — repetition is visible in text before you
|
|
64
|
+
ever re-watch):
|
|
65
|
+
|
|
66
|
+
1. **Content** — different actions, not the same action in new places.
|
|
67
|
+
Escalate variants (jump → bigger jump) rather than repeating.
|
|
68
|
+
2. **Composition** — vary camera distance and framing; chase cam all the way
|
|
69
|
+
through is monotone. Watch eye-trace: the viewer's focus point should not
|
|
70
|
+
teleport across the frame on a cut.
|
|
71
|
+
3. **Energy** — intense vs. quiet moments; contrast matters more than speed.
|
|
72
|
+
4. **Pacing** — vary section tempo, not just shot tempo.
|
|
73
|
+
5. **Shot length** — vary beats-per-clip even inside a fast section.
|
|
74
|
+
|
|
75
|
+
## Where the shots come from
|
|
76
|
+
|
|
77
|
+
Played footage is the default and the bulk of any trailer: it is the only
|
|
78
|
+
thing that shows what the game DOES, and a trailer of pure scenery reads as a
|
|
79
|
+
tech demo however pretty it is. But two of the beats above are ones a chase
|
|
80
|
+
camera almost never hands you:
|
|
81
|
+
|
|
82
|
+
- the **cold open**, which wants the level to look composed and deliberate;
|
|
83
|
+
- the **breath**, which wants one calm wide shot with nothing happening.
|
|
84
|
+
|
|
85
|
+
Both are what an authored **camera fly-through** is for — a path through the
|
|
86
|
+
level with the game running underneath, so traffic still drives and animations
|
|
87
|
+
still play while the camera moves on rails. Recording one is cheap and nobody
|
|
88
|
+
has to play it, so a fly-through is worth having even when there is plenty of
|
|
89
|
+
gameplay: cut one or two of its shots into a gameplay trailer rather than
|
|
90
|
+
building a trailer out of it.
|
|
91
|
+
|
|
92
|
+
A fly-through alone is the right whole trailer in a narrow set of cases — a
|
|
93
|
+
world reveal, an architectural or exploration piece, a level that is the
|
|
94
|
+
feature — and whenever there is no one available to play. Otherwise it is a
|
|
95
|
+
source of shots, not a substitute for showing the game.
|
|
96
|
+
|
|
97
|
+
## On-screen text
|
|
98
|
+
|
|
99
|
+
When to use text at all: only when footage cannot say it. A card that
|
|
100
|
+
narrates what the next shot visibly shows is noise. Default for our
|
|
101
|
+
gameplay trailers: **end card only**; add body cards only when they carry
|
|
102
|
+
information the footage can't (game name early, a hook that isn't visual,
|
|
103
|
+
release date).
|
|
104
|
+
|
|
105
|
+
Writing the cards:
|
|
106
|
+
- Copy must sound like this game and no other. Exercise: describe the game
|
|
107
|
+
in three words; build cards from what's left after cutting everything
|
|
108
|
+
generic.
|
|
109
|
+
- ≤ 6 words per card. Evocative verbs beat feature lists ("Forge your own
|
|
110
|
+
path", not "Over 40 unique tracks").
|
|
111
|
+
- Banned: content quantities ("5 unique levels"), genre-descriptor stacks
|
|
112
|
+
("a 2D rogue-lite action adventure"), player-verb lists ("Race! Drift!
|
|
113
|
+
Win!"), and stock phrases ("In a world…", "Get ready…", "Experience…",
|
|
114
|
+
"…like never before").
|
|
115
|
+
|
|
116
|
+
Showing the cards:
|
|
117
|
+
- **Intercut, don't overlay**: a card gets its own beat between gameplay
|
|
118
|
+
shots (dimmed still or plain background). Never ask the viewer to read
|
|
119
|
+
while action plays — they do neither. Small persistent text (logo bug,
|
|
120
|
+
date) is the exception.
|
|
121
|
+
- Reading time: ~0.5–0.7 s per word, minimum 2.5 s on screen; end card
|
|
122
|
+
2–3 s (ours may run longer over a music outro).
|
|
123
|
+
- Cards ride the same beat grid as the cuts — a card is a clip.
|
|
124
|
+
- Typography must match the game's art quality and universe: one typeface
|
|
125
|
+
family for the whole trailer, generous letter-spacing for all-caps,
|
|
126
|
+
strong contrast against footage (our title raster already adds shadow),
|
|
127
|
+
subtle animation only (fade/scale-in) — a static default-font card reads
|
|
128
|
+
as a last-minute add-on.
|
|
129
|
+
|
|
130
|
+
## Structure template (30–45 s, gameplay-only, end card close)
|
|
131
|
+
|
|
132
|
+
| Section | ~share | What goes here |
|
|
133
|
+
|---|---|---|
|
|
134
|
+
| Cold open | 5–15% | The single most striking moment; genre obvious at a glance |
|
|
135
|
+
| Introduction | 15–20% | Clean, readable driving; establish look + one anchor |
|
|
136
|
+
| Escalation | 35–45% | Varied action, rising energy, hook prominent early in it |
|
|
137
|
+
| Climax | 15–20% | Densest, loudest stretch; biggest moments back to back |
|
|
138
|
+
| Breath | ~5% | One calmer, wider shot; lets the climax land |
|
|
139
|
+
| End card | 2–3 s+ | Logo, tagline, CTA — over the music's outro |
|
|
140
|
+
|
|
141
|
+
## Selection rules already paid for
|
|
142
|
+
|
|
143
|
+
These came out of review rounds on real cuts. They cost time to learn and
|
|
144
|
+
nothing to apply, so apply them before the first render, not after.
|
|
145
|
+
|
|
146
|
+
- **Never use slow motion.** On gameplay footage it reads as the game running
|
|
147
|
+
at a low framerate, not as drama. `speed` stays 1.0.
|
|
148
|
+
- **Numbers are not interest.** Event `severity` / `impactSpeed` ranks
|
|
149
|
+
car-stops-dead-against-a-wall highest — the worst possible clip. A crash
|
|
150
|
+
earns its slot only if things visibly break (`destruction` events, debris)
|
|
151
|
+
and motion continues through the hit.
|
|
152
|
+
- **Low speed can BE the drama.** Wheelspin recoveries throwing dirt or snow,
|
|
153
|
+
plowing back onto the track, being overtaken while struggling
|
|
154
|
+
(`position-change` with `gained: false`), `off-track` +
|
|
155
|
+
`hard-acceleration` clusters — these are among the best clips and score
|
|
156
|
+
near zero on any speed metric.
|
|
157
|
+
- **"Some shots of X" means a few.** The failure mode is 0-or-100: one
|
|
158
|
+
standing start is an opener, five is a broken trailer.
|
|
159
|
+
- **Quota check before rendering.** Read the shots list labels top to bottom.
|
|
160
|
+
Max one standing start; no more than three of any shot type in the whole
|
|
161
|
+
cut and never three similar in a row; vary track or biome, camera distance
|
|
162
|
+
and action type (the five axes above).
|
|
163
|
+
- **Menu and selection clips need `"ui": false`** — the HUD replay only knows
|
|
164
|
+
the gameplay HUD and will paint it over menus.
|
|
165
|
+
- **Verify on pixels.** Contact sheets and stills for every candidate, and
|
|
166
|
+
stills from the RENDERED file for anything you changed. The timeline knows
|
|
167
|
+
about events; it cannot see framing, occlusion or beauty.
|
|
168
|
+
- **Iterate cheaply, keep history.** Editing the shots and re-rendering is
|
|
169
|
+
minutes, and revisions auto-version — so render rather than debate, and
|
|
170
|
+
compare against the previous `-rN` before delivering.
|
|
171
|
+
|
|
172
|
+
## Sources
|
|
173
|
+
|
|
174
|
+
- [How to Hook the Audience and How Quickly to Do it](https://www.derek-lieu.com/blog/2022/10/24/how-to-hook-the-audience-and-how-quickly-to-do-it)
|
|
175
|
+
- [Step Two of Starting a Game Trailer Timeline](https://www.derek-lieu.com/blog/2023/2/19/step-two-of-starting-a-game-trailer-timeline)
|
|
176
|
+
- [How to Think About Pacing in a Trailer](https://www.derek-lieu.com/blog/2020/11/16/how-to-think-about-pacing-in-a-trailer)
|
|
177
|
+
- [Variety is the Spice of Trailers](https://www.derek-lieu.com/blog/2019/3/27/variety-is-the-spice-of-trailers)
|
|
178
|
+
- [More Trailer Editing is not Better Trailer Editing](https://www.derek-lieu.com/blog/2023/4/23/more-trailer-editing-is-not-better-trailer-editing)
|
|
179
|
+
- [How to Write Trailer Title Cards With Strong Messaging](https://www.derek-lieu.com/blog/2020/4/19/how-to-write-trailer-title-cards-with-strong-messaging)
|
|
180
|
+
- [10 Common Indie Game Trailer Mistakes & How to Fix Them](https://www.derek-lieu.com/blog/2020/9/14/10-common-indie-game-trailer-mistakes-and-how-to-fix-them)
|
package/dist/commands/trailer.js
CHANGED
|
@@ -73,7 +73,7 @@ const recordCommand = defineCommand({
|
|
|
73
73
|
args: {
|
|
74
74
|
seconds: { type: 'string', description: 'Stop after this many seconds. Default: record until you press F9 in the game.' },
|
|
75
75
|
resolution: { type: 'string', description: `Frame size, WxH. One of ${RECORDING_RESOLUTIONS.join(', ')}. Default 1920x1080.` },
|
|
76
|
-
flythrough: { type: 'string', description: 'A camera path JSON (trailer/flythrough.json): the
|
|
76
|
+
flythrough: { type: 'string', description: 'A camera path JSON (trailer/flythrough.json): starts the game itself and flies the camera with nobody playing, stopping at the last marker. Merge it with played footage for an establishing shot.' },
|
|
77
77
|
json: JSON_FLAG,
|
|
78
78
|
},
|
|
79
79
|
async run({ args }) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trailer.js","sourceRoot":"","sources":["../../src/commands/trailer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"trailer.js","sourceRoot":"","sources":["../../src/commands/trailer.ts"],"names":[],"mappings":"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"}
|
package/dist/scaffold/project.js
CHANGED
|
@@ -3,7 +3,7 @@ import * as path from 'path';
|
|
|
3
3
|
import { CliError } from '../errors.js';
|
|
4
4
|
import { aliasSourceDir } from './aliases.js';
|
|
5
5
|
import { renderPackageJson, renderTsconfig, renderIndexHtml, renderViteConfig, renderVitePublishConfig, renderVitePublishStandaloneConfig, renderGitignore, renderBitmagicJson, renderAgentsMd, renderGameDesignMd, renderClaudeMd, renderJudgeSkill, renderThemingSkill, renderGenerateSkill, renderPlanningSkill, renderEngineApiSkill, renderUsageSkill, } from './project-files.js';
|
|
6
|
-
import { renderCreatorCollaborationSkill, renderPublishingSkill, renderKiroSteering, renderSkillsReadme, renderTrailerSkill, } from './skill-files.js';
|
|
6
|
+
import { renderCreatorCollaborationSkill, renderPublishingSkill, renderKiroSteering, renderSkillsReadme, renderTrailerSkill, renderTrailerCraftReference, } from './skill-files.js';
|
|
7
7
|
import { renderUnityLevelsSkill, renderUnityLevelsTrapsReference, renderUnityLevelsFbxReference, renderUnityLevelsPhysicsReference, renderUnityLevelsVerificationReference, } from './unity-skill-files.js';
|
|
8
8
|
import { renderBlenderLevelsSkill, renderBlenderConventionsReference, renderBlenderAuditsReference, renderBlenderPassesReference, renderBlenderEngineHandoffReference, } from './blender-level-skill-files.js';
|
|
9
9
|
import { ALWAYS_AGENTS, dedupeAgents, skillDirsFor } from './agent-targets.js';
|
|
@@ -169,6 +169,7 @@ export const SHIPPED_SKILLS = [
|
|
|
169
169
|
['judging-quality/SKILL.md', renderJudgeSkill],
|
|
170
170
|
['theming-the-hud/SKILL.md', renderThemingSkill],
|
|
171
171
|
['making-a-trailer/SKILL.md', renderTrailerSkill],
|
|
172
|
+
['making-a-trailer/references/trailer-craft.md', renderTrailerCraftReference],
|
|
172
173
|
['publishing-a-game/SKILL.md', renderPublishingSkill],
|
|
173
174
|
['working-with-the-creator/SKILL.md', renderCreatorCollaborationSkill],
|
|
174
175
|
['converting-unity-levels/SKILL.md', renderUnityLevelsSkill],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project.js","sourceRoot":"","sources":["../../src/scaffold/project.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,uBAAuB,EACvB,iCAAiC,EACjC,eAAe,EACf,kBAAkB,EAClB,cAAc,EACd,kBAAkB,EAClB,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,gBAAgB,GAGjB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,+BAA+B,EAC/B,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,
|
|
1
|
+
{"version":3,"file":"project.js","sourceRoot":"","sources":["../../src/scaffold/project.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,6 +11,14 @@
|
|
|
11
11
|
* `project-files.test.ts` enforces the frontmatter (name == directory) and that AGENTS.md names
|
|
12
12
|
* every shipped skill. The same template-literal rule applies: the markdown is full of backticks,
|
|
13
13
|
* so every one inside is escaped as \` and the test checks the rendered output.
|
|
14
|
+
*
|
|
15
|
+
* One renderer here breaks the template-literal rule on purpose: `renderTrailerCraftReference`
|
|
16
|
+
* reads `assets/skills/trailer-craft.md`, because that file is the SOURCE OF TRUTH for trailer
|
|
17
|
+
* craft in two places at once — the skill scaffolded into a creator's project, and the monorepo's
|
|
18
|
+
* own `make-trailer` skill, which symlinks to the same file. Craft is the half of trailer guidance
|
|
19
|
+
* that is not about commands, so both readers need all of it and neither owns it; a second copy
|
|
20
|
+
* would drift the moment either was edited, and the drift is silent (both files still look like
|
|
21
|
+
* guidance). A shipped asset is the only shape that lets a symlink do the sharing.
|
|
14
22
|
*/
|
|
15
23
|
import type { SkillRenderContext } from './project-files.js';
|
|
16
24
|
/**
|
|
@@ -40,13 +48,32 @@ export declare function renderSkillsReadme({ skillsDir, skillDirs }: SkillRender
|
|
|
40
48
|
* `<skills dir>/making-a-trailer/SKILL.md` — the whole trailer flow, and the craft that makes a
|
|
41
49
|
* cut watchable.
|
|
42
50
|
*
|
|
43
|
-
* Two kinds of knowledge live here on purpose
|
|
44
|
-
* command routing an agent could read off \`--help
|
|
45
|
-
*
|
|
46
|
-
*
|
|
47
|
-
*
|
|
51
|
+
* Two kinds of knowledge live here on purpose, and they are split across two files. The FLOW
|
|
52
|
+
* (record → make → look → publish) is plain command routing an agent could read off \`--help\`,
|
|
53
|
+
* and it is what SKILL.md carries. The CRAFT — ordering, pacing, the five variety axes, the
|
|
54
|
+
* selection rules earlier trailer reviews paid for — is not derivable from any command, and
|
|
55
|
+
* without it the agent's "tuning" is random; it lives in \`references/trailer-craft.md\`
|
|
56
|
+
* (\`renderTrailerCraftReference\`) because it is longer than the flow and read once per trailer
|
|
57
|
+
* rather than once per command. The tuning table at the end is the part the creator actually
|
|
58
|
+
* experiences: a prompt in, a shots.json edit out, one command to see it.
|
|
48
59
|
*/
|
|
49
60
|
export declare function renderTrailerSkill(): string;
|
|
61
|
+
/**
|
|
62
|
+
* `<skills dir>/making-a-trailer/references/trailer-craft.md` — the only shipped skill file that is
|
|
63
|
+
* read from disk rather than written as a template literal.
|
|
64
|
+
*
|
|
65
|
+
* It is a shipped asset (`assets/skills/`, listed in package.json's `files`) because two skills
|
|
66
|
+
* need the same bytes: this one, and the monorepo's own `.claude/skills/make-trailer/`, whose copy
|
|
67
|
+
* is a SYMLINK to the asset. Trailer craft is editing knowledge — it says nothing about the CLI, so
|
|
68
|
+
* neither reader owns it and neither can be given an abridgement without going stale against the
|
|
69
|
+
* other. The same reasoning as the repo's `.agents/skills -> ../.claude/skills` link: a link is not
|
|
70
|
+
* a copy, so there is nothing to keep in step and no check to forget to run.
|
|
71
|
+
*
|
|
72
|
+
* Resolved from this module's own location the way `defaultTitleFont` resolves the bundled font:
|
|
73
|
+
* `../../assets/` is the same hop from `src/scaffold/` and from `dist/scaffold/`, so it works run
|
|
74
|
+
* from source and from an installed package alike.
|
|
75
|
+
*/
|
|
76
|
+
export declare function renderTrailerCraftReference(): string;
|
|
50
77
|
/**
|
|
51
78
|
* `<skills dir>/publishing-a-game/SKILL.md` — the whole ship-it path, and every way it refuses.
|
|
52
79
|
*
|
|
@@ -11,7 +11,17 @@
|
|
|
11
11
|
* `project-files.test.ts` enforces the frontmatter (name == directory) and that AGENTS.md names
|
|
12
12
|
* every shipped skill. The same template-literal rule applies: the markdown is full of backticks,
|
|
13
13
|
* so every one inside is escaped as \` and the test checks the rendered output.
|
|
14
|
+
*
|
|
15
|
+
* One renderer here breaks the template-literal rule on purpose: `renderTrailerCraftReference`
|
|
16
|
+
* reads `assets/skills/trailer-craft.md`, because that file is the SOURCE OF TRUTH for trailer
|
|
17
|
+
* craft in two places at once — the skill scaffolded into a creator's project, and the monorepo's
|
|
18
|
+
* own `make-trailer` skill, which symlinks to the same file. Craft is the half of trailer guidance
|
|
19
|
+
* that is not about commands, so both readers need all of it and neither owns it; a second copy
|
|
20
|
+
* would drift the moment either was edited, and the drift is silent (both files still look like
|
|
21
|
+
* guidance). A shipped asset is the only shape that lets a symlink do the sharing.
|
|
14
22
|
*/
|
|
23
|
+
import fs from 'node:fs';
|
|
24
|
+
import { fileURLToPath } from 'node:url';
|
|
15
25
|
import { describeSkillsDir } from './agent-targets.js';
|
|
16
26
|
/**
|
|
17
27
|
* `.kiro/steering/bitmagic.md` — Kiro's startup instructions, and the only per-agent extra file
|
|
@@ -105,11 +115,14 @@ in \`AGENTS.md\` — both are left alone.
|
|
|
105
115
|
* `<skills dir>/making-a-trailer/SKILL.md` — the whole trailer flow, and the craft that makes a
|
|
106
116
|
* cut watchable.
|
|
107
117
|
*
|
|
108
|
-
* Two kinds of knowledge live here on purpose
|
|
109
|
-
* command routing an agent could read off \`--help
|
|
110
|
-
*
|
|
111
|
-
*
|
|
112
|
-
*
|
|
118
|
+
* Two kinds of knowledge live here on purpose, and they are split across two files. The FLOW
|
|
119
|
+
* (record → make → look → publish) is plain command routing an agent could read off \`--help\`,
|
|
120
|
+
* and it is what SKILL.md carries. The CRAFT — ordering, pacing, the five variety axes, the
|
|
121
|
+
* selection rules earlier trailer reviews paid for — is not derivable from any command, and
|
|
122
|
+
* without it the agent's "tuning" is random; it lives in \`references/trailer-craft.md\`
|
|
123
|
+
* (\`renderTrailerCraftReference\`) because it is longer than the flow and read once per trailer
|
|
124
|
+
* rather than once per command. The tuning table at the end is the part the creator actually
|
|
125
|
+
* experiences: a prompt in, a shots.json edit out, one command to see it.
|
|
113
126
|
*/
|
|
114
127
|
export function renderTrailerSkill() {
|
|
115
128
|
return `---
|
|
@@ -128,19 +141,43 @@ and running one command again.
|
|
|
128
141
|
|
|
129
142
|
1. **Have \`bitmagic dev\` running** (it is the sink the recorder streams frames to, and the HUD
|
|
130
143
|
replay for \`--ui\`). ffmpeg and Google Chrome must be installed; the commands say so if not.
|
|
131
|
-
2. **Record
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
footage of
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
+
2. **Record — played footage, a fly-through, or both.** Decide this BEFORE you ask anyone to play:
|
|
145
|
+
|
|
146
|
+
\`\`\`
|
|
147
|
+
bitmagic trailer record --seconds 60 # they play
|
|
148
|
+
bitmagic trailer record --flythrough trailer/flythrough.json # nobody plays
|
|
149
|
+
\`\`\`
|
|
150
|
+
|
|
151
|
+
**Played footage** is the bulk of any trailer — it is the only thing that shows what the game
|
|
152
|
+
does. \`record\` opens Chrome on the dev view, waits for the creator to press Play, starts the
|
|
153
|
+
recorder for them, stops after 60 s (or when they press F9), and prints the recording directory.
|
|
154
|
+
Ask them to PLAY WELL — the trailer is only as good as the footage: overtakes, jumps, kills,
|
|
155
|
+
close calls, a finish. \`--seconds\` is wall-clock; the recording counts FRAMES at 60 fps, and the
|
|
156
|
+
game runs as fast as the machine encodes them — on a machine capturing at 30 fps, 60 s of play
|
|
157
|
+
becomes 30 s of footage (the command reports both). After stop the frames are extracted from the
|
|
158
|
+
capture; the command waits for that. Aim for about 3x the trailer length: a 30 s trailer wants
|
|
159
|
+
90 s of footage, so \`--seconds 120\` or two sittings.
|
|
160
|
+
|
|
161
|
+
**A fly-through needs nobody.** \`--flythrough\` clicks through the menu and Play itself, then
|
|
162
|
+
glides the camera along an authored path WHILE THE GAME RUNS — traffic drives, animations play,
|
|
163
|
+
physics ticks — and stops at the last marker. It is the whole trailer flow with no human in it,
|
|
164
|
+
so reach for it when the creator is not around, when you are working on your own, or when they
|
|
165
|
+
would rather not be filmed playing badly.
|
|
166
|
+
|
|
167
|
+
**Offer it even when there IS gameplay.** A chase camera almost never gives you the two shots
|
|
168
|
+
the craft doc asks for by name — a composed cold open and one calm wide breath before the end —
|
|
169
|
+
and a fly-through costs the creator nothing. Record a short one as well and join the two:
|
|
170
|
+
|
|
171
|
+
\`\`\`
|
|
172
|
+
bitmagic trailer merge <gameplay-dir> <flythrough-dir> --out <dir>
|
|
173
|
+
\`\`\`
|
|
174
|
+
|
|
175
|
+
\`merge\` is how two sittings become one cuttable recording, and it does not care how the
|
|
176
|
+
footage was made — only that the runs share a resolution and post-processing state. So the cut
|
|
177
|
+
can pull an establishing shot from the fly-through and everything else from play.
|
|
178
|
+
Tell the creator the offer in one line ("I can also fly a camera through the level for the
|
|
179
|
+
opening shot — you don't have to do anything"), and write the path yourself from the level you
|
|
180
|
+
built: \`world.json\` has the coordinates.
|
|
144
181
|
3. **Make.** \`bitmagic trailer make --music-prompt "<style that fits the game>" --title "<name>"\`
|
|
145
182
|
analyzes the recording, generates a music bed (sparks — say so to the creator; \`--music <file>\`
|
|
146
183
|
uses their own track, \`--no-music\` skips it), writes a first cut to \`trailer/shots.json\`,
|
|
@@ -163,7 +200,7 @@ cut before delivering.
|
|
|
163
200
|
| File | What it is |
|
|
164
201
|
|---|---|
|
|
165
202
|
| \`trailer/shots.json\` | **The cut.** Committed. Your edits live here; \`make\` re-cuts from it every run. |
|
|
166
|
-
| \`trailer/flythrough.json\` |
|
|
203
|
+
| \`trailer/flythrough.json\` | A camera path you author. Committed. Records with nobody playing — the whole trailer, or just the opening shot. |
|
|
167
204
|
| \`.bitmagic/trailer/recordings/<name>/\` | A recording: \`<name>_%06d.png\` at 60 fps + \`timeline.json\` (events, sounds, HUD). |
|
|
168
205
|
| \`.bitmagic/trailer/<name>/analysis.json\` | Scored highlight windows: \`startFrame\`, \`endFrame\`, \`score\`, event digests (\`"f3121 explosion i0.9"\`), \`sheet\`. |
|
|
169
206
|
| \`.bitmagic/trailer/<name>/sheets/\` | Contact sheets, one per window — read these. |
|
|
@@ -200,46 +237,26 @@ seconds or \`"last-clip"\` for the end card. \`bitmagic trailer cut\` turns this
|
|
|
200
237
|
|
|
201
238
|
Positions are world units (\`engine/agent-docs/coordinate-system.md\`); \`timestamp\` is seconds,
|
|
202
239
|
ascending from 0; \`lookAt\` (or an Euler \`rotation\`) per marker. The camera glides through the
|
|
203
|
-
markers and the recording stops at the last one.
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
(camera distance and framing), energy (intense vs quiet), pacing (section tempo), shot length.
|
|
224
|
-
**Rule of three**: never more than three similar things in a row, and max three of any shot
|
|
225
|
-
type in the whole cut.
|
|
226
|
-
|
|
227
|
-
**Text.** End card only, unless the footage cannot say it. ≤ 6 words, evocative verbs, sounds
|
|
228
|
-
like this game and no other. Banned: quantities ("5 unique levels"), genre stacks, verb lists
|
|
229
|
-
("Race! Drift! Win!"), stock phrases ("Get ready…", "…like never before"). Cards get their own
|
|
230
|
-
beat — never over action.
|
|
231
|
-
|
|
232
|
-
## Selection rules this project already paid for
|
|
233
|
-
|
|
234
|
-
- **Never slow motion.** On gameplay footage it reads as a low framerate. \`speed\` is 1.0.
|
|
235
|
-
- **Numbers are not interest.** A high \`impactSpeed\` is often a car dead against a wall — the
|
|
236
|
-
worst clip. A crash earns its slot only if things visibly break and motion continues.
|
|
237
|
-
- **Low speed can BE the drama.** Wheelspin recoveries, plowing back onto the track, being
|
|
238
|
-
overtaken while struggling — often the best clips, and they score near zero.
|
|
239
|
-
- **"Some shots of X" means a few.** One standing start is an opener; five is a broken trailer.
|
|
240
|
-
- **Menu and selection screens need \`"ui": false\`** — the HUD replay paints the race HUD over them.
|
|
241
|
-
- **Verify on pixels.** Sheets and stills, every candidate. Then render — iterating is minutes and
|
|
242
|
-
revisions are kept, so render rather than debate.
|
|
240
|
+
markers and the recording stops at the last one (600 s is the ceiling).
|
|
241
|
+
|
|
242
|
+
You write this file — take the coordinates from the level you built, in \`world.json\`. Aim the
|
|
243
|
+
first marker at whatever makes the game recognisable, keep the camera moving slowly and in one
|
|
244
|
+
direction per leg (a drifting push or a slow arc reads as deliberate; a whip-pan reads as a
|
|
245
|
+
mistake), and give each leg several seconds. Six markers over 20 s is plenty for the two or three
|
|
246
|
+
shots a cut will actually use — you are recording candidate footage, not the trailer.
|
|
247
|
+
|
|
248
|
+
## Craft — read \`references/trailer-craft.md\` before touching the cut
|
|
249
|
+
|
|
250
|
+
Everything about WHICH moments and in what order lives in
|
|
251
|
+
\`references/trailer-craft.md\`, next to this file: the Genre → Hook → Anchors → Content ordering,
|
|
252
|
+
laying the timeline out as a skeleton before hunting footage, pacing and shot length, the five
|
|
253
|
+
variety axes, the rules for on-screen text, a section-by-section structure template, and the
|
|
254
|
+
selection rules earlier trailers already paid for (never slow motion; a high \`impactSpeed\` is
|
|
255
|
+
usually a car dead against a wall; low speed can BE the drama; menus need \`"ui": false\`).
|
|
256
|
+
|
|
257
|
+
Read it in full the first time you cut a trailer for this game. The tool finds candidate windows
|
|
258
|
+
and snaps cuts to the beat — it has no opinion about any of the above, so without that file your
|
|
259
|
+
"tuning" is random.
|
|
243
260
|
|
|
244
261
|
## Tuning from prompts
|
|
245
262
|
|
|
@@ -254,6 +271,8 @@ The creator talks; you edit \`trailer/shots.json\`, run \`bitmagic trailer make\
|
|
|
254
271
|
| "show the menu / the map / the start" | add ONE shot from the recording's opening with \`"ui": false\` |
|
|
255
272
|
| "put the title at the end" / "change the tagline" | \`titles: [{ "at": "last-clip", "text": "…", "sub": "…", "style": "card" }]\` |
|
|
256
273
|
| "add a title at the start" | a \`title\`-style cue at \`at: 0\` for ~2.5 s, and make the first shot calm enough to read over |
|
|
274
|
+
| "show more of the world / the level", "a wider shot", "an establishing shot" | record a fly-through, \`merge\` it with the gameplay recording, and take the cold open (and the breath) from it |
|
|
275
|
+
| "I can't play right now", "you do it", nobody available | \`record --flythrough\` — it clicks Play itself and needs no one |
|
|
257
276
|
| "different music", "more epic / chill" | \`--music-prompt\` with the new direction (spends sparks), or \`--music <file>\`; shots keep their beat counts and re-snap |
|
|
258
277
|
| "no HUD" / "show the HUD" | drop or add \`--ui\` (per shot: \`"ui": false\`) |
|
|
259
278
|
| "the HUD stutters" / "smoother HUD" | raise \`--ui-keyframe-rate\` on \`make\` or \`render\` (default 30/s; 0 = every change) |
|
|
@@ -265,6 +284,25 @@ Then: **quota check** the labels (rule of three, one standing start), render, ex
|
|
|
265
284
|
from the changed region, compare with the previous \`-rN\`, deliver the URL.
|
|
266
285
|
`;
|
|
267
286
|
}
|
|
287
|
+
/**
|
|
288
|
+
* `<skills dir>/making-a-trailer/references/trailer-craft.md` — the only shipped skill file that is
|
|
289
|
+
* read from disk rather than written as a template literal.
|
|
290
|
+
*
|
|
291
|
+
* It is a shipped asset (`assets/skills/`, listed in package.json's `files`) because two skills
|
|
292
|
+
* need the same bytes: this one, and the monorepo's own `.claude/skills/make-trailer/`, whose copy
|
|
293
|
+
* is a SYMLINK to the asset. Trailer craft is editing knowledge — it says nothing about the CLI, so
|
|
294
|
+
* neither reader owns it and neither can be given an abridgement without going stale against the
|
|
295
|
+
* other. The same reasoning as the repo's `.agents/skills -> ../.claude/skills` link: a link is not
|
|
296
|
+
* a copy, so there is nothing to keep in step and no check to forget to run.
|
|
297
|
+
*
|
|
298
|
+
* Resolved from this module's own location the way `defaultTitleFont` resolves the bundled font:
|
|
299
|
+
* `../../assets/` is the same hop from `src/scaffold/` and from `dist/scaffold/`, so it works run
|
|
300
|
+
* from source and from an installed package alike.
|
|
301
|
+
*/
|
|
302
|
+
export function renderTrailerCraftReference() {
|
|
303
|
+
const source = fileURLToPath(new URL('../../assets/skills/trailer-craft.md', import.meta.url));
|
|
304
|
+
return fs.readFileSync(source, 'utf-8');
|
|
305
|
+
}
|
|
268
306
|
/**
|
|
269
307
|
* `<skills dir>/publishing-a-game/SKILL.md` — the whole ship-it path, and every way it refuses.
|
|
270
308
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill-files.js","sourceRoot":"","sources":["../../src/scaffold/skill-files.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"skill-files.js","sourceRoot":"","sources":["../../src/scaffold/skill-files.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAGvD;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,kBAAkB;IAChC,OAAO;;;;;;;;;;;;;;;;;;CAkBR,CAAC;AACF,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,EAAE,SAAS,EAAE,SAAS,EAAsB;IAC7E,2FAA2F;IAC3F,6EAA6E;IAC7E,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC;IAC7F,6FAA6F;IAC7F,0EAA0E;IAC1E,MAAM,WAAW,GACf,QAAQ,CAAC,MAAM,KAAK,CAAC;QACnB,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,8FAA8F;YAC9F,mEAAmE;YACnE,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;YAC5C,iFAAiF,CAAC;IAExF,OAAO;;sBAEa,SAAS,SAAS,iBAAiB,CAAC,SAAS,CAAC;;;EAGlE,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2BZ,CAAC;AACF,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,kBAAkB;IAChC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6JR,CAAC;AACF,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,2BAA2B;IACzC,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,GAAG,CAAC,sCAAsC,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/F,OAAO,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAC1C,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,qBAAqB;IACnC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+HR,CAAC;AACF,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,+BAA+B;IAC7C,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkER,CAAC;AACF,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bitmagic/cli",
|
|
3
|
-
"version": "0.1.65-dev.
|
|
3
|
+
"version": "0.1.65-dev.6",
|
|
4
4
|
"description": "Build Bitmagic games from your own agent tool",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
6
6
|
"author": "Bitmagic Oy",
|
|
@@ -25,9 +25,9 @@
|
|
|
25
25
|
"playwright-core": "^1.59.1",
|
|
26
26
|
"tar": "^7.4.3",
|
|
27
27
|
"ws": "^8.21.3",
|
|
28
|
-
"@bitmagic/
|
|
29
|
-
"@bitmagic/
|
|
30
|
-
"@bitmagic/
|
|
28
|
+
"@bitmagic/asset-core": "0.2.20-dev.6",
|
|
29
|
+
"@bitmagic/animation-forger": "0.1.20-dev.6",
|
|
30
|
+
"@bitmagic/world-forger": "0.1.25-dev.6"
|
|
31
31
|
},
|
|
32
32
|
"devDependencies": {
|
|
33
33
|
"@eslint/js": "^9.38.0",
|