Console combat on a phone. Skill wins fights, style is what you buy. ⚔️

Natiely is a fantasy hack-and-slash built for Android and iOS: six heroes, three fighting styles, enemies that flank and retreat, titans with attacks you learn to read, and a wardrobe with premium cosmetics supported by RevenueCat. Cosmetic purchases never increase combat power.

Android is available on Google Play. The iOS build is already developed and tested on iPhone 13 Pro Max, iPhone 12 and iPhone 16 Pro Max, and is awaiting Apple's approval for release on the App Store.

iOS — App Store: Natiely (Apple ID 6816875577).

Built solo by a full-stack engineer with 12 years of experience. Two worlds are playable, with two more marked Coming soon. Built with Unity 6, Claude Code and Codex.

Best Game Award — Questions & Answers

Is the game fun and engaging to play?

Natiely is built around the satisfaction of reading an attack, reacting at the right moment, and turning defense into an opening. Players parry, dodge, jump, and switch fighting styles while enemies flank, retreat, and coordinate their attacks. The Grovewarden and Frost Titan add encounters with telegraphed attacks to learn and counter. Optional arenas add a choice: take on more danger for an extra upgrade and healing. Night skies, volumetric fog, expressive combat effects, and an adaptive soundtrack create a fantasy atmosphere, while titan ground markers help players read incoming danger. The goal is to make each expedition feel tense, responsive, and rewarding to master on a phone.

Does it provide a unique gameplay experience, progression, or replayability?

Natiely's distinctive combination brings reactive touch combat, tactical enemy behavior, and choices that change each run together. Six heroes across three fighting styles offer different ways to approach encounters. At five gem milestones, players choose upgrades from Strength, Vigor, and Agility, building around heavy attacks, parries, or dodges. Switching styles can strengthen the next hit, encouraging experimentation. New seeds, day/night variation, optional arenas, two playable worlds, 39 achievements, and rotating weekly objectives provide reasons to return. Progress comes both from the upgrades chosen during an expedition and from learning enemy patterns and improving execution across attempts.

How is the game monetized?

Natiely monetizes optional cosmetics through native in-app purchases powered by RevenueCat. Players purchase Gold and spend it on premium outfits, hairstyles, and collections; purchases are verified by the backend before Gold is credited. Core items and every color are free, and players can preview looks before buying. Paid cosmetics never increase combat power. This fits a fantasy hack-and-slash because players can express their attachment to a hero through appearance while combat success remains based on skill and gameplay progression. The separate web storefront also integrates Stripe Checkout, with purchase, refund, and access-revocation flows validated in sandbox.

Inspiration & founder story 💡

Working in games has always been my dream. After 12 years as a full-stack software engineer, I am investing my own money, time and as much energy as I can into making that dream real.

Natiely began when I felt increasingly uninspired by the games I was playing. I wanted to build the kind of game I wanted to play: engaging combat, room for personal expression, and a business model that respects the player.

Natiely will continue to be developed and expanded regardless of the outcome of this hackathon. A prize would accelerate the work; my commitment to the game does not depend on winning.

My long-term goal is to build a lean, ambitious indie game studio with developers who love games, care deeply about player enjoyment, and want to build a profitable, sustainable business. Natiely is the first step toward that studio.

I wanted the feeling of a console action game on a touchscreen: read an enemy's tell, parry at the last moment and punish the opening with two thumbs. I also wanted players to create a hero that feels like their own. Those ideas became Natiely's foundation: combat that rewards skill, and customization that supports the business without selling power.

What it does 🎮

Each expedition drops you into a hostile world with one goal: gather 1,000 gems while legions of enemies hunt you.

Combat that rewards timing

  • Six heroes, three styles. Natiely and Denis fight with sword and shield or dual blades. Thalita and Jonathan are archers; Nayane and Felipe are mages. Archers and mages each have a quicker hero and a harder-hitting hero.
  • Attack, guard, parry, dodge and jump. Light and heavy attacks give players different ways to punish an opening. The warrior's whip loadout adds a charged special with two variants.
  • Style combos. Hit an enemy with one style, switch styles within four seconds, and the next hit lands 20% harder.
  • Readable pressure. Each enemy hit is capped at 1/30 of maximum health before defenses, so a fight depends on sustained decisions.

Enemies that think

  • A 16-state goal-oriented planner drives approach, flanking, retreat, guarding and dodging based on what enemies can see. They do not read touch inputs.
  • An attack coordinator limits simultaneous strikes, making crowds easier to read on a small screen.
  • Legions of 5 to 20 enemies create changing pressure.
  • The Grovewarden and Frost Titan mark the ground, leap and land with six-meter shockwaves. Guarding or jumping at the right moment avoids the damage.

Progression and replayability

Gem milestones at 100, 250, 450, 650 and 850 offer upgrades from three paths:

  • Strength: kills prime the next heavy strike for +25% damage.
  • Vigor: parries restore energy and prime heavy strikes.
  • Agility: successful dodges prime an attack that slows its target by 35%.

