Skip to content

Games template

Zonefall Arena Battle Game App

An Expo / React Native arena battle: drop onto an island of five places with seven bots, move with one thumb while you fire on your own, stay in the ring as the squall closes and be the last one standing. Runs on sample data.

  • 10 screens
  • iOS & Android
  • Sample data
  • Updated Oct 29, 2026
  • Verified release
  • 1 copy made

Free to copy · Full source · No credit card

Screens

6 screens from the working app.

What’s inside

  1. Playable in the first second: the game is the home screen; your fighter stands where you will land
  2. A pure, tested engine: 8 fighters, a ring closing in five phases, cover, pickups, Dash, bots that fight each other
  3. Bots that feel human: a warning line before they fire, slower shots that never lead you, cover and retreat
  4. Kind first matches that sharpen in waves of three, tuned by simulation and a headless play test in the browser
  5. All drawn in code: an island of five places, a logotype, ten outfits and seven bots, front-on and from above
  6. Missions from real matches, a 7-day daily ladder, a Kit paid in coins, and your record against each bot

About this template

Overview

Zonefall is a top-down arena battle built on Expo SDK 57 and React Native with the FluxNative kernel. The first screen is the game: the island from the air under the drawn ZONEFALL logotype, your record and coins, your fighter standing on the drop point you pick, and Drop in. You and seven bots drop in, loot shields, coconuts and better blasters, and fight while the ring closes in five steps with the squall outside it; the last one standing wins. A match lasts about two minutes, with cartoon knockouts and no blood.

With .env blank the game runs in sample mode: a sample save with 21 matches, 3 wins, 2,050 coins, three outfits, a mission ready to collect and day 3 of the daily ladder. Everything the player does is kept on the phone. Setting the Supabase values turns on the weekly board of every player; setting the RevenueCat keys sells Plus.

Key features

  • The game: ready, playing, paused and over on one full-bleed screen; a floating stick on the left half (right half when left-handed), auto-fire at the nearest rival in reach, Dash, health and shield, players left, knockouts, a kill feed with the fighters' heads, a minimap and arrows to rivals out of view

  • The end of a match on a driftwood board: your place and medal (a win with your fighter cheering under rays and confetti), stats counting up, a NEW BEST ribbon, coins flying into the coin pill, missions done, Play again

  • Kit: ten outfits, each with headgear that gives it its own shape (a snorkel, a fin, ear flaps, a flame crest, headphones, a night-sky hat…), on their rarity's ground three to a row, six blasters with mods, each with a line of character; two outfits come only with Plus. The seven bots are their own cast

  • Missions: three at a time from real matches (knockouts, places, survival, damage, pickups, Dashes), each round asking a little more; a 7-day daily coin ladder by the phone's date

  • Leaderboard: a podium of your wins, seconds and thirds, your best ten matches with dates, and your rivals: each bot drawn in its own outfit with your record against it

  • How to play drawn with the game's sprites; Settings with left-handed controls, vibration, screen shake, reduce motion, About, Terms, Privacy and Delete my data

Screens

10 screens: the game (ready, playing, paused, over), Kit, Missions, Leaderboard, Settings, How to play, Zonefall Plus, About, Terms of Use and Privacy Policy. One stack with no tab bar; every pushed screen opens on the island's sea with its own scene, on a sand page in light and the night sea in dark.

Game and backend

  • One requestAnimationFrame loop while playing, a pure step(match, dt, input) with dt clamped to 0.05 s, seeded randomness, and the same fire rate at 30, 60 or 120 frames a second

  • All play input on one PanResponder: the stick and Dash work together with two thumbs, the mouse on the web and the preview's taps

  • A fight pacer sends one bot at a time for you, with a breather after each of your knockouts; bots hunt each other between the ring's closes

  • The game folder reads the app through one hook (useGameProgress), so it lifts into another app

  • Weekly board on Supabase: every table private to its player, the board read through weekly_board (island names and figures, never an id), anonymous sign-in, seeded sample rivals marked as such

  • The server times every match: start_match when it begins, submit_score takes that id once and refuses a result impossible for its length; nothing else writes a score, and Delete my data clears the phone and the board

Monetisation

Zonefall Plus is one non-consumable in-app purchase sold through the App Store and Google Play with RevenueCat (react-native-purchases): every outfit and blaster, including two outfits only Plus has, and double coins from every match. Access comes from the plus entitlement only, with Restore purchase on the Plus screen. Without RevenueCat keys the Plus screen shows the intended price marked as a sample, says purchases open in the App Store version, and never grants access. No ads, no loot boxes, nothing that pays out.

Setup

It runs as it is. To go live, connect Supabase for the weekly board and RevenueCat for Plus (steps below), set your legal pages, and publish from your own developer account.

gamebattle royalearena shootertop downbotsarcadeleaderboardmissionssupabaserevenuecatreact nativeexpo

What you get

  • Full source — Expo and React Native in TypeScript, as an app in your workspace.
  • Live preview — try every change in your browser or on your phone.
  • Verified release — it compiles and every screen opens without errors.
  • AI assistant — change anything by chat; each change uses credits.
  • Builds and store upload — iOS and Android builds, sent to the App Store and Google Play from Publish.
  • No credits to copy — the copy itself costs none.

