Pacing sheet to paste into your agent prompt:
Intensity score (per player, track the max):
- goes up on: [damage taken] [player down] [knocked off a ledge] [enemy killed nearby]
- drains per second: [ ]
- no drain while an enemy is engaging the player
- peak threshold: [ ]
States:
1. Build up: full enemy spawns until score > threshold
2. Sustain peak: keep spawning for [3-5] s
3. Peak fade: no new spawns, wait until score drops below threshold
4. Relax: minimal spawns for [30-45] s or until the player moves [ ] m ahead, then back to 1
Never touched by the pacing logic: [bosses / scripted events]
Change only WHEN enemies come, not how strong they are.
Source, The AI Systems of Left 4 Dead (Mike Booth, Valve, 2009): https://t.co/4k0N9dIExk
I'd bet your AI agent has no idea when to stop.
Lucky for you, Valve was into AI before it was cool. In 2008 Left 4 Dead had an AI Director that decided when the zombies come and when they stop. One crude intensity score per player. Four states.
I think that system is still the best pacing brief you can hand an agent today.
From Mike Booth's 2009 talk:
Each player has an intensity score. It rises when you take damage, get knocked down, get pulled off a ledge, or a zombie dies right next to you. It decays over time, but never while something is still attacking you.
The Director cycles through 4 states:
Build up. Full pressure until someone's score crosses the threshold.
Sustain peak. Keep spawning for 3-5 more seconds.
Peak fade. Stop adding new threats, let the current fight finish.
Relax. 30-45 seconds of almost nothing, or until the team pushes far enough ahead.
Then it repeats.
Bosses are the exception. Their locations are set at map start and the Director leaves them alone. Without them, pacing suffered too much.
The Director never made the game harder. It only changed the timing. Booth even admitted the score was crude. It still worked.
If you want to give this to your agent, hand it three things:
1. What raises the score
2. The threshold
3. The four timers
The one-pager with scores, thresholds and timers is in the reply.
oh, cloaks. they always cause trouble, and if you also want them to move nicely with physics and never glitch, that's a whole other level :)
the demo looks great, but what kind of vampire doesn't want to bite your neck? :)
just my 2 cents, I'd make the scene darker, the torch feels a bit out of place here. a deep dark night with thick clouds, where the full moon breaks through now and then and softly lights up an old vampire castle in the background, would look really good. I'd also bring the castle a bit closer, still hidden behind the thick forest, but with the spires of the roof showing above the trees
@genex_games What does the project look like when you open it in the editor afterwards? Named folders and clean actors, or one giant level full of unnamed meshes?
@alisaqqt@claudeai Eight tools in one chain, and the note that mattered still came from a person looking at the light. Would be good to see the raw first pass next to the final one.
@FrieNDA_2 Half of Unreal knowledge lives in forum threads from 2017 and one guy's YouTube channel. Asking a model to read third-party code for you is the same move with less scrolling.
Holy shit, Celeste has been cheating this whole time.
For you.
The players who rage-quit it never found out the game was trying to help.
Maddy Thorson, Celeste's creator, listed 10 hidden tricks the game pulls to keep you alive:
• Run off a ledge and you can still jump for a moment, standing on nothing.
• Press jump just before you land and it fires on the frame your feet touch.
• Hold the button and gravity halves at the top of the arc, so you get time to aim.
• Bonk your head on a ceiling corner and the game slides you around it.
• Dash into the lip of a ledge and it lifts you on top.
• Dash sideways through a thin platform and it pops you up onto it.
• Jump off a moving platform just after it stops, you still get its boost.
• Wall jumps work from 2 pixels away, a quarter of a tile at 320x180.
• The harder wall jump, done while dashing up, works from even further.
• Hit the stamina-burning wall jump by mistake, push away a moment later, and the game refunds it and swaps the jump.
Maddy's summary: every timing and position window is fudged a little in the player's favor. And the team didn't invent any of it.
I think players never notice forgiveness. They notice when it's missing and call it bad controls. If an AI agent writes my character controller, every one of these goes into the prompt by name. I wouldn't count on it adding them by itself.
@ItsmeAjayKV scenes this dense used to be a whole environment team's month. the bottleneck is moving from building worlds to deciding what's worth exploring in them
@higgsfield_ai going from several iterations to one fix is the real headline. if that holds outside a showcase, prototyping a level stops being a week and becomes an afternoon
Prompt I'd give an AI coding agent to add Celeste-style forgiveness to your own game, without copying Celeste:
You're working on my game's player character. Your job is to make the controls feel fair by quietly helping the player when they're almost right. Build on my existing code, don't rewrite movement.
The idea comes from Maddy Thorson's "Celeste & Forgiveness": widen timing and position windows a little in the player's favor. Use the principle only. Don't copy Celeste's list of tricks or its values. Design for my game.
Step 1. Study my game first. Tell me:
- engine, 2D or 3D, the controller files
- every player action (jump, attack, grab, dash, interact, whatever exists)
- for each action: what timing or position the player has to hit for it to work
Step 2. Find the "almost" moments. For each action, list where a player could be slightly late, slightly early, or a few units off and still fail. Rank them by how often a real player would hit them and how unfair the failure would feel.
Step 3. Propose a fix for the top 5-7, and only for mechanics my game actually has. For each one:
- what the player does wrong
- what the game quietly does instead
- why it fits my game's feel
- a tunable value with a default, in seconds or my project's units, plus an on/off toggle
You can use common genre-standard assists (late jump after a ledge, early jump input, nudge past a corner) where they fit, but adapt them to my mechanics. At least half of your proposals must come from my game's own actions, not from platformer defaults. Don't add new mechanics.
Step 4. Wait for my OK on the list, then build it.
Step 5. After building:
- a debug overlay that shows each assist the moment it fires
- a small test room with one spot per assist
- a short list of what changed and where
Rule for every assist: if the player can see the game helping, it's too strong. Tune until it feels like the player did it.