Optional sealed arenas trade risk for an extra upgrade and healing. Players carry three elixirs per run, each taking 1.2 seconds to drink. Every attempt uses a new seed and switches between day and night. Thirty-nine achievements and rotating weekly objectives offer additional goals.

Two worlds live, two on the way

The Mountains and Glacier feature night skies, volumetric fog and an adaptive 18-track instrumental soundtrack that shifts between exploration and combat. The Desert and Volcano are visible in the world selector and explicitly marked Coming soon.

A hero who is yours

The wardrobe is a 3D dressing room for outfits, individual pieces, hairstyles, hair colors, skin tones, eyes and material finishes such as patterns, metallic effects and shine. The camera moves closer for facial details and pulls back for a full outfit.

Players can save up to four looks per hero and choose from 21 dash trail effects, with tinting that can match their weapon. Core items and every color are free. Premium outfits, hairstyles and collections are optional cosmetics.

Built for mobile sessions

  • Autosave every 15 seconds and when the app is suspended.
  • Offline solo play once a world is downloaded.
  • Optional cloud backup with conflict resolution across devices.
  • English and Brazilian Portuguese interfaces.
  • Mirrored left-handed controls and adjustable touch controls and camera settings.

How I built it 🔨

Game and combat

Unity 6, C#, Universal Render Pipeline, Cinemachine, Input System, VFX Graph, Burst and Addressables. Enemy AI uses crashkonijn GOAP with a custom tactical layer. The project began as a TypeScript/Three.js prototype before moving to a native game engine.

Combat rules determine damage, rewards and spawns independently of animation events and visual effects. That separation lets camera shake, crescent slashes and dash streaks express the action without deciding its outcome.

Cross-platform development: Natiely already has Android and iOS builds. Cross-platform development is a key reason I chose Unity 3D: I can evolve a shared foundation while adapting controls, interface and performance to each platform. Android is published on Google Play, and the developed and tested iOS build is awaiting Apple's App Store approval. Desktop versions for Windows, macOS and Linux remain on the roadmap.

Mobile performance

I tuned the game on a budget Redmi Note 8 and also tested on Samsung S24, Motorola Edge 60 Pro (Android 16) and Motorola Edge 30 Neo. The iOS build was tested on iPhone 13 Pro Max, iPhone 12 and iPhone 16 Pro Max. Testing across Android phones and iPhones broadens device coverage. Android GLES builds use a CPU-skinning path, with pooled enemies and projectiles, explicit budgets and 30 Hz frame pacing. Worlds are downloadable content. Frame pacing is a target, not a guarantee on every device.

RevenueCat and the cosmetic economy

RevenueCat provides offerings, localized prices and native purchases. My Go backend verifies purchases with RevenueCat before crediting Gold, using idempotent delivery so delayed or repeated events do not duplicate funds. Players spend Gold on cosmetics, and the server checks ownership before premium looks can be saved or equipped. Players can preview looks freely.

Stripe web checkout

The separate web storefront also has a Stripe Checkout integration with server-side order verification and signed webhooks. Purchase, refund and access-revocation flows have been validated in sandbox. The version-controlled Stripe configuration remains in test mode. Native mobile purchases use RevenueCat and the app stores; no live Stripe revenue is claimed here.

Web-to-app Gold journey — implementation in progress

I am now implementing a web-to-app purchase and messaging journey with RevenueCat Funnels, RevenueCat Billing, Stripe and OneSignal, extending Natiely's cosmetic economy beyond native mobile purchases.

The planned flow lets a player sign in, choose a consumable Gold pack in a RevenueCat Funnel and pay through RevenueCat Billing with Stripe as the payment gateway. The purchase will be linked to the same player account used in the game. My API will verify payment before crediting Gold, prevent duplicate delivery and reconcile refunds. Gold will continue to buy cosmetics only, with no combat advantages.

Different moments deserve different messages. I am designing these journeys for players who opt in to email or push notifications:

  • Browsed Gold but did not buy: a gentle reminder about the cosmetics they explored, without immediately offering a discount.
  • Clicked Buy but never reached checkout: check for a loading, authentication or application error before treating the session as abandonment.
  • Started checkout but left unpaid: offer a convenient way to resume; test an eligible, time-limited coupon only after a delay and a fresh check that the player has not purchased on another device or platform.
  • Payment failed or is still pending: explain the current status and help resolve the problem. A pending payment must not trigger another purchase prompt.
  • Payment succeeded but Gold has not arrived: suppress sales reminders, investigate delivery and provide a status update. Send “Your Gold has arrived” only after the API confirms credit, with a link back into the game.
  • Requested or received a refund: prioritize feedback and support, stop the original recovery sequence and reconcile the order. Consider a later return invitation only after the case is resolved; a refund will not automatically trigger a coupon.
  • Received Gold but did not return, or a relevant new skin is released: invite the player back to customization, avoiding offers for cosmetics already owned.

