Game Design, Programming and running a one-man games business…

Shield Support Beam

Right, so here we have a brand new module I think I’ll just add to the game. I was thinking about shoe-horning it into the campaign, but that is a bit awkward to do. It’s the first module that affects a ship on your side that isn’t the owning ship. Its….. (drumroll)…

The Shield Support Beam!

Or ‘Remote shield energy projector’ or whatever I finally call it…

Basically it lets a frigate beam-over shield energy to reinforce a failing ship on a nearby friendly cruiser. It’s a frigate-only module, only working to reinforce cruisers, with a max range of 450. Crew use is  8, power use is 18 (high!).

screenshot (its the blue beam thing): I may well tart-up the graphics for it a bit more. Click to enlarge.

The beam looks for nearby friendly ships whose shields are below 80%, and then triggers this beam which empties it’s ‘capacitor’ into the target ship, over a short burst of time. That then reinforces the target shield, back up to it’s normal strength. This is basically a way to temporarily gvie a nearby ship a really fast shield recharge, and is a defence againts those fleets that hurl 100 plasma or 100 missiles at your cruisers and crush them instantly.

I’ve tested it lots, but obviously it remains to be seen how people use this. Obviously you could stick 3 frigates behind every cruiser, in formation and have super-reinforced shields, but that ties up 3 frigates that have to stick by their cruiser, and also chews up 3 sockets and a ton of power. It’s a weapon socket, so that matters. So far, I’ve found it handy to combat plasma spam, but not a totally killer-app.

I’ve also set it to be an empire-only module, initially locked (but cheap to unlock). I like the idea of making any future modules race-specific, to give the races more flavour.

Thoughts?

back to the campaign tomorrow…

Selecting suitable user-generated fleets

I’m hoping that the Gratuitous Space Battles campaign add-on will make use of existing player-designed fleets to give a vast population of potential enemies to fight. Although this system is coded, in-use and working, it needs a lot of tweaking. (I also suspect it might be advisable for me to have this as an option, with a stockpile of ‘cliffski-designed’ fleets available for use instead). My current basic criteria for selection from existing fleets are:

  • Produced relatively recently (no beta or massively old challenges)
  • Has a good enjoyment Rating
  • Has more than x ratings (to ensure its not just a few friends)
  • Is valid (no modded content). The client filters out expansion pack fleets for people without them automagically.

I think, from my early playtesting, that I need a bunch more criteria. I’d like to avoid spammy fleets, or fleets where any ‘tricks’ are used. I think I need to at least add this:

  • All ships have engines
  • If the fleet is larger than X ships, then there is more than 1 type of ship design present, or no design is more than 75% of the hit point worth.
  • The fleet has more than x different weapons modules if larger than Y

The pain with this sort of thing, is although it’s trivial to do this in C++, I have to code all that sort of thing in php as it runs on my server. Effectively, new challenges get processed as they get rated, and may get added to the ‘potential campaign fleets’ list. That means lower productivity, as I’m more a C++ than a php coder, but that’s progress for you.

I’ve got a good few days work done on the campaign stuff, and am dfinitely 100% back into it. It’s still a long way off (I have music for it, but no art yet, for example), but its should be good fun. As long as sales pick up a bit, I hope to continue with improving the campaign after its launch too. There is huge potential for it, if people like it.

Also, I added a retweet me button thing to the blog today, feel free to use it!

Better Smoke Clouds

Sooo…

On my list of stuff I think looks not good enough, for me to improve when I am ahead of schdule and ‘treating myself’, is the black smoke clouds left behind when ships explode (mainly cruisers). They always looked a bit poor, and were just a handful of big sprites that rotated and faded in and out.

I’ve spent a good few hours investigating techniques and ideas and ended up with this:

Looks better in motion. Despite a lot of reading about fluid dynamics and mega-particles and other stuff, I ended up just using spinning sprites again, but this time with tons of refinements, in terms of different sizes, generation delays, greater sprite contrasts, and using sine waves to control spin speed degradation, sprite size growth and also now have 2 distinct groups of them in different size distributions.

I also experimented splitting them into layers so ships could fly through the smoke, underneath half of it, but it looked a bit wishy washy so I junked it. There is some extra fillrate involved in doing this, but I don’t think GSB is maxxing out many video cards right now, and this does look better to my eye.

Also, retreating now works 100% in the campaign game. Just need to have a visual retreat countdown timer and some tutorial hints for it now.

Unhappy with lighting stuff

I did some campaign stuff today, but also tried to finish off my weekend stencil buffer fun, had a brief flirtation with shadows, and got loads of stuff working, but was not happy. Basically my plan was to be able to take an image and draw it so it only appears on the ships. This would work for light sources, as well as shadows.

It worked! using pixel shader version 3, mind, but that would be togglable. The downside is, it looked crap, mainly because the ships are just sprites, and shadows therefore just splat over them rather than ‘rolling’ and it looked fake, and maybe worse than none. The lighting glows stuff looks better, but still bad. Using normal maps for the ships is theoretically possible, but insane amounts of grief, especially because it wouldn’t work on the turrets without re-doing them all. Bah.

Here is how it looks, if you can even tell. There is a brighter light glow around the laser bullets, as they move over the ships.

It sucks, and I am determined to get the game looking better than this. Also looking at other potential effect improvements…

Stencil vole floorboards

I was determined to not do any actual *real* work today, what with it being Sunday. but because I love coding, and silly graphical tweaks, I spent the day fiddling with stencil buffers, to no real avail. Originally, I was hoping to do some code where explosions happened ‘within’ the ships rather than just stuck on top. I sort of got it working, but it didn’t look as good as I wanted, so I switched to another idea for different stuff that involved stencil buffers, and wasted hours trying to get that stuff working.

It’s *almost* working now, through another method, but tomorrow I’m back at work properly. Partly because I will lose some time this week anyway due to going to London to give a talk on indie stuff on Friday, and probably spending monday doing my powerpoint presentation for it. That meant *buying* Microsoft office 2010 to install powerpoint*. It’s pretty cheap! (if you don’t want outlook) and I haven’t bought a copy since 1997, so I’m due an upgrade!

In unrelated news I’m also meant to be varnishing the bathroom floor, which first means getting some floorboards filled in with new bits of wood. I just know that is going to take ages. The varnishing is trivial, as I used to do it for a living. It’s the trying to make a piece of wood fit another piece of wood that I’m not keen on. Plus… Jack has got very good at bringing live voles in from the garden then chasing them around the house. Grrrr.

*I assume powerpoint files run on pc or mac interchangeably?