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

Drag and drop design

A lot of stuff in the GSB campaign UI is drag-and-drop based. For example, if you want to merge one fleet with another, you pick up a fleet icon and drop it on the other one. If you want to move a fleet you pick it up and drop it on the destination.

The trouble is there are some situations where that fleet has moved (and thus can’t move again) but you still want the ability to drop it on another fleet in the same location. That means I allow you to pick up an icon, but only drop it on a next-door icon, which is confusing. I change the icon color to show that it can’t now ‘move’ only be merged, and explain ti with tutorial windows, but it’s not really good enough.

I think I’m going to go for a two-pronged solution. Firstly I’ll restrict the distance you can move a dragged icon if it can’t leave the system, and secondly I’ll change the icon more drastically to have a big red stripe through it to show it can’t be moved right now. That’s still not a perfect solution, but it’s a step  in the right direction, which is always a good step :D

I tried out a competing space campaign style game today, which I didn’t get into at all, but that was entirely due to what seemed a clunky interface. I don’t want people to have the same view of the GSB campaign, so it needs a lot of work. Everything has to be super-intuitive. Lots of work to do.

In other news, we wanted quotes from 3 builders. We arranged 4 to come visit. Only 2 showed up, and 1’s quote was some sort of joke. I’ve now arranged a 5th builder. What the hell is wrong with these people?

Gratuitous Balance Tweaking

I’m back 100% on the campaign tomorrow, I’m at the stage of doing tutorial text for it, then I need some complete run-throughs. Then maybe a pre-order beta release.

I’ve also been drastically improving the games memory usage. And also some baalnce tweaking. This is what I’m likely to be changing:

nomads:
Awazem loses its cost boost, gets 8% armour boost
Duwasir loses its armour boost, gets 10% speed boost
Majali reduces speed penalty from 22% to 12%
Abbadi gets an 8% armour boost
Nomadic dogfight laser damage increased to 8
Nomadic beam laser power usage reduced to 13

general:
guidance scrambler beam weight increased to 147
EMP Shield ecm strength increased from 66 to 82
All frigate armour maxdamageabsorbable increased by 20%
EMP Missile launchers, (both types) missile speed 25% faster. fireinterval reduced 10%, ecm strength increased 10%
Decoy missile launcher weight reduced to 70

order:
Limpet launcher limpetweight increased to 8.2, cost reduced to 110

Feedback welcome. More announcements soon, hopefully.

Memory allocation improvements

I’ve been working on about 16 different things, but one of them was to reduce the memory leakage of GSB. I know some people design very cunning survival-mode fleets and have battles that can go on for an hour or more, and basically GSB leaks memory quite badly right now. Also, if I ever want this game ported somewhere, it will need to get it’s memory use under control. Plus campaign games sometimes lead to some VERY big battle, which makes the issue worse.

Lots of fiddling around (writing my own memory allocation debug stuff) means I could watch exactly what was getting allocated mid battle. I dumped every memory allocation during battle to a text file, then chopped off the first 10,000 (so I don’t worry about early allocations, which are then cached and re-used anyway), so I could see what the long term persistant offenders were.

The next step was to ensure I was looking at the *amount* of RAM being used, not the number of small trivial 20 byte allocations. Those need optimizing too, but not now. To do this, I stuck all the text which looked like this:

file:..\src\GUI_Particles.cppline:429 28672
file:..\src\GUI_Ship.cppline:733 204
file:..\src\SIM_TargetedModule.cppline:905 48
file:..\src\SIM_TargetedModule.cppline:981 12...

Into Excel, and created a pivot table out of it, to nicely summarise each allocation type by number of calls and total RAM allocated. It was clear that particle allocations were rare, but huge. It was immediately clear that I was allocating memory for a big mega explosion even for the tiniest 7 particle fighter-impact effect. All I did was re-write the particle code to calculate on application-start what the maximum number of particles were that this emmiter could ever need, and then ensure it never allocated more than that when I created it.

Some more work with extensive debug display code mid-battle was done to ensure the new system was working as expected, and that the majority of the allocated RAM was indeed needed and being used.
End result? My test battle (Multari nebula, a fair few fighters, fought to the end with all options turned on) went from a peak of 403MB for GSB.exe to 305MB. That’s pretty darned good. The savings on bigger, longer battles will be pretty noticable.

Expect that improvement to be folded into a future update.

Gratuitous DLC Experiment

Ok, first things first, let me announce the release of a new race for Gratuitous Space Battles. They are called the nomads, and you can see more info here, and watch a video of them here (or below). And you can even go buy the new DLC here.

The idea for the nomads are a sort of retro-future race, suggesting a species that has been around a loooong time. They are travellers, and fighting purely for sport. They don’t come with any new technology or weapon types, but they do have a few extra tweaked ship modules. Also, there are not new singleplayer missions, this is just a race for you to use in existing scenarios, or in challenges.

Here is an embedded video showing off the new ships:

Now comes the slightl wacky bit. I’m selling this DLC for $5.99, just like all the previous races were, and there is no change there. If you are a long time GSB plauyer and just want the new race, then go buy it, it’s $5.99. That gets you the standard version of the DLC. There is also a ‘discount’ version of the DLC. The difference between the two is that one is $5.99 and one is $2.99. That’s it.

Obviously the standard one costs more, and I get more money as the developer. The discount one costs you less, and I get less. There will be updated stats on the page here showing who bought what.

It’s entirely up to you, which one you buy. You decide. I would obviously prefer you bought the standard one. Nobody will ever know what version you bought, the files are identical. This is a bit of a sudden manic experiment to see what happens. If you genuinely have very very little money and would have waited months hoping for a bundle or a sale, then you could make an argument you could get the discount one. If you frankly, *do* have the money to spare and would buy it anyway if there was only the $5.99 option, I’m asking you to do that.

This might make me look really stupid, but I’m prepared to risk it. I like trying new stuff in business. I think it will be interesting either way. Also, the DLC is more about promoting the game and making a bigger range of ships, so there is more variety. None of these expansions are really aiming to make money, the core game does that. ( I hope!)

Anyway, it should be interesting. If you find the time to tweet, facebook like, link to, blog or otherwise promote this experiment, I’d appreciate it. It could be interesting.

Cheers,

The current positech plan (posiplan?)

I see no harm in making my immediate future plans public.

In no specific order this is what I have coming up:

1) Release of the 1.47 patch to all partners (valve etc). I did this this morning.
2) Release of the new Race (The Nomads) On my site, in a slightly strange way (details to follow) then on the partner sites when I know it works ok. Teasing screen:

3) Talk to Steam and other partners about selling the Mac copy of GSB.
4) Pre-order / beta access and eventual release of the GSB campaign game.
5) Game IV.

This should last me a good few months. Hopefully the money lasts a good few months too. Ha!

In amongst all this, I’ll be taking the first holiday (only a week) since I moved house, and it will be my Birthday. I also have a visit from a  structural engineer today to tell me if my roof can hold up solar panels or not. I will be mr sad face if he says it cannot.