The planned tracking will combine PostHog and funnel events for behavior, Stripe/RevenueCat and the API for verified payment, refund and delivery states, and Sentry for technical failures. OneSignal will receive the relevant events to drive messages. Before each promotional send, the backend will recheck the player's current state, consent and coupon eligibility, with frequency limits and duplicate-event protection.

For new skin releases, I plan to test two message creatives with the same offer, using hero preferences and cosmetic ownership to keep messages relevant. A separate coupon experiment will compare an incentive against a no-incentive group. Success will be measured by confirmed and fulfilled purchases, revenue after discounts and refunds, and return to play, alongside opt-outs. The live funnel and deployed campaigns are still being implemented and validated; no campaign results are claimed yet.

Backend and web

Go/Echo REST API with WebSockets, Firebase Authentication, MongoDB, Redis and Docker on AWS, with Sentry. The website uses React, TypeScript, Vite, TanStack Router and Tailwind CSS, with PostHog analytics for account, store and invitation flows.

Art, audio and video

Characters, outfits and titans were generated with Meshy, then refitted and rigged in Blender to a shared skeleton. Claude Code used Blender's MCP integration to run fitting scripts. Mixamo animations were retargeted to that skeleton. The instrumental soundtrack was produced with Suno and integrated into the adaptive music system; ElevenLabs supported voices and sound design, and Kling supported trailer and store videos.

AI-assisted development

Claude Code and Codex were daily pair programmers. An AGENTS.md file carries the project's architecture, asset-pipeline rules and conventions between sessions. Combat feel, art direction, mesh fitting, soundtrack selection and balance decisions were made by me and tested on real phones.

Challenges I ran into 😰

Making touch combat feel fair. Early experiments showed that artificial invulnerability and frozen enemies could make combat feel less responsive. I worked toward readable telegraphs, capped damage and coordinated enemy attacks so timing and positioning matter.

Keeping crowds and atmosphere affordable. Enemy planning, projectiles, fog and particles compete for the same mobile performance budget. Pooling, visibility tuning and device-specific skinning helped keep the work bounded.

Reliable purchases. Purchases can be cancelled, delayed or retried. RevenueCat verification, idempotent Gold delivery and server-side ownership checks keep payment and cosmetic ownership consistent.

Learning from the first testers. Feedback identified slow store loading, too many coupon steps and late discount visibility. For the next update, I rebuilt checkout around one coupon field, one Apply button and a visible total before confirmation.

Accomplishments I am proud of 🙌

  • Shipping Natiely to Google Play as a solo developer.
  • Developing and testing the iOS build on iPhone 13 Pro Max, iPhone 12 and iPhone 16 Pro Max, with App Store approval pending.
  • Building combat where parries, dodges and style changes have distinct rewards.
  • Creating tactical enemies and titans with readable attacks.
  • Making the wardrobe enjoyable to explore before a player buys anything.
  • Connecting RevenueCat purchases to a server-verified cosmetic economy.
  • Turning a lifelong ambition into a released game that I can keep improving.

What I learned 🧠

Fairness makes difficulty more enjoyable. A good cosmetic preview helps players understand what they are buying. Testing on the Redmi Note 8 helped expose performance bottlenecks, while the Samsung S24, Motorola Edge 60 Pro with Android 16 and Motorola Edge 30 Neo broadened Android coverage. I also tested the iOS build on iPhone 13 Pro Max, iPhone 12 and iPhone 16 Pro Max. AI tools accelerate development, but feel, judgment and direction still require repeated hands-on play.

I also learned that building the studio I want starts with small, consistent decisions: ship, listen, improve and keep the player's enjoyment at the center of the business.

What's next for Natiely and the studio 📆

Natiely will continue regardless of the hackathon result. The roadmap reflects that commitment:

  1. New worlds: finish the Desert and Volcano, each with its own titan and cosmetic collection.
  2. Regular cosmetic releases: establish a monthly collection cadence, expanding player expression without changing combat balance.
  3. Combat development: continue tuning the existing styles and develop additional specials. Elemental powers are not part of the current live feature set.
  4. Online co-op: develop expeditions with friends. Multiplayer is still in development; authoritative game servers, regional hosting and testing are the next infrastructure priorities.
  5. Growth: measure installs, first battles, wardrobe visits, purchases and retention; use real production results to guide improvements.
  6. iOS release and desktop roadmap: the iOS build is already developed and tested on iPhone 13 Pro Max, iPhone 12 and iPhone 16 Pro Max, and is awaiting Apple's App Store approval. Android is already published on Google Play. Desktop versions for Windows, macOS and Linux remain planned, using Unity 3D as a shared foundation with controls, interface, performance and commerce adapted to each platform.
  7. The team: grow from a solo project into a lean indie studio with developers who love games and share a long-term vision for enjoyable, profitable products.

A Shipaton prize would help fund infrastructure, testing and the team, accelerating a journey I am already committed to. My goal is to build games people recommend because they enjoy playing them, and a sustainable company that can keep making those games.

Built With

Share this project:

Updates

Submission history