Bimonthly Townhall Report: Duriano
Theme: Save, Monetize & Stabilize
Six weeks of delivery carrying Duriano from v1.1.0 → v1.1.8 — a production-grade cross-device cloud-save, a live subscription & redeem business, the multiplayer foundation, and a focused hardening pass.
9Patch releases
(v1.1.0–v1.1.8)
2Major systems
(Cloud Save, MP)
Unity
6000.3Engine upgrade
(6000.3.19f1)
0Known P0
crashes open
1. Executive Summary
Over the last two months Duriano shifted from launch hardening into live-operations and scaling. The headline outcome is a complete cloud-save rework that makes cross-device play and real-money purchases safe, the go-live of Google Play Subscriptions and the Redeem Code system, and the multiplayer foundation clearing Phase 0 and Phase 1a. A concentrated stability push — including a Unity 6000.3.19f1 engine bump, a fix for a high-impact Android pause ANR, and a Mali GPU soft-particle regression — carried the build through nine patch releases.
2. Cloud Save & Cross-Device Sync — the flagship
- No-progress-lost merging: Replaced the old conflict heuristic with a field-merge resolver — monotonic subsystems max/union, the fertilizer purchase ledger unions by order id, prefs/run use recency, and consent OR-merges.
- Real-money safety: An idempotent order-id PurchaseLedger with reconstructable balance; spends are derived from merged state so divergent offline spends can never under-count into free currency.
- Multi-account: Per-account local saves keyed by platform account id, with guest-save fallback when sign-in is declined and isolated PlayerSave_Demo for the Steam demo.
- Conflict hardening (July): Cloud pushes now merge instead of overwriting the other device's progress (Android GPGS + iOS KVS), identity/flag defaults can't beat real values, and a finished/empty run can't beat an unfinished one.
3. Monetization & Player Access
- Subscriptions: Google Play Subscriptions launched with an upgrade path for existing full-game owners; benefits evolved into a rotating weekly free roster (Character / God / Weapon) driven by a single Remote Config key.
- Redeem Codes: Full in-game redeem flow (UI, sound, layout) on the client, backed by a server-validated Firestore transaction system.
- Free-player access: Free users can now play Ranked via unlock-condition exceptions.
- Steam Demo: IsDemoVersion flag, demo app id, and isolated demo saves for the Steam demo build.
4. Multiplayer Foundation
- Phase 0 — Network Bootstrap: NGO + UGS Relay/Lobby integrated, the unified Multiplayer Services SDK adopted, an ISessionService seam for swappable connectivity, and a networked MP_Spike scene + player prefab.
- Phase 1a — Enemy Targeting: PlayerRegistry + nearest-player targeting so bosses/specials engage the nearest live player.
5. Stability, Performance & LiveOps
- Engine upgrade: Unity 6000.3.19f1, resolving the RockTrap reactivation crash (Unity issue UUM-143658).
- Android ANR: Fixed the app-pause ANR by pre-warming FMOD's core P/Invoke bindings out of the surface-teardown critical section.
- Crash sweep: God & Fate info-panel infinite recursion, RockTrap/debris stale-rigidbody crashes, and pooling bugs (skipped slots, stale button events).
- Mali GPU: Resolved VFX/soft particles vanishing on Mali (Poco X7 Pro) via an adaptive SoftParticleGuard.
- Observability: Firebase Crashlytics + Sentry Unity integrated; Game Analytics events expanded and batched.
- Force-update gate: Remote-Config-driven minimum-version gate that fails open when offline.
6. CI/CD, Build & Platform
- Addressables pipeline overhaul: Stabilized the CI player build — build-target-group switching,
-buildTarget flags, and locking the Addressables build state to prevent pipeline conflicts.
- Google Play AAB: Upload lane with Unity IL2CPP symbols + release-stage validation.
- Multi-store: Deployment parameters for Android, iOS, Epic, Steam, and Xbox.
- Releases: v1.1.0 → v1.1.8 across the period.
7. Backend / API (Duriano API)
- Redeem codes: Transactional claim (one-time-use + per-player) and an admin create endpoint; rewards read server-side, never trusted from the client.
- Ranking anti-cheat: Server-side validation with raw + run-length-independent ratio caps derived from real player data; rejected attempts logged to a blockedRankings collection; gold/kill cap tightened 300 → 50.
Looking Ahead (next 2 months)
- Take multiplayer past Phase 1a (co-op gap items) toward a playable vertical slice.
- Harden cloud save with broader device/edge-case coverage and finalize the analytics + LiveOps event suite.
- Expand subscription/Redeem into seasonal LiveOps and continue the patch cadence toward the next minor release.