1. Starcom: Unknown Space
  2. News

Starcom: Unknown Space News

Weekly Update: Jan 24, 2025

Two weeks ago I posted that there was a new opt-in beta available with a bunch of new content, QoL improvements, bug fixes, etc. Since then, I've released 3 patches to fix various issues players have identified in it.

At this point around 500 players have played at least some of the updated build and there haven't been any major issues reported. So barring any surprise problems, I plan on promoting Kepler 25105 to the default branch in the next week.

If you want to switch to the beta branch now, or want to read a preview of the changes see this discussion post.

Until then!

- Kevin

Weekly Update: Jan 17, 2025

The big news for this week is that Starcom: Unknown Space just hit a lifetime milestone of 100,000 copies sold on Steam!

This was a bit of a surprise for me: two weeks ago, it was at around 75,000. But last weekend it was featured as one of the "Weekend Deals" on Steam. This part wasn't a surprise, I knew it was going to be featured, I just didn't realize how big of a bump that would be. The game had been previously part of a Daily Deal during launch week which produced some additional visibility, but it was a relatively modest boost in comparison. Thanks to everyone for supporting the game!

As a result I've spent more time than usual in the discussion forums this week trying to answer new player's questions, collate new bug reports and feedback, etc. So another big shout-out to players in the forums and discord who've helped answer new players' questions.

Despite the additional community communications, I've made some good progress on a few tasks. As I mentioned last week, there's a new opt-in beta build. Yesterday, I posted an update to that build which fixed a few things and added some QoL enhancements. I haven't heard any major issues introduced by this build; it is compatible with existing saves. Players are welcome to check it out now, with the caveat that there may be bugs.

One of the more time consuming issues was addressing a long-standing bug that prevented some modules from showing thermal effects in the shipyard.

The way ships are rendered in-game is with a custom shader that blends several masking layers together, each multiplied by some color value allowing for faction and player customization. As I talked about in a video entry during EA, there's also an emissive component that handles the glowing for windows and power supplies.

In the shipyard during thermal analysis, this emissive component gets a color added to it to show the heat levels.

At some point I had added an optimized version of the module shader that removed the emissive property for modules that didn't have any glowy-bits. But I forgot that the thermal visualizer was relying on it (it may have been less obvious because most heat generating modules are also emissive).

The simple solution would be to switch all modules to use the emissive version. But this adds a small GPU cost for every pixel of every ship module on screen at all times, even if they never glow outside the shipyard.

Instead I decided to bite the bullet and use a similar trick to the one I used for cloaking ships, where a second material is added but only when needed. Due to the nuances of material stacking, it looks a bit different from the existing thermal analysis. I also added some light mottling for a more entropic appearance.



Additional things worked on this past week:
  • Steer to mouse bindable hotkey
  • Plasma autofire setting in ship info
  • Changes to some AI targeting values
  • Changes to plasma autofire: higher tactics skill improves target selection
  • Added lower particle count versions of Havok and Shroud bursts if graphics settings below "high"

Until next week!

- Kevin

Starcom Unknown Space is like Starfield meets Stellaris, and it's going cheap

If the dense galaxies of Starfield and Stellaris have left you wanting more, then Starcom: Unknown Space is the game for you. After finally leaving Steam Early Access late last year, the old-school-inspired space exploration RPG is on sale, so now's the perfect time to give it a shot. Taking place entirely on a 2D plane with space combat, shipbuilding, and in-depth decision-making, Starcom is easily one of the best intergalactic games on Steam right now, and it's cheaper than ever.


Read the rest of the story...


RELATED LINKS:

Starcom Unknown Space blasts out of early access with 95% Steam rating

Weekly Update: Jan 10, 2025

Starcom: Unknown Space is one of Steam's curated "Weekend Deals" right now, which has brought it in an influx of new players. If this is you, welcome and thanks for playing! Every week I use this space to give an update on what I've been working on, or talk about some aspect of the game's development.

Last week I started a full playthrough of the game to test the new updates/content that I've been teasing for the past month. This was my first complete playthrough since launch. Even using some in-editor dev cheats, this takes quite a while because I'm also noting issues, fixing minor bugs, replaying sections, etc. My save game says it was 11 hours, but actually it was probably closer to 3-4 fulltime working days.

There were a few significant issues, which I addressed. On Wednesday, I uploaded this version (Kepler 21502) to the opt-in beta branch so players can now try it out. It fixes a couple of minor bugs, adds a few QoL features as well as adding some new content, including 25 new anomalies and several new side-quests.

You can find a spoiler-free list of changes and how to switch to the beta here:

https://steamcommunity.com/app/1750770/discussions/0/4516632734722382722/


Should you switch to this beta now? Well, on the one hand the existing default build is very well tested at this point. On the other hand, the new beta adds additional content and side quests, including new hints and guidance to a few areas where players have found themselves getting "stuck". So if you want the most content and discover even more of the unknown (which might also include unknown bugs), you should switch.

The beta is intended to be compatible with existing saves, although see the notes in the above post for details.

Until next week!
- Kevin

Weekly Update: Jan 3, 2025

Happy New Year all!

Over the past couple months I've made a lot of incremental fixes, changes and content additions to my local development version. Every small change has a chance of introducing a bug. So on News Year's Day I started a full playthrough, something I haven't done since launch, with two goals: 1) seeing whether anything has broken and 2) seeing if the collective changes are ready for player testing.

A full playthrough takes quite a while, so I'm only about half way through. I've discovered one new bug that has been in the game for over a year, but was only revealed through a recent change.

Currently, there is a bug where if you load a save, any damage to your ship would instantly repair. So I've fixed that exploit. But in this playthrough I noticed that sometimes I'd reload a save and have damage when there shouldn't have been any.

After investigating, I figured out the cause:

What was going on was that a while ago I added an optimization that cached your most recent save after reading it from disk, so when the player did a quick load or died the save manager could quickly pass that to the game without spending 200ms or so reading it.

The problem is that the various game systems assume that when a game is loaded, they can take any values passed to them and assign them to their respective variables.

For example, if the save file says the player has 2000 RP, then the game sets the player's RP to 2000 RP. This is not a problem and will not cause a bug because RP is an integer and integers are value types. The game can change the amount of RP that a player has, but there's nothing that will change the value of the number 2000.

But some of the data is more complex. Things like the structure of ships are represented as a bunch of ModuleData's. A ModuleData is a collection of value types (HP, rotation, module type, etc) represented as an "object". An object is a reference type, which means that when you pass it around, you aren't passing around copies of various values, you're passing around an address in memory where those values are stored.

So when I loaded the cached save, the save system handed the ship a list of modules which it used to reconstruct my current ship. But when I flew into battle and the enemy started blasting at me, my modules were still referencing the objects in the cached save for their data. Which meant that the enemies were actually damaging the modules my save game.

Now I had designed the save system very much knowing about the possibility of accidentally referencing save data, which is why the save system uses "cloning" to create copies of the game data. But it only does this on the "save" side. I suspect when I implemented the cache I had forgotten this and thought it also happened on the "load" side.

Anyway, I'll be continuing the playthrough for the next day or two. Depending on how that goes I may either spend more time tweaking, or make it available as an opt-in test build. So stay tuned!

Until next week,
- Kevin