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

Gratuitous Patch Battles 1.006

Ok, so patch 1.006 for Gratuitous Tank Battles is now live. There are, as usual a bunch of minor tweaks and improvements, but here is the stuff that you will notice more than the rest:

  • Airstrikes are in! You only get them as defender, and be warned they can damage your units too, so aim carefully :D You need to unlock them before they are usable:

  • There are some new augmentations available that work on defensive capabilities, such as boosting armor and shields etc.
  • Defensive AI now takes into account attacking unit movement and tries to build ahead of the enemy, not just right on top of them (which often means they built turrets too late, and were useless by the time they were built).
  • The tab key now cycles through all your divisions, if you have multiple ones set up, shift+tab reverses it.
  • New progress bars in the UI to show supplies and victory progress.

Hopefully this all improves the game and makes it more polished. It’s funny how adding stuff such as the supplies / victory progress bars and the tab-button stuff makes it so much easier to play, but I hadn’t realised they were needed all this time. Nothing beats just playing & playing & playing your supposedly finished game :D

Existing buyers should get their game auto-patching today or tomorrow. Make sure you have entered your serial code and picked a username or it won’t happen. New buyers get a ready-patched 1.006.

Tempted to pre-order now? Here you go.

Gratuitous Air Strikes

It’s taken me a while, but I have air strikes in the game, although they still need balancing. Here is a brief demo video:

Air strikes currently come in 2 flavours (although it’s all controllable by text files so modders should have fun). And are presented to the player just like a deployable unit from the deployment bar. I might have to fiddle with that a bit later, because currently they ignore divisions, which might annoy some people?

Air strikes last for a set duration and then drop fairly high damage blasts onto random 9and not-so-random) locations within the given radius over that time. Balancing them will be a pain, but currently my thinking is relatively low cost, high-impact and long recharge times, so that you use just 3 or four of them (max) during a battle.

The difficult bit, as ever, is the knowing you have balanced them right, but I’m sure people will let em know if I haven’t. This is probably the last pre-release added feature for the game, the rest will be mod support, bug fixing and minor tweaks and refinements.

 

Better AI on the way

There are a bunch of things that could be added to Gratuitous Tank Battles, all of which takes time, and lots of tweaking and balancing, and may or may not add to the gameplay. My pet idea is a ‘safe zone’ extending some distance behind heavy tanks, which gave infantry in that area a cover bonus against fire. Theoretically easy, but might it look a little weird? if there is obviously clear line-of-sight from enemy turret to infantry, how can I justify the bonus?

One thing that I have started on, because it was bugging me, is improving the defensive AI. A lot of people have been complimentary about the AI in GTB, which is very nice, as I am, in my heart a bit of an AI coder, but I see so many battles when the AI does dumb things. The two dumb things that really bugged me (but NOBODY has mentioned it) were as follows:

The Ai building turrets next to attacking units, rather than ahead of them, so they don’t stride past during construction

The AI not effectively demolishing and rebuilding units in the last minute or so of battle

The first problem is hopefully now fixed (The second has always been coded, but obviously needs more work), but it’s actually one of those coding problems that annoys AI people, because management will never understand the complexity (and think you are crap/slacking). In theory, the solution is simple – Don’t analyze the path next to each potential unit-build location, analyze the paths that are 5-10 path tiles ahead of them, so you can know what will be in range when a unit is built, rather than right now. Easy, job done, 10 minutes!

But in practice much harder. There are maps with branching paths, and worse, some with paths that flip back between two tiles (making for some interesting recursive gotchas), so that means that identifying which path squares to keep an eye on and calculate ‘urgency’ for becomes a bit of a pain. It’s also horrendously slow, but thankfully way way faster in release build, and only happens on map load anyway. (Theoretically it could be saved out and rebuilt only on edits, but it turned out to be fast enough not to bother). To code all that, test it, optimise it and debug it (with a debug overlay to check it worked) , took the best part of a day, but I think it’s worth doing.

So today, one thing on the list is the demolishing/endgame stuff for the defensive AI. No reviewer has yet criticised the AI for the game, but I guess I should be aiming at them praising it, and hopefully I’m nudging in that direction.

Gratuitous Tank Battles 1.005 released

So I’ve finally released patch 1.005 for Gratuitous Tank Battles, and I’ve been trying to get a patch a week released between beta and eventual final release. This patch might seem to have less stuff than the last, mostly due to one of the items taking a lot of re-working.

Here is a forum thread showing the full changelist:

http://positech.co.uk/forums/phpBB3/viewtopic.php?f=32&t=7210

And here are the highlights:

There is now a direct association between the flames and damage textures on a unit, and it’s current state of health, rather than the semi-random system there seemed to be before! That means that a unit that looks undamaged probably is (although shields and armor may be reduced), and a unit with several plumes of smoke streaming from it is probably in trouble. Of course, for player-units toggling ‘H’ or the health button will let you see the details (or select that unit). This took a lot of fairly tedious re-jigging.

On a similar note, shields now flicker in a strobey-way if they are below 33%. You probably won’t notice on units without big chunky shields, because once down to 33%, they are probably under attack and close to failure, but hopefully this makes things a bit clearer.

There is a gratuitous new visual effect for laser guidance. Previously, those red laser beams were on a lot of units, mostly mechs, semi-randomly. Now, they only appear if that unit is equipped with the top (VI) targeting system. They also swish across and illuminate some smoke, and pulse a bit and generally look pretty cool at night. Expect to see less of them, but for them to look better :D

There is a new campaign map (Tanks for the memories!) added at the end of the campaign. It’s another evening map, this time very trench-heavy, hopefully you will all enjoy it :D

There are some changes and improvements to the explosions, after a LOT of work on the explosion editor. I expect them to be better still in the next patch, now I have seriously tided up my particle & explosion editing code!

Enjoy the new version, and as usual, anyone pre-ordering the game right now gets the very latest version automagically (you won’t need a patch). Don’t forget to tell friends, family members and total strangers if you have played the game and enjoy it, it’s all much appreciated. There is an official patch 1.005 comments thread here:

http://positech.co.uk/forums/phpBB3/viewtopic.php?f=32&t=7225

Explosive fun

There is a todo list for the Gratuitous tank Battles beta, and something not officially on it (because nobody mentioned it) was to make the explosions and flames and so-on look better. People keep telling me they look great, but I want them to look tons better. That means a lot of tweaking, optimising and theorizing.

It’s amazing how many variables you need to get particles looking right, and then how much more code. I have special code for flames, for flamethrowers, for ground bursts, for smoke plumes, for debris, for emitters attached to moving units… and so on. It’s quite a spaghetti mess of complicated and differently designed systems, but it seems to work.

Hopefully by the time the game ships to final release, the effects will look a lot better. It’s one of those things I really enjoy coding (even on Good Friday when i should be eating chocolate!), so I can often justify silly amounts of time on it.

I also have grand plans for target designation laser effects, flickering shields and pulsing damage textures, but not enough hours in the day. How annoying…