Projects

LuxBonce

A turn-based artillery game for Linux, with destructible terrain and online matches.

What
Game, in development
Status
Playable alpha for Linux
Stack
Godot 4, GDScript, Python, Supabase, Stripe

Read the devlog

What it is

LuxBonce is my own take on turn-based artillery games, made in Godot 4 for Linux. Two players take turns: set the angle, set the power, read the wind, fire. Every hit leaves a crater, so the battlefield changes as the match goes on, and the wind changes after every shot.

The look is my own: original vehicles called mobiles, anime-style pilots, and a pop concert stage with lots of light effects.

What the alpha has

  • Solo against the computer. The CPU pilot looks for a trajectory that accounts for wind, terrain and the module it has equipped.
  • Online matches. A Python matchmaking server pairs two players on separate devices. It checks every turn, the move limit and the distance between mobiles before it sends a new position to both players.
  • A garage with four mobiles: NOVA, BULWARK, COMET and AURORA. Each one has its own stats, ability and an 8 × 8 sprite sheet for attacking, moving, jumping, taking damage and more.
  • Modules. You equip up to two combat items. Local credits and unlocks stay local. Online unlocks belong to your account, and the server validates each module before a match starts.
  • Accounts. Google and Facebook sign-in through Supabase, using PKCE. Tokens are kept in memory only.
  • A cosmetic store. You buy gems through Stripe Checkout. Gems are credited only by a Stripe webhook after the payment is verified, never by the game client. Premium currency can never buy stats, modules, damage, defence, healing or abilities.

Design docs in the repository

The repository has a docs/ folder alongside the code:

  • Arena design: the spatial contract of the current arena. Terrain is one height sample per pixel across 1280 px, starting positions are fixed, and online clients validate any terrain the server sends.
  • Level layouts: three proposed arena profiles, written as briefs before any of them is built.
  • Security review: a static review of sign-in, matchmaking and the gem purchase flow.

How I'm building it

The devlog follows LuxBonce from here: new features start as a written spec in the repository, then get built with AI agents against that spec.