Sunday, March 6, 2016

StarWright 0.6.0 - Shields!

Today I released StarWright 0.6.0, which (in addition to a handful of other improvements) features the game's first active defensive system: the Shield Generator!

Until today, the only defensive additions you could make to your ship were the lowly armor tiles. Armor tiles are useful for protecting the innards of your ship from enemy fire (and especially from penetrating cannon rounds), but, since weapons and thrusters have to be placed on the exterior of your ship, armor was a limited use in protecting those kinds of systems.

The Shield Generator changes that, providing protection for your ship's exterior, but at a hefty cost in credits and power. As you can see in the above screenshot, the shield generator (the purple room next to the big cannon) projects a curved force field in a 90-degree arc in front of your ship. This force field blocks all incoming enemy fire attempting to pass through the arc, while allowing your own shots to pass through unimpeded.

Of course, as powerful as the shield generator is, it's not without some serious drawbacks to prevent it from being imbalanced:

  • The shield only protects against shots passing through its limited 90-degree arc, meaning that, without extra shield generators, you could be flanked from the side where the shield won't protect you.
  • While the shield blocks incoming weapons fire, it does not actually prevent enemy ships themselves from passing through. So if an enemy ship gets close enough that its weapons fire from within the shield's arc, then the shield will do nothing to protect you.
  • Shields use a lot of power while operating. Not only is there a substantial per-second power drain just to keep the shield operating, the shield also loses power quickly as it absorbs enemy fire. And once a shield generator runs out of power, its protective force field will shutdown until the generator can be fully re-powered, leaving a sizable window of opportunity for the enemy to destroy the shield generator or the other systems it was protecting. Keeping a single shield generator powered during an an enemy attack can require many crew working hard to carry power from a nearby reactor or power storage.
  • The shield generator itself is very weak and is easily destroyed once its force field shuts down. This leaves a potential weak point in the perimeter of your ship through which enemy rounds can penetrate and damage your internal systems.

One mechanic not yet implemented that I'm considering adding is heat buildup. The potential reason for this mechanic is that it's theoretically possible for a ship to have so many shields and enough crew and power to keep them active that you'll never be able to bust through; and if your ship also has impenetrable shields, that could cause a stalemate. A potential solution to this kind of stalemate is to, as the shield takes enemy fire, have it build up more and more heat until, eventually, the shield generator either deactivates or maybe even explodes.

I have not added this heat-buildup mechanic because I don't want to make the rules for shield generators unnecessarily complex and less intuitive unless I'm absolutely sure that they're needed. If you find that you're getting into these kinds of stalemates while playing, then please let me know!

As always, I encourage you to download StarWright and post your feedback!


  1. I didn't want this game to have shields because I liked the idea of just hull and armor, but when I messed around with the shield I really liked it. I think it's because it isn't just another health bar or a plot device, and it can be taken down with a couple shots, but it might just block enough shots to change the game.

    I hope you will be able keep up the good work and come up with more genius and innovative ideas like this.

    1. So glad you like the shields!

      Yeah, I completely agree that shields (or any other feature) shouldn't just be "another health bar". There are plenty of other space games where you make your ship better by increasing its health bar, and StarWright is *not* that kind of game.

      Whenever I add a new feature to ships in StarWright, I ask myself the question, "Does this make designing ships more interesting?" If the answer is no, then I don't add the feature. I hope that because shields have a limited arc/area of protection, must be placed on the exterior of a ship, and drain power as they take damage, they make designing ships *more* interesting, not less.

    2. They definitely make the designing and combat more fun and interesting. I revisited some ship designs to see how and where I could position it for maximal effect, after some tests I realized I needed to move the power closer and ended up completely re-designing a ship, thrusters and everything.

      Then in combat I saw how quick it went down but how much it protected my cannons and was amazed at how balanced and useful it was.

  2. Hey. I would like to translate the game into my native language, but playing the font does not allow me to do so, could you tell me where it is? I am sorry for my English, I do not speak on it.

    1. I'm thrilled to hear that you'd like to translate the game! Unfortunately, most of the game's text is hardcoded into the .exe right now. I *will* support multiple languages in the future, but it hasn't been a high priority for me yet.

    2. Yes, this is a problem, my attempts to translate the text of the .exe were in vain. But the text of the file in the Data\Ships quite translate, but this place of text the game displays the hieroglyphs.
      If you have made localization tool ... Its implementation is not too difficult. Perhaps my vision is not true, but I imagine his work as:
      name = lokaliz [n]; // Array that takes values from a file.
      Perhaps in the Localizer need a a choice of font in order to avoid possible problems with the displaying text.
      In any case, thank you for the game.