Starships Assembly is my most-polished, biggest project yet taking nights and weekends spanning 7 years. It all started with a challenge I gave myself:
Can I make a fun, interesting strategy game using as few parts as possible?
Almost from the beginning I had this:
From there, though, it was a lot of fun exploring, looking at lots of possible captain abilities, for making the space combat more or less complex, for figuring out how to combine all the information on a card into a sane presentation.
Many of my designs only get to this rough sketch, hand-drawn prototype phase. This one, though, phew! Players liked it! I had some fun games early on, and it just felt good, worth pursuing.
If the hand drawn cards were fun to play with, I was convinced I should bump up the production quality. A huge chunk of the time spent on this project was drawing pixel art in the GIMP!
The main card art file has 182 layers, and I wrote a fun GIMP script that will automatically hide and show layers to generate each of the 20 final print images.
With nicer cards and interested fans, I started concentrating on nailing down the final ruleset and writing a nice rulebook. This took a tremendous amount of time: writing, re-writing, diagramming, doing layout.
I held a play-test party, got a ton of feedback, and a lot of it suggested the rules needed another major rewrite for clarity.
Also while considering the cost of producing the rulebook, I decided to format it for mobile screens first and that the rules would be download-only. This brings the cost of the game way down only having to physically print and box the cards!
I could have stopped around here and had a decent game to show for it. But I pushed myself to try to accomplish the original challenge, to find a strategy game you could play again and again using only 20 cards. For the game to get where I hope it can go, I had to be as certain as I could be that no cards were broken, or too underpowered, or that any strategy just dominated everything else.
So I embarked on an analysis journey, and honestly, I could have stayed here tinkering probably for decades, this part was SOOOOOOOOO fun!
To analyze space combat I went completely bonkers. I wrote a Monte Carlo simulator, basically set up two fleets with two AI players, let them play, record the outcome, and repeat a million times. I used this in different ways, comparing AI's, comparing ships head-to-head, doing 5v5 fleet battles to see which ships contributed the most.
Here's an example where having each pair of ships go head to head many times, which consistently beats which ship?
Just because a ship can consistently beat a higher-priced ship head-to-head doesn't mean it will contribute more on average in fleet v fleet battles! And I hoped this was true, sometimes a cheap ship can kill a specific enemy ship, but you'll always want some workhorse ships in your fleet.
And just looking at how ships do on average in different dimensions like tanking damage and whether their weapons tend to overkill:
If you're curious, each run of the simulator is actually many sub simulations, and the final output is this big html report that gives the results for a certain card set version. This way I can look at how my card tweaks affect all the things I care about and make sure fixing one problem doens't cause another.
You might have noticed the report card thing and the grades. My thinking here was to consider some stat like "average number of rounds per space battle." What do I wish this stat was? For battle rounds I think you'd want the average to be more than 1 or 2, but probably not 5. Long enough to have a bunch of fun decisions to make and no longer! So I would come up with some function for each stat that would assign a grade to the outcome. In this example, if a card set version came out with an average battle rounds = 6.6 then the grade function would give it a bad grade, like an F.
See other stats from the overall set, like in this card set version the percent of battles where one side would win by coming back from behind in ship count was 9.8%.
The simulator also checked some static properties of the card set, and all of this was super helpful when tweaking, because I would often accidentally change one ship and make it an exact copy of some other ship without realizing it.
A few of the reports told me whether the set had some properties that I wanted. Like the "ideal damage class I fleet." So there are five cards with a damage class I miss, and I wanted to make sure that all of the ships that happened to be on those miss cards only had damage class I weapons. So... if you deployed all five of these ships into your fleet you'd have only damage class I weapons that are guaranteed not to miss until some of your ships get destroyed and eventually come back to the top of the damage deck. I love this idea, even if it's reaaally hard to execute.
For captain abilities and the Assembly phase, which is waaaaaay harder to simulate with AI, I used only pen-and-paper analysis to compare captains. What I am looking for there is to make sure each one had a unique contribution, there was a good mix of general use, early use, late use, offensive, economic all types of captains.
Honestly, I could spend another 7 years just analyzing and tweaking the game!
I didn't want to do anything fancy with the website. Just show the game, say a little bit about how it's unique, some strategies you can try. And a button to grab one!
Oh, and I was hoping this simple site would look right on desktops and tablets and phones. Making that happen is called making a site "responsive" (where the layout responds to the screen size, among other things). Turned out to be some work!
Here are some specific things that I think made it work for the Starships Assembly website:
With a game ready for publication I then needed some marketing material. So started a 4 month subproject to produce an introduction video that shows what Starships Assembly is all about.
Back to the Main Page.