2.1 Inspiration

Growing up, one of my all-time favorite childhood games was Glu Mobile's (Glu Studio) legendary mobile title, Blood & Glory. The visceral gladiator duels, directional swiping, frame-tight parries, dodges, and exhilarating counter-attacks made it one of the most engaging combat experiences on mobile.

Tragically, Glu Mobile discontinued Blood & Glory years ago, taking it off app stores and leaving it completely unplayable on modern devices. For years, I missed that pulse-pounding rhythm—the rush of reading an incoming blade strike, executing a frame-perfect parry at the last fraction of a second, and shattering the enemy's guard with a cinematic counter-combo.

ColoSynth was born out of a passionate mission to resurrect and recreate that cherished childhood combat experience. I set out to replicate the core directional swipe-and-parry gladiatorial combat loop of Blood & Glory, while reimagining it in an electrifying cyberpunk synthwave comic universe. Furthermore, whereas classic mobile titles often relied on frustrating pay-to-win walls and clunky billing, I wanted an ethical, transparent player progression model—making RevenueCat the ultimate engine to power a modern, rewarding in-game economy.

2.2 What It Does

ColoSynth is a full-featured mobile action game with the following core systems:

  • Directional Combat & Parry Mechanics: Real-time swordplay where players read enemy attack vectors, execute frame-precise parries, trigger cinematic counter-slashes, and stagger opponents.
  • Comic Book Visual Presentation: Hand-crafted comic layouts, expressive halftone styling, onomatopoeic visual effects (SFX text pops), dynamic camera shakes, and diagonal slice screen transitions.
  • 3D Character Model Inspector: An interactive 3D model viewer powered by Google's model-viewer web engine, allowing players to rotate and inspect their unlocked synthesized fighters.
  • Dual Economy & Progression: In-game Ink (earned through skill and tournament victories) and Paint (premium chromatic currency) allow players to upgrade skill trees, unlock characters, and acquire battle buffs.
  • Integrated In-App Purchases via RevenueCat:
    • Consumable Currencies: Tiered Ink and Paint currency packs (ink_tier_1/2/3 and paint_tier_1/2/3).
    • Non-Consumable Entitlements: An "Ad-Free" pass (com.drillacatz.colosynth.ad_free) with instantaneous entitlement unlocking (ad_free) that disables interstitials and rewards bonus multipliers.
    • Purchase Ledger & Integrity: A tamper-evident local purchase ledger and cryptographic HMAC signature validation for secure guest and authenticated profiles.
    • Zero-Friction Offline Fallback: Complete graceful degradation so judges and players without live sandbox accounts can still evaluate store offerings, item flows, and pricing effortlessly.

2.3 How We Built It

  • Engine & Framework: Developed entirely in Flutter (Dart SDK 3.3+) using the Flame 2D game engine for physics, collision detection, and particle systems.
  • Monetization & Subscriptions: Integrated the official RevenueCat SDK (purchases_flutter). We configured dynamic paywalls, purchase streams (customerInfoStream), and entitlement listeners that unlock game features in real time.
  • State Architecture: Powered by Flutter Riverpod for declarative, predictable state propagation across battle mechanics, wallet states, and UI overlays.
  • Persistence & Cloud Sync: Hybrid offline-first architecture utilizing SharedPreferences with local SHA-256 entropy keys, tamper-resistant HMAC data verification, and cloud synchronization with Firebase Firestore.
  • Visual Design & Audio: Custom procedural 3D comic chest shaders, 2D particle systems, dynamic hit-stop effects, and a custom audio repository managing contextual BGM and slashing sound effects.

2.4 How We Integrated RevenueCat

RevenueCat serves as the central billing and entitlement engine for ColoSynth:

  1. Unified IAP Service (IapService):
    • Initialized at startup with asynchronous configuration and entitlement observation.
    • Listens to Purchases.customerInfoStream to update local reactive providers when the user's entitlements change.
  2. Entitlement-Based Feature Gating:
    • The ad_free entitlement is checked dynamically before triggering interstitial ad sequences across battle stages.
    • Restoring purchases (Purchases.restorePurchases()) queries active entitlements and updates UI state with immediate visual comic banners.
  3. Transaction Resilience & Purchase Ledger:
    • Every purchase completion updates our PurchaseLedgerService, persisting transaction metadata, status, and product IDs with tamper-evident HMAC signing.
  4. Judge & Reviewer Accessibility:
    • Built with an intelligent development mode fallback: if live RevenueCat credentials are not injected at compile time, the store gracefully displays localized fallback pricing tiers, preventing startup crashes and allowing seamless review of the full UI/UX flow.

2.5 Challenges We Ran Into

  • Balancing Game Loop Tick Rates with UI Rendering: Flame's render loops needed tight synchronization with Flutter's widget tree, especially during dramatic battle cut-ins, slow-motion parry effects, and full-screen comic dialogs.
  • Sandboxed In-App Purchase Testing: Ensuring deterministic, non-blocking store behavior across both online sandbox environments and local offline demo scenarios required building clean abstractions and defensive error boundaries around payment flows.
  • Preventing Memory Overhead: High-resolution comic sprites and 3D GLB model assets required proactive cache management via an AppMemoryManager to maintain smooth 60 FPS performance on resource-constrained mobile devices.

2.6 Accomplishments That We're Proud Of

  • Designing a complete, original combat and parrying feel that rewards player reflex and practice.
  • Delivering a consistent, high-energy graphic novel comic aesthetic across every single screen, dialog, and battle HUD.
  • Achieving an automated test suite containing 49+ unit and widget tests covering damage formulas, daily task milestones, economy bounds, and RevenueCat purchase mocks.
  • Building a 100% open-source, launchable codebase with zero external credential requirements for judges.

2.7 What We Learned

  • How to structure clean, maintainable monetization pipelines in mobile games using RevenueCat.
  • The power of decoupled architecture: separating game simulation logic (Flame) from reactive UI states (Riverpod) and billing services (RevenueCat).
  • The importance of offline-first resilience in mobile apps so users retain full access to their locally unlocked content regardless of network connectivity.

2.8 What's Next for ColoSynth

  • Additional weapon classes with unique parry timings and combo trees.
  • Live multiplayer asynchronous ghost duels.
  • Expanded subscription tiers via RevenueCat (such as a seasonal "Syndicate Battle Pass").
  • Full publishing to Google Play Store and Apple App Store.

Built With

Share this project:

Updates

Submission history