Inspiration

VADA IO is a fast mobile survival game built around a few meaningful decisions: where to drive, when to leave cover, which upgrade to choose, and when optional help is worth it. The rover grows as a run continues, so progression has a visible presence in the arena.

What it does

VADA IO is a single-player arena survival shooter with AI opponents. Hold and drag to steer while weapons fire automatically. Rescue a two-seat crew, choose randomized upgrades, and collect fallen boss cores for immediate XP. Leveling up makes the rover visibly larger up to a size cap. Brush blocks enemy sight, fire can destroy cover and hurt the player, and a shrinking safe zone keeps each run moving.

The current Apple submission simplifies combat to steering, overhead health bars, an optional rewarded skill, and upgrade cards. Crew recruitment is automatic, and the results screen shares an image from the actual final battle. There is no sign-in, leaderboard, player naming system, in-app purchase, or subscription.

How I built it

The game uses JavaScript, HTML, CSS, Three.js, and a Canvas 2D alternative. The web game is bundled into an iOS app through Capacitor. A Swift bridge connects Google Mobile Ads, Google UMP, and RevenueCat's AdMob adapter. Rewarded and interstitial ads use RevenueCat loadAndTrack calls with named placements. Native callbacks keep ad presentation, reward completion, dismissal, and game state synchronized.

Challenges

The hardest part was lifecycle correctness. An ad, consent dialog, or trip to another app must not leave steering stuck, issue a duplicate reward, or revive the wrong run. Reward completion and dismissal are separate signals, so the implementation rejects stale requests and preserves the free upgrade choice when an ad is unavailable or incomplete. Audio recovery also needed bounded suspend and resume handling while respecting Sound OFF.

Accomplishments

The first public App Store version shipped as VERDARA RESCUE in September 2026. VADA IO is the current name for the same Apple app. Version 1.0.2 (build 4) is signed, uploaded, and submitted for Apple review. RevenueCat Sandbox evidence matched three specific test ad instances to native response IDs and placements, while native callbacks separately confirmed rewarded flows. These are integration results, not production revenue claims.

What I learned

An analytics event and a gameplay reward answer different questions. A displayed or revenue event cannot award an upgrade; native earned completion and dismissal must govern that decision. A successful test event also does not establish real-world ad fill or income. Keeping those boundaries explicit made debugging and release evidence clearer.

What's next

The VADA IO gameplay demonstration is now published and embedded above. Next I will keep the public listing and demonstration aligned while measuring real-world retention, ad availability, and revenue before claiming growth results.

Built With

Share this project:

Updates

Submission history