Made with an earlier version of FluxNative. Your copy works as it is; ask the agent to update it for app languages, currencies and About links.

What you need

  • A FluxNative account — the Free plan holds up to 2 apps.
  • No backend to start — it runs on sample data until you connect yours.
  • Creator or higher — for native builds and store upload.
  • Store accounts — Apple Developer Program (US$99 a year) and Google Play (US$25 once), to publish.

What’s in the source

screens
10
files in your copy
327
lines written for this app
9,262
ready-made UI components
139

App text in English and Vietnamese

Tech stack

Expo SDK
57.0.22
React Native
0.86.3
React
19.2.8
TypeScript
6.0.3
Expo Router
57.0.21
Supabase JS
2.112.3
RevenueCat
10.9.1

From this release’s package.json.

Design system

Headings
Outfit
Body
Outfit
  • Light and dark mode
  • Liquid glass
  • Capsule buttons
  • Raised cards

Set up after you fork

Your copy opens with the AI assistant that built it. Do the steps in order: connect what a step asks for under Server, then send each prompt.

  1. Connect Supabase for the weekly board

    Server › Backend › Supabase: apply supabase/migrations, turn on anonymous sign-ins, then set EXPO_PUBLIC_SUPABASE_URL and EXPO_PUBLIC_SUPABASE_ANON_KEY.

    Prompt for the AI

    Connect my Supabase project to Zonefall's weekly board: apply supabase/migrations/20261027120000_weekly_board.sql, make sure anonymous sign-ins are on, set EXPO_PUBLIC_SUPABASE_URL and EXPO_PUBLIC_SUPABASE_ANON_KEY in .env, and check that a finished match shows on the Leaderboard's This week tab.

  2. Sell Zonefall Plus with RevenueCat

    Server › Monetization: a non-consumable product zonefall_plus, the entitlement plus, the offering default with a Lifetime package, and the iOS and Android public SDK keys.

    Prompt for the AI

    Set up Zonefall Plus with RevenueCat: create the non-consumable product zonefall_plus in App Store Connect and Google Play, attach it to the entitlement plus, add a Lifetime package to the default offering, and set EXPO_PUBLIC_REVENUECAT_IOS_KEY and EXPO_PUBLIC_REVENUECAT_ANDROID_KEY.

  3. Reskin the island and the fighters

    Change the palette, outfits, gear, blasters and bot names; the rules are named constants in engine.ts.

    Prompt for the AI

    Reskin Zonefall for my brand: change the island palette in src/features/game/palette.ts, rename and recolour the outfits and blasters in src/features/game/outfits.ts, rename the bots in engine.ts, and keep the engine tests passing.

  4. Set your legal pages

    Set EXPO_PUBLIC_PRIVACY_POLICY_URL and EXPO_PUBLIC_TERMS_URL, or edit the in-app pages in src/features/legal.

    Prompt for the AI

    Point Zonefall's Terms of Use and Privacy Policy at my own pages by setting EXPO_PUBLIC_TERMS_URL and EXPO_PUBLIC_PRIVACY_POLICY_URL in .env, or update the in-app pages in src/features/legal with my company name.

How to use this template

  1. Use the template to get an editable copy, with its source, in your workspace (Templates).
  2. Ask the AI assistant for the changes you want, in plain words (Work with the assistant).
  3. Try each change in the live preview, or on your phone (Preview).
  4. On Creator or higher, build it for iOS and Android and send it to the stores (Publishing overview).

Licence and support

Licence

You own the app made for you; the template’s code stays InspireUI’s and is licensed for use in your apps (Terms › Our intellectual property).

Help

  • Guides to templates, the assistant and publishing.
  • Contact support from Help; replies usually within 1–2 business days.
  • In your copy, ask the AI assistant about any screen or file.

Made by FluxNative

Support policy

Questions

Is it free?

Copying a free template costs nothing, not even credits; a Premium one is a one-time purchase per website. Chat changes and builds use credits.

What do I own?

You own the app made for you. The template’s code stays InspireUI’s and is licensed for use in your apps (Terms › Our intellectual property).

Do I need to know code?

No. Ask the assistant for changes in plain words; the full source is there when you want it.

Does it come with a backend?

No. A full app names the backend it needs and you connect your own under Server; a design runs on sample data.

Can I change the design?

Yes. The Design tab sets the brand colour, colours, fonts and corners at no credit cost; the assistant changes the rest.

Which plan do I need to publish?

Creator or higher builds and uploads to the stores, with your own Apple and Google accounts. A Premium template’s app builds on any plan once its website is connected.

Can I download the source?

Yes, with Download source or Push to GitHub, once your workspace has bought a plan, credits or a paid template. A Premium template’s app also needs its website connected.

What if it was made with an earlier FluxNative?

Your copy works as it is. Ask the assistant to update it for newer features such as app languages and currencies; it is the last setup step.

Ready to make it yours?

Start from Zonefall Arena Battle Game App and change anything by chat. Your copy comes with the full source.

Free to copy. No credit card required.

Taking a little longer than usual…

Loading FluxNative