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

Gratuitous Tank Battles campaign map

Here is what the main ‘play battle’ screen looks like for GTB. The current plan is for three basic modes of play. The campaign scenarios, custom maps, and online maps, as shown by the three tabs at the top left of the screen.

The big map image changes to be a list of maps in the other two modes. The right hand pane shows information about the current selected map. Custom maps are ones you edited or designed yourself and saved locally. The online ones are maps you, or other players uploaded to be played by everyone else.

I still need to add in display of some high score data on that gap on the right. Also, a few of those buttons are debug-only, but you will have the option to play any map as attacker or defender, and to edit it and save it however you like.

I love company of heroes, but the map editor for it is ferociously complex, and there is no easy way to trivially change a map, then give it to a friend to play. My aim is for that sort of thing to be trivial in GTB. So when a player thinks that tile 16,24 should be place-able by the defender in map #4, he/she can just click edit, change that tile, then save it as a custom map for himself, or upload it as an ‘improved’ map #4.

That’s the theory.

Back from the mountains

I haven’t blogged for a week because I’ve been away. Unlike many geeks, when I go away I *REALLY* go away. I take a phone, for emergencies, but it has no email access. No computer, no tech. Just a digital camera. Here was one nights accomodation (a mongolian yurt in the alps) and a panoramic picture of the surrounding area..

Back in civilisation now, with much to do, and much to arrange. Plus, battlefield 3 to try…

On Holiday

I’m on holiday for a week. Don’t bother trying to burgle my house, it’s protected by an ex-commando, and my two cats.

SEE YOU SOON

 

Range Modifiers

This is something I really like, and comes in reply to feedback about how people hate having to guess what the underlying numbers are in tower defense games. I got it implemented today *still needs optimising…*. It’s a way to show easily the effects of a range boost augmentation for a unit. The units in GTB are built from GSB-style modules but some are ‘augmentations’ that apply to any module, such as ‘boost range by 10%’. I thought it might be cool, if such an aug is fitted, to show it as a distinct band on the range indicator when you select a unit. It’s the slightly separated strip around the edge of the range indicator for the selected riflemen.

The brighter triangle represents the firing field-of-view for that soldier. Some units have 360, like mechs, but infantry can’t swivel their hips like that :D

Thoughts?

Knowing what your code does

Do you know how your game works? I bet you *think* you do. And if you do, there are never surprises when you suddenly take a look at a frame of it being rendered. Invariably, mistakes mean stuff works differently to how you intended it to.

I use AQTime, which is pricey as hell, but fantastic, as a profiler. You can control it from code too, so I can pause my game mid-battle, hit ‘F’ to go one frame-advance, and that frame is profiled by aqtime. It then will dump tons of stats, telling we call times and counts for every function (or even line)  and let me see this:

This chart immediately tells me that some lightmapbuffer sprite code was being run. It should be skipped in daylight levels, so clearly I have a bug. And that’s before I even begin to look at performance optimisations in this frame.

If you write big complex stuff and don’t have a professional quality profiler, you need one. They are absolutely fantastic.