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

Gratuitous Tank Battles Challenge Browser

I’ve been working on the challenge browser for GTB. There is still more to do in terms of making it look pretty but there is a clickable screenshot below. Basically there is a scrollable list of challenges just like in GSB, some of which will be user-made maps, some just armies and deployments on existing maps. Clicking any of them brings up the details window from which you can play attack or defence with that challenge,

Unlike the simple username in GSB, GTB shows you the posters emblem, their username, general and regiment name, and the idea is to build up more recognition of especially good map designers and players. You can immediately tell if the map is made by a newcomer, or someone who clocks 500 hours in the game :D

Also, the details shows a list of comments that players of the challenge have left as feedback for the poster, and hopefully as a bit of explanation for other players. With luck, there should be some good, lively debates about the pros and cons of new maps here :D

.

.

It needs prettying up, for sure, but this is the layout, and the content. Thoughts?

More thoughts on GTB challenge games

As with all games, actually making it tears the design in all kinds of directions. This is one reason why people who try to get a lead designer job based on lots of paperwork and no actual game often come up against a brick wall… No game design survives contact with the code.

So… I’ve been working on the online challenges for GTB. It all now basically works, in it’s basic form. When a battle ends, you can post that battle as a challenge to the server, for everyone, or a specific user. This is only valid if the map is a new one you designed (or edited) or if you played as attacker.

The other players can now browse a challenge list, select and download your challenge map. They can they play on it as attacker or defender. This is where it gets fidgety..

If you played as attacker, and uploaded your battle as a challenge on a default (pre-built) map, and someone downloads it, it’s pointless them playing as attacker, because effectively, nothing has changed. They are just playing the normal map.

If, however, they play as defender, things happen as expected. they see YOUR units, deployed at YOUR choices of location and times, and it’s like an asynch multiplayer game. Yay!

If they edited the map, changed loads of variables and moved some props etc, and uploaded it, then it makes sense for you to play attacker OR defender, because hey, you just got a free community-based extra map to play with. Yay!

The problem is, making it clear to the player that sometimes they download a challenge and it’s only playable as defense, sometimes as either. I can use tooltips etc, and flags in the challenge database, but I still phear confusion. Plus, in an ideal world, I’d allow a player to bundle in ALL his units with a challenge too (this should be easy), so they can say “here is a normal default map, but here are my unit designs to fight against”.

I want it to all be intuitive, and although it will be awesome, so far it is NOT intuitive :(

In other news, GSB ipad is coming along. Still ironing out performance issues. Or rather, mark is. I’m just blogging about it :D

GTB and uploading content

Gratuitous Space Battles had a fairly straightforward challenge system. You uploaded your challenge, which was a combination of unit designs + deployment + orders, with maybe a few map variable, and others downloaded and played them.

As I start proper work on uploaded stuff for GTB, I realise it’s a bit more complex and tricky. My two aims are for you to be able to:

  • Upload or play against someone else’s unit designs + attacking ‘recording’ of their units, when you are playing in normal tower defense mode.
  • Upload or play with someone else’s custom designed map, including whatever graphic resources they have included within it

Of course, there is immediate scope for overlap, where someone designs a new map, plays as the attacker against adaptive AI, and then wants to upload both the map, and their recording of their attacks, and units, so you get to play against new units on new maps. I want to support this (obviously) whilst not letting the UI design of it get too clunky. I’m only starting to consider the real implications now.

Another major consideration is encouragement and ease of use. I need uploading your forces to be absolutely trivial to do, and encourage everyone to do it. I also want to minimize the traffic going to and from my server…

Currently, I have an edit button for every map. You can edit the map from there, and save it out as a ‘custom’ scenario. Once you play that scenario, like any scenario, you have the option to upload it as a challenge. This feels horribly clunky.

I guess ideally, that at the end of a battle, you should be prompted to upload a challenge, and if you select yes, you can choose (where applicable) if this is a ‘map-only’ upload, or whether it also contains your unit designs and deployment timings (assuming you were the attacker).

And given the way my system currently works, with zipped uop folders, it wouldn’t make any difference anyway, People would download a map, and if it had player recordings included, they could be used, or not, entirely up to them. If no ai designs are present then the adaptive AI automatically chooses from any design (by default they are restricted to that scenarios AI designs).

I think that sounds ok.

Carving practical design from wooly ideas

As usual, my hand-wavy ideas make no sense when I start coding. This happens a lot. The current crisis is the idea that you can either play against adaptive AI, or a ‘recording’ made by you, or someone else.

So when you are placing turrets, either the AI is dynamically placing creeps to attack you, or it is just reading from a script like a normal TD game. The twist is that the script could be pre-recorded by me, or by another player (in the case of challenge maps) or even by you. Which means if you play an absolute blinder of a game in attack mode, you could then swivel round and play defense, against your own attack units and decisions, just like you can race against yourself in some racing games.

Problem is… I hadn’t considered that this only works for attacking units, not as defense. You can’t assume a slot is freed up as defense deployer, so it doesn’t work out. It’s dodgy enough as an attacker, given possible traffic jams…

Anyway, that isn’t a big deal. This is a cool ‘extra’ feature for A TD game. People will understand its only an option as defender. What’s a bit clunky is that it means coding some awkward sounding dialog at the start of a game to say

“Hey, you want to play against adaptive AI, or you want to play against the included, pre-scripted units?”

as well as

“Would you like the adaptive AI to use the included units, or to be able to use all your units too?”

I’m sure it will look ok. People like options right?

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.