Guides / Behind the Scenes

Why We Removed Forced Ads After Boss Fights

Where an ad appears matters more than how many there are. The story of the full-screen ad at Idle Ronin's boss fights, which moved twice before we switched it off, and the rules for ads we now follow in all our games, with the code behind them.

Our idle RPG Idle Ronin used to show a full-screen ad at its boss fights. Today it shows none there. The game earns from its shop, from reward videos that players choose to watch and from a banner in some menus. The ad moved twice before we switched it off, and each move taught us something about where ads belong in a game.

We are ONI Games, a small studio, and this is the story from our own code, including the notes we left ourselves along the way.

Placement 1: the retry button

In Idle Ronin, the boss at the end of each stage has 30 seconds. If the timer runs out, you drop back and keep farming until you tap Fight Boss again. The first ad placement sat on that button.

That button is pressed again after every lost boss fight, so a player who was stuck, and already frustrated, could get an ad for every retry. Our note in the code calls it "the worst possible moment". It was the wrong trade: the ad reached exactly the players who were closest to giving up.

Placement 2: after a beaten boss

So we moved the ad to after a win, and delayed it by 1.5 seconds so the death animation, the gold and any Unit Core drop could finish first. A beaten boss is a natural pause, and that is also where Google tells developers these ads belong: its AdMob guidance says interstitials are "best placed at natural app transition points".

Placement 3: no forced ad at all

Even a well-timed ad adds up when a boss ends every stage. So we switched it off, and the note above the switch explains the trade: "the game earns from the shop and from videos the player chooses to watch". That change has been in every Idle Ronin release since version 1.11.

What we found while we were in there

Reviewing the ad code turned up two more things worth fixing:

  • Someone who had paid to remove ads could still get interstitials, because one code path never checked the flag the purchase sets. It checks it now.
  • Reward videos pay only for a video Google reports as watched. If no video is ready, the game waits up to 6 seconds for one, and if none comes it says the video is not available instead of freezing or pretending.

The rules we follow now

Our other games still use full-screen ads, so we wrote down the rules they follow. They live in the code, not only in a document:

  1. Only at natural breaks. Idle Summoner shows one when an invasion raid ends and you are back on the map, or after an arena match, never in the middle of a fight. Its ad code says interstitials "are never fired on a timer of their own".
  2. Keep the first minutes clean. Idle Summoner lets the first 2 ad opportunities of a new player pass and waits 60 seconds into every session. Idle Ronin's ad code waits 3 minutes and skips the first 3 opportunities.
  3. Space them out and cap them. Idle Ronin's ad code allows at most one interstitial every 3 minutes and 5 per session. Idle AI Factory keeps 3 minutes between them and restarts that clock when you watch a reward video by choice.
  4. Never on a retry. A player who keeps trying should never see an ad per attempt.
  5. Paying means no forced ads. No Ads in Idle Ronin and Permanent Boosters in Idle AI Factory switch interstitials off completely.
  6. Let an idle game run untouched. Idle Summoner used to show its idle screen, which can carry an ad and stops every monster, after two minutes without a touch. For a game meant to be watched, that cut straight through normal play. It now waits 15 minutes, and any touch closes it.

What Google's rules say

Google Play's ads policy does not allow full-screen ads that appear unexpectedly while someone is using an app, ads at the start of a level or content segment, or full-screen ads that cannot be closed after 15 seconds. AdMob's list of disallowed placements adds ads when an app opens or closes, and asks for no more than one interstitial after every two user actions. Rewarded ads that players choose are a different case; our guide to rewarded and interstitial ads explains the difference from the player's side.

Did it cost us money?

Fewer forced ads means fewer ad views, and we do not have enough data yet to publish a fair before-and-after comparison, so we will not pretend to. Our bet is simple: a player who is not interrupted at their most frustrated moment is more likely to keep playing, and more likely to choose a reward video or the shop later. If the numbers show something worth sharing, we will add them here.

A checklist for placing ads in a game

  • Write down the moment every forced ad appears, and ask AdMob's own question: "Will the user be surprised by the interstitial ad?"
  • Never put one on a retry, a revive or a loss screen the player has to pass.
  • Keep new players' first sessions clean.
  • Cap ads per session and space them out, and reset the clock when a player watches a video by choice.
  • Make paid ad removal remove every forced ad, in every code path.
  • In an idle game, never stop the game to make room for an ad.

If you want to see how it feels, Idle Ronin is free on Google Play.

Sources

More guides

All guides

◆ More from ONI Games

More games

Swipe for more

Idle Ronin: Cyber RPG
Out now · Google Play

Idle Ronin: Cyber RPG

Step into a neon-soaked future as the last Cyber Ronin. Slash through waves of mechs, recruit a cyborg squad and climb the Neon Tower. Your blade keeps swinging even while you are offline.

Explore the game →
Idle Summoner: Pixel RPG
Out now · Google Play

Idle Summoner: Pixel RPG

Summon a legion of beasts, storm the castles of the underworld and rebirth stronger every time progress slows.

Explore the game →
Block Brain: Block Puzzle Game
Out now · Google Play

Block Brain: Block Puzzle Game

Fit colorful blocks, clear lines and chain combos while your Brain buddy grows from a tiny sprout into a crowned Mastermind.

Explore the game →
Idle AI Factory: Robot Tycoon
Out now · Google Play

Idle AI Factory: Robot Tycoon

Run a factory full of cheerful robots, automate every production line and grow from a small AI lab to a base on the Moon.

Explore the game →