Monetisation you can defend
Delta-V has no forced interstitials. The policy cost real revenue, made the game better, and exposed a bug that had been paying people for nothing.
- Product
- Monetisation
- Android
- Testing
In short
Can a free mobile game make money without interrupting play with forced ads?
Yes, if the ad placements are chosen so that they only ever appear where the player already chose to stop. Delta-V disables forced interstitials entirely and ships only opt-in rewarded video and menu-screen banners, so an advertisement can never interrupt a flight. The trade is a lower impression count against a game people keep playing, and a claim about the product that survives contact with a review.
01
The interstitial is the obvious money
The standard pattern in a level-based mobile game is an interstitial between attempts. It is easy to implement, it fills reliably, and it is the single most effective way to make a physics game feel worthless.
Delta-V is about gravity and momentum. The loop is: misjudge an approach, crash, immediately try again with a slightly different angle. That retry has to be instant. An advertisement in the middle of it does not merely annoy; it breaks the thing the game is for.
02
What ships instead
Forced interstitials are disabled at the policy level, so there is no toggle in a config file for anyone to flip later. What remains is opt-in rewarded video (the player taps a button that says what they will get) and banners on menu screens, where the player has already stopped playing.
The result is that an advertisement can only ever appear somewhere the player chose to be. That is a sentence the product can survive being quoted on, which is the actual test.
03
The bug hiding inside the honest version
Rewarded video has a subtle failure mode that the opt-in model makes worse, because opt-in rewards are larger. The ad SDK resolves with a result object when the ad completes. It also resolves when the user dismisses the ad early, this time with a different object.
The grant check was truthiness on that result. An empty object is truthy in JavaScript. So a dismissed advertisement paid out exactly like a completed one, and a player who worked out that they could open a rewarded ad and immediately close it had an unbounded currency source.
The worry people usually have about rewarded video runs in the other direction. This one was an economy problem: a game whose parts can be bought for nothing has no progression, and the difficulty curve that was tuned against an expected earn rate stops meaning anything.
// Wrong: {} is truthy, so a dismissal pays out.
if (result) grantReward();
// Right: check the thing the SDK actually promises.
if (result?.type === "rewarded" && result.rewarded) {
grantReward();
}04
Balance that a test can fail
The bug got a careful fix because the game's economy is modelled. Roughly 580 components across fifteen categories, five hulls and a hundred levels are balanced against an expected earn rate, and an audit suite runs on every change: it models the economy, plots the difficulty curve, and asserts a set of purchase invariants.
That suite is why a truthiness bug in one conditional registered as an economy failure and not a minor ad glitch. When the balance is asserted in code, a change that breaks it produces a failing check instead of a slow drift nobody can name.
05
What it cost
Fewer impressions, obviously. There is no honest way to present that as a win on the revenue line in the short term.
What it buys is a game that survives its own retry loop, a store listing whose claims are true, and a monetisation model that does not have to be quietly walked back the first time someone writes about it. For a studio that intends to keep shipping products under the same name, that is the part that compounds.
Continue