Inspiration
We loved couch-and-LAN arena shooters like Need For Kill, Soldat and Teeworlds, and wanted one built for the living-room TV and a gamepad.
What it does
FRAGGRID is a 2D side-view arena shooter for Android TV boxes and phones, played with a gamepad. You can play shared-screen, over LAN or over the Internet, against people or bots, in five modes (Deathmatch, Team Deathmatch, Instagib, CTF, Domination), and there's an in-game map editor.
How we built it
C++17 on the Axmol engine. The simulation core has no engine dependency, runs deterministically and is tested headlessly. Netcode is server-authoritative UDP, and the master server is a Cloudflare Worker over D1. Art comes from PixelLab, sound from ElevenLabs, and a lot of the development was done with Claude Code.
Challenges we ran into
Our master server can't handle UDP, so we had to get Internet play working through NAT anyway: the game servers act as reflectors and help with hole punching. We also had to make gamepads work reliably on Android TV hardware, where remotes and virtual devices pretend to be gamepads.
Accomplishments that we're proud of
A player hosting from home NAT was joined by a phone on LTE behind carrier-grade NAT, using a gamepad, and the match ran smoothly. The game now ships as a signed Google Play build with an in-app character unlock.
What we learned
A green test suite isn't enough: several of our worst bugs only showed up when someone actually looked at the screen.
What's next for FRAGGRID
Our to-do list is extensive; what has been released so far is essentially a beta. We are aware of numerous issues and shortcomings. We are still debating whether to implement on-screen controls to allow for touchscreen play without a gamepad. Next up are the iOS and tvOS versions. And if the game gains even a little traction, a desktop version will follow.
Built With
- axmol
- c++17
- claude
- cloudflare
- elevenlabs
- pixellab
Log in or sign up for Devpost to join the conversation.