Raft Wars: The Most Systems I've Packed Into One Game
Real trajectory physics, a mid-air deflect mechanic, and a Quartermaster Shop with three upgrade paths that all had to stay genuinely viable.
Twelve levels, real trajectory physics, and a deflect mechanic that lets you swat incoming shots out of the air before they land — this is the most systems I've packed into a single game so far. Turn-based cannon artillery across a high-seas campaign against beach thieves, pirate schooners, viking drakkars, and an armored battleship at the end. It's also the first game with a real economy layered on top of the core loop, not just a score.
Trajectory physics had to account for more than gravity
Pulling back and releasing to fire needs a real arc, and a real arc needs more than a simple parabola driven by gravity alone. Wind pushes a shot sideways over its flight, and different projectile types carry different effective mass, which changes how much that wind actually affects each one — a heavy cluster bomb should drift less in a crosswind than a light tennis ball shot, and if both drifted identically it would quietly break the reason to choose one weapon over another. Getting the trajectory math to genuinely respond to wind and mass, rather than faking a wind effect with a cosmetic wobble on top of an otherwise fixed arc, was what made switching between weapon types feel like a real tactical choice instead of a reskin of the same shot.
The deflect mechanic turns defense into an active decision
Most turn-based artillery games leave you passive during the enemy's turn — you watch their shot land and take the damage. I wanted the player doing something during that window too, so incoming enemy rockets can be swatted out of the air with the cursor before they land, which meant building real-time hit detection between a moving projectile and cursor position layered on top of what's otherwise a turn-based structure. That's a genuinely different interaction model running concurrently with the turn system, and keeping the two from interfering with each other — making sure a mid-air deflect doesn't confuse whose turn it technically is — took more careful state tracking than either system would have needed running alone.
The Quartermaster Shop needed real trade-offs, not just upgrades
Coins earned from clearing levels can go toward armored raft upgrades, recruiting extra crewmates, or stocking heavier weapons in the Quartermaster Armory, and the actual design work was making sure none of those three paths is obviously correct all the time. Armor helps most against enemies that land frequent small hits; extra crewmates help against enemies that overwhelm with numbers; better weapons help when the problem is raw damage output against tougher single targets. If one category dominated regardless of what the level actually throws at you, the shop would collapse into "always buy the same thing," which turns a meaningful economy into a formality players click through without actually deciding anything.
Enemy variety had to change tactics, not just appearance
Beach thieves, pirate schooners, viking drakkars, and the armored mega-battleship at the end aren't just different sprites with the same underlying behavior — each enemy type has its own attack pattern, positioning, and health pool that actually demands a different approach. Thieves are fast and numerous but individually fragile; a schooner sits at range and trades shots; the drakkars close distance aggressively. If every enemy type just reskinned the same attack pattern, the 12-level campaign would feel like the same fight recolored a dozen times instead of genuinely escalating. Building that variety meant writing distinct behavior for each enemy category rather than one generic enemy class with swapped art on top.
Crewmates needed personality, or they're just a stat bonus
Recruitable crewmates could have been a purely numeric upgrade — recruit crewmate, gain X percent damage or Y percent accuracy, done. I wanted them to feel like actual additions to the raft's crew rather than a disguised stat multiplier, which meant giving each recruitable character their own name, look, and a specific small role in combat rather than an interchangeable generic bonus. That's more content to build per crewmate than a flat stat bump would require, and it's the difference between a shop screen that reads as "buy 4% more damage" and one that reads as "recruit someone for the raft," which matters for a game that's trying to feel like a scrappy little campaign, not a spreadsheet with cannon sound effects attached.
What I learned about pacing a 12-level campaign
This is the longest structured campaign I've built, and pacing it correctly meant resisting the urge to front-load all the interesting enemy variety into the first few levels just to make an early impression. The early levels stay intentionally simple specifically so the shop and the deflect mechanic have time to become second nature before the harder enemy combinations show up asking players to use both well. A campaign that peaks too early teaches nothing it can build on later; one that saves its real complexity for after the fundamentals are second nature gives every subsequent level room to actually be harder in a way that feels earned rather than just cranked up.
Of everything shipped today, the deflect mechanic is the one I'm proudest of, because it's the piece that turns a fairly standard artillery format into something that asks for your attention on both halves of every exchange, not just the half where you're the one aiming. I don't know yet whether it's discoverable enough without more explicit teaching, and that's the thing I'll actually be watching once this is out — whether people find it on their own or need a clearer nudge toward it, since a great mechanic nobody actually discovers might as well not exist at all.
Twelve levels is also the longest single commitment I've asked a player to make on this site so far, and that changes what "done" means for a game like this. Every other game here can be judged in a single sitting. This one only really proves itself out over the full arc, from the first easy beach encounter to the armored battleship at the end, which means I won't really know if the pacing lands until people have actually played the whole thing through.
More from the Devlog