Post originally written for the Fractal Softworks blog about the development of Starsector.
Or, if you like, “A Charged Subject”.
Or “David gets Alex to basically write half the blog post by abusing quotes”.
Right, so let’s take a peek into the process of back and forth commentary and iteration Alex and I go through when adding a new weapon to Starsector. I think this may give some insight into how this game gets made and how working on one small piece of it rolls odds and ends off into other areas of development.
Our story begins with a simple request for a new weapon asset.
1. The Request
Alex, 2015 December 14:
“Would be neat to get a rotary beam weapon in the game – chaingun style. I’ve had a soft spot for those ever since the Gat Laser tower in Total Annihilation… As far as in-game role, was thinking a support weapon would be good to allow for more ship role differentiation. So what does that mean for beams? Probably mostly EMP damage, with high range. Like a more support-dedicated Ion Cannon. Name-wise, perhaps “Rotary Ion Pulse”? “Ion Pulse Gat”? Hmm.”
2. The Quibbling About The Name Before Actually Doing Any Work
(And then, at least, a clarification on the weapon size.)
David, 2015 December 14:
“Ohh, or “Ion Pulse Vorticannon” … somehow that sound steampunk. (If you say “gat”, I’m just going to imagine you holding the ray-gun sideways!) … “Rotary Ion Pulse Cannon”, “Ion Pulse Autocannon”, “Ion Autopulser”? Last one seems most succinct. … right, ahem. Adding it to the TODO!”
Alex, 2015 December 15:
3. In Which David Forgets The Name Discussion And Just Draws The Thing
David, 2015 January 02:
“Checked in the “Ion Pulser” (I forget if we agreed upon a name, but that’s what I put in as a placeholder halfway between “Ion Cannon” and “Autopulse Laser”).
Let’s set the dialog aside for a moment to walk through how I concepted and drew the Ion Pulser.
4. In Which Our Narrative Is Interrupted To Discuss Ancient History & Artistic Practices
This is clearly the bigger, badder version of the Ion Cannon. It’s got to have a visual continuity with the old Ion Cannon so players will recognize in an instant what each weapon means relative to the other. So what’s the old one look like and what was I thinking when I drew it? Let’s dig in the archives.
First the concept art:
Wow, that’s old. Way back then I’d draw a whole batch of these as concepts and send them over to Alex for approval before proceeding with the sprites. I’m a bit more cavalier about it now because 1. these are really quick to make, 2. I think we both know what each other are about, and anyway 3. if Alex thinks I should take something in a different direction he’ll let me know.
So the Ion Cannon concept is interesting; you can see quite clearly here that I’m assigning the visual design markers of stocky, bulbous, and glowing green to Ion weapons in the Starsectorverse. Compare that to the Graviton Beam there for an entirely different set of visual design markers. There’s also, I think, a great deal of design influence from the game Ascendancy primarily, with a bit of Master of Orion 2. Let’s drop a shot of Ascendancy in here to the right – there. I love how colourful and distinct all of the component designs are in Ascendancy. Rough game, but fantastic visual design (and music).
Back to the Ion Cannon sprite – I also found the old working sprite sheet from the same time period (with the ancient, tiny original proposed size for small weapons. Aren’t they cute?)
So I cranked out a concept sketch:
I’m not even sure why I did it side-view. I remember doing that in the old, old concept art (as above), later realizing it might be silly to do so because the weapon is always viewed top-down, then doing all my weapon concepts as top-downs. I guess I just had it in my mind to draw it in a similar view as the old art I was thinking about. It’s also a much sketchier drawing because it’s purely for myself (insert rant here about conflation of promotional art with working concept sketches) – I don’t have to convince Alex of anything with this, much less a board of directors or producer or publisher’s agent. So it’s messy.
Right, so we have some bulbous forms, green colouration with a spot of red to offset it, and the idea of these big superconducting barrels with maybe bulky coolant or armoured or superconducting wedges – something to set it apart from the round-barreled generic gatling gun look whose quota is quite filled up by weapons that already exist in Starsector. It was in converting this concept to a sprite that I stumbled upon what would really set the spinning barrels apart from the others – a tapering effect!
You can see this a bit in the image to the right where I have my sprite laid out alongside the original Ion Cannon. I apologize for not showing the sprite process, but it basically involved scaling the concept art down to sprite size, moving chunks around until the form felt right, then doing cleanup/redraw to get it looking presentable. The newer style also aims to be a bit smoother – through use of selection marques and vector shapes – than the chunky classic pixel-art look of the old Ion Cannon.
Ah, but this is a fancy rotating barrel weapon. We’re not at all finished!
The first attempt involved three animation frames built on a resize and clean-up the barrels drawn in the concept art above and given a treatment similar to the sprite drawing process. I wasn’t impressed with how this turned out (as you can see to the right). I mean, it is what it is, but it’s weirdly skewed to one side and a bit sloppy besides. I wanted to challenge myself to do a bit better here.
There was some excellent modder’s thread about giving chaingun-style weapons a spin-up and spin-down effect and using lots of animation frames. I discussed doing all this with Alex, but he was correct to observe that this would be putting a lot of effort into one small detail that won’t be noticed when there’s plenty of other stuff to get done. Or some argument to that effect, anyway. And it’s true. (The same applied to my idea to dabble in 3D modelling enough to build an animated base for creating this sprite — it’s seriously been 8 years since I used 3ds Max so it’d be quite generous to describe my 3D skills as even “rusty”. So no, not doing that either.)
So I withdrew – and redrew. Here’s the workspace and file layout in which I did it:
I upped the frames to nine, made the tapering just a touch more extreme, and added a little red mark to emphasize the barrel rotation. It wasn’t quite enough so I added some crawling pixels a touch below the base of the barrel to suggest some kind of rotation mechanism. You can see the result to the right.
Much better! This is also an energy weapon so there’s a glow layer, but it’s pretty straightforward and we don’t have to get into that. Oh, and I implemented the weapon in the game. Now we can get back to the dialog, for as I was saying …
David, 2015 January 02:
“Mechanically – for a first run – this is just like an Ion Cannon but shoots a whole ton of shots. Started experimenting with having them having more spread because it’s actually advantageous to spread ion fire around an enemy hull. Could definitely take this idea further; maybe if the accuracy is a bit low, the optimal strategy is to always build up a full ammo load before unleashing a burst. Well, and ensuring the other guy’s shields are down before shotgunning them with EMP.”
5. In Which Alex Concedes Defeat In The Naming Wars & The Aurora Is Summoned
Alex, 2016 January 02
“Ion Pulser: (Sure, let’s go with that name.)
I totally had it an mind as a long-range burst beam weapon (aka “gat laser” aka “ray gun being held sideways”) but, having tried that just now, that totally doesn’t work anyway. Can’t get the spinning animation to sync up decently with pulsing beams, and it looks too much like a strobelight anyway. So, never mind!
The way you’ve got it set up works nicely. Upped the range just a tad, but beyond that, I think it feels good. The only thing is that I’m not sure which ships would make good use of it – the relatively low range kind of makes it not that great as a support weapon, as in, “supporting other ships”, and not a lot of ships have medium energy mounts to spare on a support weapon for their own other armament.
Did try upping the range a lot, but that just causes problems – a really long range hard-flux-causing-weapon is hard for the AI to deal with and the player can abuse it in boring ways.
Overall: it feels good to use, but I’m not sure how much use it’ll actually see.
Sort-of-side-note: I’ve been thinking about retooling the Aurora. Right now it’s primary usefulness is a missile boat and… well. It can be fun to fly a strike loadout in it, for sure, but that large missile slot just feels odd. Half thinking to add a new slot type (like “hybrid”, but for energy-missile vs energy-ballistic) and changing the Aurora’s hardpoints to that, along with downsizing the large one to a medium. Need a good name for that slot type, though. Thoughts on either front?“
Alex 2016 January 02, a few hours later:
“P.S. Got overexcited about the Aurora + Ion Pulser. Added new slot type – named it “Synergy” (I may need professional help), adjusted Aurora to use it and changed one loadout to play around w/ an Ion Pulser. Checked in for your perusal; open to rolling this back.”
7. In Which David Both Approves And Proposes More Nonsense
David, 2016 January 03:
“Synergy/Aurora: Oh man I can’t / totally can believe you called it synergy. It’s … silly, but it kinda fits. I’m … kinda okay with this. (I’m … probably equally deranged.)
Makes the Aurora much more of a front-line shooter than a hang-back missile boat. Interesting. Was just having the thought that high-tech could perhaps use a gunboat type ship, though … heck, maybe we can just make a Tri-Tach skin of the Brawler with energy slots and call that a day.”
(In a later message Alex would suggest a good set of qualities to distinguish Tri-Tachyon hull variants beyond just piling on energy slots. It seems quite promising and I’m excited to draw them. But I digress.)
8. In Which Yet Another Secret Prototype Is Discussed
Ion Pulser related excerpts from testing notes on the new REDACTED (which is, for the record, neither of the modified ships discussed so far):
David, 2016 January 10:
“[Build 1] … the Ion Pulser is poor flux tradeoff vs. shields, so it was back to Typhoon shots to break shields, which I could just do better with a Cyclone” … “Put the Pulser on auto, but it built a lot of flux trying to hit enemy shields. So: not a great loadout. “
“[Build 2] … Pulser felt a bit like a third wheel here, especially if I was using the built-in EMP. And as noted, had lots of extra flux to burn.”
“[Build 3] … Pulser still a third wheel, but if I didn’t have that EMP maybe it wouldn’t be.”
Testing reports grim. Further revisions are needed, clearly – Alex is on the job:
Alex 2016 January 11
“But, speaking of the Ion Pulser (and your experience with it on the [REDACTED], it’s really not in a very good place, is it? It sort of started out as “long range support” and is now “short range support” but that’s not really a thing. So: gave it another pass, this time aiming for more of a Safety Overrides build niche – a high damage, high flux, low range weapon. Made the following changes:
– Reduced range to 450 (SO threshold)
– Increased damage and flux cost substantially. A bit more than double the burst DPS of a Pulse Laser, about half the DPS of a Pulse Laser sustained
– Shifted the bolt color a bit towards blue”
And here it is in action (among other interesting things):
So the Ion Pulser found its specialized role. Huzzah! Alex continues:
“Ion Beam: Going back to the original idea for the pulser – a medium energy support weapon. An EMP beam isn’t very good at that, though, since its damage is nullified by shields and so it’s not going to contribute much until shields are down, at which point it’s more like “overkill” than “useful help”.
So the idea is to give the beam a chance to send an EMP arc through shields, based on the hard flux level of the target. That way it’s not just a free way past shields, but if coupled with other weapons building up hard flux, it can be meaningful support – taking a weapon or an engine offline here and there.
To make sure it’s not too easily combined with other weapons on the same ship (which’d probably be too good), either going to give it a high OP cost or a high flux cost. Can you add this to your todo list? In the meantime, I’m going to rough it in using the graviton beam or some such as a placeholder.”
And so the iterative cycle begins anew!
This is, by the way, just one thread of the usual perhaps six or seven ongoing about various sub-projects in Starsector that Alex and I are discussing at any one time (doubtless he’s got additional secret projects going on).
I daresay, I’m excited to see what players make of this new weapon and all that’s coming along with it. (And even more excited for the longer term productions that have not been discussed in this post!)
Comment thread on the Starsector forums here.