Skip to content
Skip to content
● ENGINE LIVESign inCreate an account

wubbery://games — studios, engines, cloud gaming and VFX

Sixteen milliseconds is the whole budget. We take microseconds.

A 60 fps frame is 16.6 ms and a 120 fps frame is 8.33 ms. Every AI decision a game makes — behaviour, difficulty, streaming, voice, level of detail — has to fit inside that alongside the rendering, and today it does not. So the design absorbs the lag instead: dialogue trees, pre-baked behaviour, and an NPC that thinks for a moment. WUBBERY decides inside the frame, and refuses the frame budgets that cannot be met at any quality setting rather than letting you ship into a stutter. On console it refuses them exactly, because the hardware is fixed and the answer is a number rather than a distribution.

0.02%
Of a 60 fps frame spent on a decision, at 3.67 µs on an Intel i5-1135G7 at 15 W
6/6
Framerate targets refused as unreachable at ANY quality setting, before the build ships
+30.3%
Frame cost brought inside a 60 fps budget by scaling the least important pass first
01

What actually binds

The lag is not in the model. It is in the trip to reach it

A hosted decision costs one to four network hops before any thinking starts, which is 100 to 200 ms on a good day and the whole frame budget twelve times over. Studios do not solve this, they design around it — which is why AI in games is a menu of pre-authored responses rather than a system that reacts. In-process changes what the design is allowed to want.

Memory is the half nobody budgets for

A character that remembers a hundred-hour campaign is a retrieval problem that gets slower every hour the player keeps playing. Context windows and summarisation are both admissions that the lookup could not stay cheap. Resolution that does not scale with how much is remembered removes the reason to forget, and it is the difference between a companion and a lookup table.

Console is not a port of the PC build. It is six budgets

PlayStation runs a BSD-derived kernel behind its own graphics API and a hardware decompression path nothing else has. Xbox runs an NT-derived kernel that does not accept Win32, through a Direct3D variant and a storage architecture built around sampler feedback. Handhelds run a third kernel again, at two clock profiles depending on whether they are docked. And within a single family the machines are not one target — a Series S is a smaller memory budget than a Series X, not a lower quality preset, and the split-bandwidth pool on the larger console means the same allocation performs differently depending which half it lands in. Six execution profiles, one decision layer, and the decision layer does not change.

Fixed hardware is the best case for this, not the hardest

On PC a frame budget is a distribution across a decade of GPUs and a refusal is a probability. On console the silicon is known to the clock, so the same arithmetic returns a fact: this target is unreachable on this machine at any setting. That turns a warning into a gate, which is what certification requirements already are — and a check that runs in pre-production against the exact console is worth more than any profiler run three months before submission.

The budgets that cannot be met are the expensive ones to discover late

A framerate target that is unreachable at any quality setting, a traversal speed that cannot be streamed at any level of detail, an arena shape where the spatial partition costs more than the loop it replaces — each of these is found in certification or in reviews, months after the decision that caused it. Every one of them is arithmetic that can be run in pre-production.

A decision that completes inside a single frame, against one that leaves the machine and comes back
In-process decisions against a hosted round trip
02

Measured, on a named alternative

Guards are reported blocked-of-attempted, never as a percentage — “zero violations” without the attempt count is a claim about nothing. Each is posed against a case that passes the check the industry already runs, because a guard that only catches obvious mistakes measures nothing.

The problem

The target is 60 fps. Quality settings come down, then down again, and the frame still misses — because no setting was ever going to reach it and nobody had the arithmetic to say so.

What WUBBERY does

Refuses framerate targets that are unreachable at any quality setting, and when the budget can be met, states which pass to scale and by how much.

6/6 blocked · +30.25% frame cost recovered
The problem

The render deadline is missed, so more nodes are added to the farm. It is still missed, because the critical path does not divide.

What WUBBERY does

Refuses deadlines that are unreachable at any node count, and names the serial section that decides it — before the hardware is bought.

5/5 blocked
The problem

The world streams cleanly in testing and hitches when a player drives across it, because traversal speed was never in the budget.

What WUBBERY does

Refuses traversal speeds that cannot be streamed at any acceptable level of detail, and returns the speed the pipeline will actually hold.

4/4 blocked
The problem

The cloud build is blamed on the network. The local pipeline alone had already exceeded the perceptual budget before a packet left the building.

What WUBBERY does

Separates the local cost from the transport cost and refuses builds where no network could have saved the experience.

4/4 blocked
The problem

A uniform grid is the obvious way to partition a crowd, and for the shape of your arena it costs more than the all-pairs loop it replaced.

What WUBBERY does

Refuses the partition when the geometry makes it a loss, and says which arena shapes it holds for.

4/4 blocked
The problem

The feedback feels late. The audio buffer gets shrunk, twice, and it still feels late — because the transport was the constraint the whole time.

What WUBBERY does

Refuses wireless transports where no buffer setting can bring the feedback inside the perceptual window.

6/6 blocked
The problem

The detector fires and a player is banned automatically. The evidence was positive and the detectors were not independent enough to carry the decision.

What WUBBERY does

Refuses the automatic ban when the signals are too weakly separated to justify it, and routes it to review instead.

5/5 blocked
The problem

A launch spike hits the CDN and the origin falls over anyway, because the failure was not the one the cache absorbs.

What WUBBERY does

Separates origin failures a CDN does not absorb into fan-out and rewind, and sizes for the one that will actually happen.

4/4 blocked · +99.17% origin egress removed at 200,000 viewers across 120 PoPs
The problem

A character that remembers everything gets slower the longer the campaign runs, so the design quietly starts forgetting.

What WUBBERY does

Narrows the scan on very large corpora — and refuses the cases where narrowing costs more than it saves rather than reporting a win it did not earn.

4/4 blocked · +86.84% candidates not scanned on a million-item corpus
03

Reproduce every number above

One command, one seed, the same answer — on your hardware, in front of you. Almost no infrastructure vendor can do that, and it is the only reason to believe any of the figures on this page.

POST https://api.wubbery.com/v1/bench/all-modules
{ "seed": 1 }

What we will not claim: these are budgets and thresholds computed over the state you supply, not a profiler and not a substitute for one. No thermal throttling model, no driver-specific stalls, and no claim about a title we have not run against. Console execution tiers are per-platform by necessity and each states its own supported SDK generation; the decision layer above them is identical on all six profiles, which is the point. The 3.67 µs decision figure is measured on an Intel i5-1135G7 at 15 W and will differ on your target hardware — every module states its own boundary in its output, and we would rather you read them than trust the summary.

Figures measured at seed 1 on the WUBBERY substrate engine and reproducible with the command above. WUBBERY is independent; company and product names are used for identification only and imply no endorsement.