Run Across - My First Complete Godot 4.5 Mobile Game


After 4 months of learning and building, I just launched my first complete game: **Run Across**


Tech Stack


  • **Engine:** Godot 4.5 (Mobile Renderer)
  • **Code:** 100% GDScript (~3000 lines)
  • **Art:** Low-poly models (Blender)
  • **Backend:** Firebase (Auth + Firestore)
  • **Ads:** Unity Ads (custom Android plugin)

  • What I Learned


    1. Mobile Optimization is HARD


  • Implemented 3 quality presets with auto-scaling
  • Object pooling for coins/obstacles (zero mid-run instantiation)
  • Shader warmup on splash screen (eliminates stutters)
  • Reduced physics ticks to 15 on ultra-low devices

  • 2. Performance Profiling


  • Custom FPS monitor that auto-downgrades graphics
  • Batched UI updates (0.1s intervals on low-end)
  • Aggressive LOD for distant objects

  • 3. Firebase Integration


  • Anonymous auth + Firestore for leaderboards
  • Anti-cheat: server-side score validation
  • One leaderboard entry per user (userId as doc ID)

  • 4. Responsive UI


  • Built UIScaler autoload for consistent scaling
  • Supports 480p → 1440p displays
  • Touch-friendly buttons (minimum 80px height scaled)

  • Features


  • 🌍 Dynamic biome transitions (Desert/Forest/Winter)
  • 🔥 Combo multiplier system (up to 10x)
  • 💎 Risk-reward gem placement
  • 📱 Runs on 1GB RAM devices

  • Challenges I Hit


    **Android Plugin Hell:** Unity Ads integration took 2 weeks


    **Collision Edge Cases:** Player clipping through obstacles at high FPS


    **Memory Leaks:** Queue_free() timing issues


    **Touch Input:** Swipe detection conflicts with UI


    What's Next


  • Cyberpunk City biome (neon aesthetic)
  • Character skins system
  • Daily missions

  • **Play it:** itch.io/run-across


    Questions? Ask me about mobile optimization, Firebase integration, or low-poly workflow!