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

‘Fluff’ ships

Something I got coded today on the campaign game is purely visual fluff. I have a map with different planets scattered over it, and they are linekd by wormholes that only connect certain pairs of planets, so you can’t just hop all over the place.

To make it clear that those wormhoels are, in fact, wormholes, I’ve added a bunch of ships flying back and forth along their length. The impression I’m after is similar to a few scenes from Revenge Of the Sith, where you see obvious ‘space higheways’ above coruscant with lines of ships heading back and forth. I loved that :D.

Obviously, for the purposes of the campaign game, they are implied to be personal ships or merchant ships. The space navies are your department, these ships are just background fluff.

It took me about an hour to two hours to get it right. Just drawing a bunch of sprites going between two points is easy, but they had to work within the zooming and panning interface, and also have to scale with processor speed for smooth movement. Then they need variations in speed, and have different source images (in a texture atlas). Also, they need to fade out at extreme low zooms, so you don’t waste time drawing stuff that’s tiny. lastly, they need to be batched together as an optimisation so that there aren’t a bunch of texture swaps. It’s all those fiddly bits that take the time. Plus I need probably another 30 mins to put together decent tiny ship sprites for use as final graphics. Should be easy and fun :D

In other news, Democracy 2 is still just TEN DOLLARS, because due to pretty unusual circumstances, the UK STILL has no government, and I proudly boasted it would be 50% off until a prime minister met the Queen.

bah.

BTW, the competition to win that spaceship runs out tonight. I’ll pick a winner tomorrow, so enter now, if you haven’t already done so.

Surely not more stats?

I’m afraid so:

I’ve added filtering by module type too, with the pie charts that show the damage done. This isn’t also filterable by ship, so it isn’t totally uber, but sod it, this is a game, not excel, it has to end somewhere :D

What this new view lets you do, is (for example) select just your frigate plasma torpedoes and see that actually 95% of their shots missed, whereas only 35% of the cruisers torps missed. That might be a good thing to know…

Hopefully tomorrow I can spend a lot of time tweaking the UI for this, and testing it extensively. At some point I need to declare the stats upgrade done, so I can concentrate on play balancing for a few days. Then after that it’s back to the long discussed and hugely involved online thingy.

Venturing further into online bits

Today I didn’t write a single line of  C++, but did code a lot of php, which is the language I use for the online challenge management stuff in Gratuitous Space Battles.

On thursday I spent a lot of time blasting out the music from Star Trek : First Contact while I scrubbed out my chalk board and drew my vast plans for the future of GSB, or at least, the next DLC/expansion thing. After a lot of hand waving, I’m currently planning on a cunning meta-game style campaign that slots into some of the existing challenge data. It’s going to work a bit like spore, in that it becomes ‘massively singleplayer’, with other peoples content (in this case fleets) appearing in your game.

So far, so easy. That’s not a problem. The tricky bit turns out to be that although I let people mod the game (and that will continue), I can’t have a modded fleet turn up in someone elses game, because at worst, it could crash thinking “cannot find ‘bobsZapGun’ module…”

The solution, (which doesnt check for data changes as such, but does check for simple additions), is to write code which verifies that a players fleet only uses content that exists in the main game. To do that, php code was needed to crack open the binary challenge data and go through each ship hull and module name and check they really exist…

and to get THAT to work, I needed php code that would analyse all the data in the game and create a database of all the ‘valid’ entries, so that it can compare one with the other. That way if I do some module changes or new add-ons, I can just run some php and have the ‘valid data’ table automatically updated.

This is a lot of work in order to just get something totally under the hood and invisible working, which is code to ensure no modded content ends up in any one elses campaign, causing a crash. There is a ton of other work required. The good news is that a lot of this same code might be possibly leveraged at a later date to scan the high scores for modded content (and reject it) and could even remove the need to tag challenges with the add on packs manually as players do now. All fun and games….

In other news I just did a BLIND taste challenge and I *can* tell the difference between cadburys and morrisons chocolate buttons. (Cadburys taste smoother).

Spot The New Feature

It’s very minor. But what have I changed in this screenshot below?

I’m supposed to be finalizing the new expansion. I’ll do more work on that tomorrow, but I’ve resigned myself to one more patch before I release it. I needed more weapon variety for them, and that meant code changes to the main game. Then I suddenly got a bit manic and obsessed about improving the graphics in all ways. Hence, 2 days were wasted trying to add shadows (I tried various methods but none of them look right, not without re-rendering every existing ship and a major re-write) and then a decent bloom effect. In the end, I junked all that code, because it didn’t get me anywhere.  I’ve made 3 tiny changes today to some stuff which make the game look very slightly better. Overall, it all adds up methinks….

Two new features for GSB

I was honestly trying to work on new DLC, but hey, I ended up adding and improving some stuff. One thing I ended up doing was mouse cursor changes, so it actually changes to the windows pointy finger thing now to show you that you can click something, which is quite nifty. I also added two features.

The first feature is the ‘fleet overlay’ at the left of the screen. It’s a scrollable column of icons for every ship in the fleet. The tooltips show your current damage percentage, and they fill red as the ships take damage. you can also click them to zoom to that ship. It’s a handy way to see at a glance in big battles which ships are taking hits. I also added a tiny arrow icon to toggle that new feature on or off, in case some people don’t like it. I have a tiny UV bleeding issue on that button I must fix…

gratuitous space battles fleet overlay UI

The second feature is rather cool for statistics-freaks. If you have played much GSB, and spent much time on the ship design screen, you will know the frustration of seeing “weight=122” and not really knowing how that compares to anything else. Obviously you can go through each module of the same ship class and compare, but wouldn’t it be better if the game makes that trivial to do?
Tada! It does. You can click any of those data entries at the bottom left now, and get a comparison window, ready sorted and scrolled to show where the current module fits in. I hope people find this useful.

gratuitous space battles ship design screen

Now I can get back to work designing fleets for the religious aliens in the next DLC…

Both these spangly new things will be in version 1.32, which will get released shortly before the new DLC. Yay!