Fernwild: A Godot Arena Shooter for Desktop and Mobile by Niko MinadzeFernwild: A Godot Arena Shooter for Desktop and Mobile by Niko Minadze

Fernwild: A Godot Arena Shooter for Desktop and Mobile

Niko Minadze

Niko Minadze

Fernwild: A Godot Arena Shooter for Desktop and Mobile

A free Godot arena shooter with seeded runs, four bosses, bow upgrades and touch controls. Built for desktop browsers and the iPhone home screen.
I like making small games between client projects. Fernwild started with an elf, a bow, and a simple rule: the arrows can run out.
Over roughly two weeks, I built that into a complete arena shooter with four stages, six enemy types, four bosses, shops and permanent upgrades between runs. It plays in a desktop browser or on a phone, including from the iPhone home screen.
The current release is 1.1.11. The clip below is recorded on my iPhone 17 Pro.
Seven seconds of actual iPhone 17 Pro play, with game audio. Move, fire and keep an eye on the quiver.

My part in the game

I handled the game design, Godot and GDScript implementation, enemy behaviour, progression, menus, input controls, asset integration and browser delivery. I also built the Tavern & Tails landing page and published the playable game through NikoCodes.
The artwork and music use AI generation alongside credited CC0 assets. Some sound effects are synthesised. My work included selecting and preparing those assets, correcting animation problems, and making them fit the actual game. The sources are recorded in the credits.
Start a new run, enter a seed to replay a layout, or spend earned embers at the Hearth.
Start a new run, enter a seed to replay a layout, or spend earned embers at the Hearth.

Rooms worth replaying

Each stage has six arenas followed by a boss. Clearing a room opens the way forward, while occasional cache rooms give you something extra to find.
A seed determines the arena layout. Entering the same seed rebuilds the same rooms, so a difficult route can be retried or shared. Trees and rocks are solid, and enemies move around them. Positioning matters because the scenery affects both movement and lines of attack.
The forest arenas are built from a seed. The same layout can be played again without relying on hand-authored rooms.
The forest arenas are built from a seed. The same layout can be played again without relying on hand-authored rooms.

A quiver that runs out

The starting quiver holds 24 arrows before Hearth upgrades. Dropped quivers refill it, and a hit costs a life. That puts a practical limit on standing still and holding fire.
Coins buy bow upgrades, multishot, piercing, a faster draw, better boots and extra lives. The pedlar sits beyond each boss, so players collect the spoils before choosing what the next stage needs.
The Hearth serves a different purpose. Embers earned across runs buy permanent starting upgrades. A failed attempt can still leave something useful for the next one, with records and progression saved locally.
Spend this run's coins at the pedlar. The Hearth improves how future runs begin.
Spend this run's coins at the pedlar. The Hearth improves how future runs begin.

Six enemies, four bosses

The six main enemy types behave differently. Goblins close the distance, imps swarm, beetles defend behind their shells, shamans keep their distance, boars charge, and widows throw a spread of projectiles.
Each stage ends with its own boss and attack patterns. This gives the player reasons to move and time shots, beyond watching a health bar get longer.
The Rootwarden guards the end of the first stage. Three more bosses wait deeper in the hollow.
The Rootwarden guards the end of the first stage. Three more bosses wait deeper in the hollow.

Getting the bow to line up

The AI-generated animation took more work than the still images suggested. Fern could aim one way while the projectile travelled another, or release an arrow before the drawing showed her letting go. Clipped bows and inconsistent facial details needed attention too.
I checked the clips in motion across their directions, then matched projectile timing and starting position to the actual frames. The arrow and its sound now come from the same release event. Changing a shooting animation means checking that timing again.
That work connects the character art to how the game feels under your fingers.
A frame from the real phone recording. The bow animation, projectile and sound have to describe the same shot.
A frame from the real phone recording. The bow animation, projectile and sound have to describe the same shot.

Mouse, gamepad and two thumbs

Desktop players move with the keyboard and aim with the mouse. Gamepad controls are supported as well. On touchscreens, a floating joystick handles movement, while the fire button aims at the nearest enemy.
The mobile layout expands the visible arena for a wide landscape screen and moves the controls towards its corners. The pause menu stays reachable on touch devices even when the thumb controls are disabled.
I also added small arrows that point towards the final one or two enemies when they are off-screen. They help finish a nearly cleared room without turning every fight into a screen full of markers.
A small usability detail: directions to the last enemies, only when the room is almost clear.
A small usability detail: directions to the last enemies, only when the room is almost clear.

Finishing the browser release

Testing the browser release exposed missing sound and wasted screen space. Then my girlfriend and I played on an iPhone 16 and an iPhone 17 Pro. Repeated rotation could stretch the game or make the controls disappear, taking the menu button with them.
The audio player could report success while producing silence. Defining the audio buses before startup and measuring their actual output resolved that failure. The screen work combined viewport-fit=cover with page-managed canvas sizing, repeated measurements after rotation and recovery for the touch controls. Versioned asset names also stopped a refreshed page from loading an older cached game pack.
Browser audio and PWA display work took roughly two days on their own. Repeatedly rotating a phone is a surprisingly effective way to extend a small game project.
Coins and arrows on the ground during the recorded phone run. The same progression and combat systems serve desktop and touch play.
Coins and arrows on the ground during the recorded phone run. The same progression and combat systems serve desktop and touch play.

The released game

Fernwild 1.1.11 is free to play, with four stages, seeded arenas, boss fights, local progression and keyboard, gamepad or touch controls. It is a personal game project that took me through the whole process: designing the run, integrating the art and sound, building the interfaces, and getting the browser release into our hands.
Like this project

Posted Oct 14, 2026

A free Godot arena shooter with seeded runs, four bosses, bow upgrades and touch controls. Built for desktop browsers and the iPhone home screen.