3/3/16: Another hotfix up, please re-download using the links below. Fixes an infinite credit exploit and several minor bugs.
3/1/16: Hotfix is now up, please re-download using the links below. Includes several bugfixes, including one for starting bonus officer going MIA.
Starsector version 0.7.2a is now out! This is technically a second polish release for the 0.7a version, but it’s heavier on features and content than one might expect. Of particular note:
Reworked phase cloak mechanics (speeds up ship-time while phased, has cooldown)
Several new ships, ship systems, and weapons
Improved faction hostility mechanics
Improved smuggling/cargo scan mechanics
Reworked starting options
Numerous other tweaks and improvements
The full patch notes are here. You can download the new version here:
I started working on Starsector in the middle of 2010, over five years ago. An artist grows and changes in that kind of time. It’s only natural that I’d refine my technique and artistic opinions regarding the art of Starsector. No, I’m not proposing the redraw everything! – just, perhaps, this and that which was inelegantly handled in light of my current experience. This applies to many aspects of Starsector, but in particular let’s talk about greebles.
The artistic (re)thinking the led to this post is entirely inspired by Niklas Jansson‘s writing On the topic of good spaceship design which I re-read every six months or so. I highly recommend reading it along with basically everything on his webpage, particularly his thoughts on making art generally and pixel art if you’re the artistic type. Let me pull a relevant quote from the spaceship design article from Jansson:
Sometimes when I do a design, I find myself filling the remaining last few areas/surfaces with irrelevant nonsense and greeble, and I may think that I can get away with it because I’m happy with the rest of the design. Unfortunately it brings down the overall quality of the design. What could have been contributing is not.
Guilty as charged.
Now I do like the impression of a flying oil refinery, but it is totally greeble city.
Greebles are little doodads encrusted on spaceships without discernible purpose. At the best they are visual texture which contributes to a sense of scale, or – to borrow from Star Wars – to a sense of a “used universe”, to industrial-grunge aesthetics. I love all of those things. But at worst they are visual noise which muddles artistic intent, or even a crutch upon which to support a design which has a weak overall sense of form and composition. They can be a cheap path to adding visual interest with busy patterns and high contrast. Greebling can be a useful tool, but I’m much more wary now about it than I was five years ago.
I’ve always tended toward greebliness in my sci-fi art. Let me present an example from 2008: I was making a portfolio website totally covered in greebles to show off how cool and greebly I could be. Compare what’s going on here to Starsector ships you can doubtless see a continuity of style:
Now where were we? Oh, yes, Drawing A Starsector Ship Part 2 (read part 1 here).
I believe I was fretting about the back of the ship, those engine pods and such. Let’s do another sketch:
Hmm. While drawing this, I kept thinking “I’d rather be doing this experimentation on the sprite itself”. That, and I rather like the idea of echelons of squarish angle-corned thrusters for the primary drive with “barnacled” pods for the maneuvering jets. Well, let’s go back to the sprite and give these engines an overhaul, shall we?
(Also considering a comment from the forum thread noting that I’ve concerned myself a lot with asymmetry at the front of the sprite but little with asymmetry at the back. Interesting. Though I don’t especially want to have asymmetric engine pods for obvious reasons unless the mass of the ship was wildly skewed to one side. Which might be neat, but … this is not the time for something as off-the-wall as a B-Wing.)
— To the pixels! Jumped in with doing some pixel-brush painting, blocking out a base area with a 100% brush then doing detail and texture with 1-2 pixel radius brush set to very low opacity, sampling bits of colour from around the sprite as needed.
Due to popular demand I’m going to give a go at documenting the process of drawing a ship sprite for Starsector. Haven’t made many new ships lately as there are very interesting larger-scale developments going on, but I find that drawing spaceships is always nice to revisit. And about time I do this again since my methods have certainly changed since the early days.
So what kind of ship shall we draw today? Nothing too big as I ought to finish this post in a timely manner, so let’s go with a frigate. And lately I’ve been more excited about ships that blur the line between civilian and military which evoke a sort of post-apocalyptic can-do spirit so this one won’t be a sleek high-end Tritachyon thing. In fact, I’ve got a good weird idea in mind to fill an unfilled niche: a tiny frigate-sized carrier! This would fit nicely as well with some of the setting development we’ve been up to ( “very interesting larger-scale developments” ): one of the new systems going in — Magec — is composed largely of a giant ring of asteroids, dust, ice, and general chaos swirling around a young blue star. There’s a significant planet, but civilization has collapsed and no major faction has stepped in to take responsibility for what’s left. As one might imagine the place is lousy with pirates, profiteers, mercenaries, and adventurers. A combat-converted miner drone-tender would fit in perfectly!
As with other point releases, this is a followup to 0.6a. The main features in this one are:
Adjustments to combat readiness (more ship longevity and more choices, details below)
Four new ships!
Campaign help – dialogs that explain various game mechanics – how to split cargo stacks, how CR works, etc
Choice of starting difficulty – Easy and Normal. “Easy” gives you a choice of better starting ships and a Mule combat freighter, does not affect the rest of the campaign
Updated to use Java 7 and the latest version of LWJGL (2.9.2). Improved performance, OS X 10.6 (Snow Leopard) is no longer supported
Reduced memory usage (mostly affects larger mods)
Lots and lots of assorted bugfixes/improvements etc
A note about OS X: if you’re using 10.6, you should be able to upgrade to OS X Mavericks (for free) and run Starsector from there. Not all machines running 10.6 are able to run Mavericks, but the great majority should be able to. I’d have liked to keep supporting 10.6, but Java 7 doesn’t run there, and the machines that can’t be updated to Mavericks likely have a rough time with Starsector to begin with. All in all, it seemed like a worthwhile trade-off for improved performance and access to additional Java features for development.
As usual with OS X, if you’ve got Gatekeeper enabled, right-click on Starsector and click “Open” when running it for the first time. Otherwise, you won’t get the option to run it anyway when it complains that the app is from an “unidentified developer” (that’d be yours truly).
A bit more about the changes to CR: the deployment cost has been cut in half, but so has the recovery rate. This means that the time to recover from a single deployment and the supply cost per deployment both remain the same, but ships can be deployed more times before exhausting their CR.
In addition, low combat readiness no longer prevents a ship from being deployed. Instead, ships will suffer progressively more damaging and debilitating malfunctions – allowing for a desperate last stand rather than a helpless retreat, if it comes to that.