Monthly Archives: April 2021

Skypirates! Development Log #1: Introduction

You may remember Random Carrier Battles, if you’ve been here for long enough. That project is now abandoned, because modern alternatives like Task Force Admiral exist, and although they lack the Random element, they hit the Carrier Battles part of the project with more verisimilitude and much prettier graphics.

But the germ of the idea stuck around, and a better, easier 2d engine in the shape of Flutter presented itself. The idea (small-scale strategy-game air combat in the Pacific) got me thinking: what other settings would fit this kind of design?

The Pitch

Enter Skypirates! (Exclamation mark included.) Skypirates! is a game of air piracy, zeppelin aircraft carrier combat, and high adventure in the South Seas. My current, very preliminary design document covers three main gameplay layers.


Air Combat

Send your zeppelin’s air wing into combat against all challengers: other planes and airships, surface targets, ships at sea, and more. From your radio room, direct squadrons of your own construction, staffed with pilots and officers whose personalities and particular abilities affect the way dogfights play out.

Airship and Crew Management

Design a zeppelin, or choose from premade options, with which to tackle the unfriendly skies of the Far East. Pick and choose aircraft to fill its hangars, and crew to fill its cabins.

Careful weighting of the options will pay off! Pilots with certain temperaments and skills match certain planes better than others.

High Adventure

Daring deeds and thrilling exploits are just around the corner in every port of call. Choose your own path through branching stories of treacherous pirates, ancient civilizations, and treasures thought lost to the mists of time.



These are the very early days, so it’s time for some generalities!


“Flutter?” I hear the technologically-inclined in the audience asking. “The mobile app framework?”

It is an unusual choice, but not an unreasonable one, from where I stand.

Reason one: I’m familiar with Flutter right now, thanks to work. It’s simple and expressive, easy to extend, and ludicrously cross-platform. (I don’t intend to support anything beyond desktop, though.) It being a UI-centric toolkit, it makes the hard part (pretty UI) easy.

Reason two: Dart has gone from a pretty good language to a great one, with the addition of null safety. It’s concise without being unreadable, I like having named parameters, and it doesn’t go overboard on the punctuation.

Reason three: it’s less opinionated than most game engines about how world and data ought to be structured. This isn’t an attack on traditional game data modeling practice, merely a note that I find it easier to reason about when there’s a world state on one hand, and a rendering engine on the other, and they only talk in strictly limited ways.

Design: Scope and Scale

The world map image above is a lot of the map, but not the whole thing: it runs from about the top of Honshu west to Afghanistan, and south to about the northern third of Australia.

In this alternate history, that region of the planet has all of the ingredients for a vigorous population of pirates: namely, a lot of territories belonging to a lot of different powers, most of whom are busy in their home theater(s) with more pressing threats, and all of whom want to obstruct their opponents’ progress in overseas holdings as much as possible. Nearly every player in Europe is represented somewhere on the map: Britain, France, the Dutch Republic (alternate history, remember), Germany, Italy, Portugal… There are American colonies too, in and around the Philippines, from all the several American nations, and local powers too.

Because I am lazy, I’m using Cartesian geometry instead of spherical geometry, so distances aren’t quite accurate. Eventually, that may change, if I decide to expand the scope of the world, but India, Southeast Asia, and some very near parts of Oceania seem like plenty of room to run to start with.

The world runs on one-minute time steps, and although positional accuracy is basically ‘as high as floating-point numbers allow’, I’m planning on an ‘interaction range’ of 5-10 miles, at which point other systems (dogfights, visiting a port or point of interest, etc.) come into play. Maybe. This part’s still up in the air.

The typical player faction is a single zeppelin, its crew, and its air wing, an independent with an eye toward privateering or outright piracy. The design likely admits some mild variations on the theme (employee of an aviation security company, a task force of two or three airships…), but those will come later if they come at all. As alluded to in the elevator pitch, crew will have relatively detailed character sheets, and crew characteristics and aircraft characteristics intersect somewhat. A pure virtuoso pilot might prefer a more agile machine, while a tactician might want something with better energy fighting. An instinctive gunner might do best with a few heavy guns, carefully choosing his shot. A more exuberant personality might prefer more ammo.

Characters under the player’s command get placed into three categories, to reduce skill management minutiae: the player’s avatar, over whose sheet the player has full control; officers, who the player can guide down certain paths; and ordinary crew, who level up and gain skills on their own, according to templates.

Design: Aircraft

All of which will be accounted for in aircraft design—although designing airframes is outside of the player’s scope. On the other hand, souping up an existing model, swapping its engine for a bigger one, or adding guns are within reason.

I have a lot more to say about aircraft, because getting the math down took a ton of effort, so I’ll save it for its own post.

Anyway, that’s a very brief introduction to a few parts of Skypirates! As I continue the creative process, I’ll have more to say.

Wednesday What We’re Reading (Apr. 3, 2021)

This is about as far from a Wednesday update as it’s possible to get, and it’s also a bit on the late side, but so it goes. At least 4/3/21

Local News

  • The spam-stopper plugin is doing its job (1.5 million spam registrations/comments blocked!). If it’s doing its job too well and preventing any of you regulars (or newcomers who happen to read this) from commenting, let me know in the Discord, and I’ll try whitelisting you.
  • The 3D printer had recently ceased to go brr, because printing tabletop-quality miniatures is a very, very tricky affair at the knife edge of the machine’s capabilities, but it’s running again after an afternoon picking thin coatings out of threads on two mating parts.
  • A book recommendation from the Discord (The Secret Horsepower Race) has been great reading so far. I think I got to page 53 before I came across a full four-column, two-page spread with no fascinating pictures or diagrams. Serendipitously, this is What We’re Reading 109, an auspicious number given the subject matter of the book.

Suez Canal

  • I caught wind of this on Tuesday, March 23, and if I’d published it in the scheduled timeslot, I would have been well ahead of the curve. As it stands, I’d be a little behind the curve linking a postmortem. Oh well. I imagine you don’t come here for breaking news, and if you do, I’m a little concerned about how up-to-date you are on any number of current events.
  • Relatedly, it’s been a bad year for container losses at sea – Volumes are up, schedules are tight, stormy seas are less easily avoided.
  • Memes made Suez Canal workers work faster – National pride cited as the reason, in that I guess the Egyptians thought we were laughing at them, and not the situation generally?
  • On that note, I saw someone on Twitter remark that, given his long experience in Egypt, he was surprised the shouting over the situation wasn’t audible in space.


Science and Technology


  • Back on March 17, I noted that I was hearing rumors of the Pennsylvania background check system going down, as people converted stimulus checks into handguns.
  • The top US general in Afghanistan carries a Glockblaster – Compensator and slide-mounted red dot. Suggestion box is open for appropriate Glockblaster-themed names.

Grab Bag