Analyzing the Squad control of Brothers In Arms
Of all the things you will be doing in Damzel, the most important will be giving commands to your squad. Given the importance of that aspect of the gameplay, I have been looking at other games with a similar structure. Last week I was looking at Syndicate by Bullfrog, this week I’ve been looking at Brothers In Arms by Gearbox and Full Spectrum Warrior by Pandemic. Here I’ll talk about what I’ve learnt from Brothers In Arms specifically.
Brothers In Arms (BIA from now on) has you in control of squads of varying types throughout the three games in the series. For instance you may have a recon squad, an infantry squad and a machine gun squad. Or you might have a tank squad and a recon squad. You control the game from a first person perspective (as you do in Damzel) and can fight alongside the soldiers in the squad. This particular aspect is why I wanted to analyze BIA, because I knew from the beginning that I wanted to make Damzel a first person viewpoint game. To me, the first person viewpoint is so much more immersive. I suspect because you have no third party “character” in between you and the game world.
There are a number of great little design touches that I can see in BIA that I think are really useful. Here I’ll try and point them out with the help of a Youtube video. Have a quick watch of it now and I’ll refer to specific sections after you’ve seen it.
So, the first thing when controlling a squad is actually selecting it. You can’t see on the video, but in order to select a squad on the PC you had to select it via its squad number key (keys 1..4 usually). I’ve added that method of selection to Damzel, but it feels a bit clunky to me. Squad selection happens often enough that I wanted a more natural interface for it. I experimented with loads of different schemes and the one I’m most happy with now is a combination of the BIA key-to-select method AND my own method which simply has you looking at a member of a squad and pressing the right mouse button down while looking at them (they get a highlight so you know youre looking at them properly).
You need the key-to-select method because you might be away from the squad you want to command. But it turns out that I’d rather you keep your squads fairly close for the most part. Interestingly in BIA as you can see in the video, you are basically dragging your squads along behind you. In Damzel it is far more likely you will send squads along in front of you as you try and secure areas. The intention being that the presence of a squad may well be enough to put off a potential threat.
So you’ve selected your squad, the next part is to actually give them something to do. In BIA you select the appropriate action command and you then see a cursor appear when you point at something that can allow the squad to use the command. So for instance a MOVE command you can see it at the start of the video will display a small circle on the ground to show where the squad would move. I’m a little hazy on the detail of how the action is selected, because I’ve played the various BIA games a while back, but I seem to recall it was a key-press of some sort.
Again, I’m liking the cursor idea, but I feel that having to actually select a command is a bit clunky. This is where things get a bit tricky design wise, because if you think about what you need a squad to do, there are often multiple contexts that could be done on any given object. Take the case where you are pointing at the ground with a squad selected. The most obvious case is that you want them to move to the location youre pointing at. But what if you wanted them to simply observe that area watching for threats? Clearly there’s going to have to be some method of going with a default and then allowing a keypress override.
Thats what I’m doing in Damzel. The most often used case for any given object will get the default action. So if you point at a known threat, then the squad will either move within firing range of them or will open fire if already in range. If you point at a citizen, you will default to going to investigate them, with the keypress override to allow you to open fire on them or perform other actions.
The other really interesting thing in terms of the action performance is the way that BIA actually shows you what action is going to be performed on the object you’re pointing at. If you look in the video at time 0:24 you’ll see the player give a squad an attack order. He does this by pointing at the enemy and you’ll see a cursor come up above the enemy in red showing that you will indeed command the selected squad to attack. But it gets more interesting than that, in that when you perform the command the icon grows and then shrinks back down based on the distance to the enemy.
I didn’t get this at first, but as I was looking at implementing the same kind of thing in Damzel I finally understood what that was for. The “shrink” phase is actually a great design idea, because it tells you how far away the enemy is! Its such a tiny thing, but I was struggling with my initial implementation in Damzel because I didn’t have a way of choosing the correct size for the action icon. The shrinking is really good player feedback because it gives you a solid read on the distance to the object you’re interacting with. Plus it doesn’t obscure you’re view like a fixed size icon might.
The attack cursor also has some other interesting properties, like a circle that shows how surpressed the enemy is and a section that shows the makeup of the enemy squad (I think, its either that or which squad you are attacking with, I cant recall).
While we’re on the subject of the command icons. Lets go back to the ground move cursor in BIA, did you notice that it changed the cursor depending on which squad was selected? Those little chevrons and tetris peice symbols on the cursor represent military symbols for the various squad types. This is a small thing, but a lovely little design touch, becuase it easily shows you which squad you are actually commanding.
In Damzel you mostly have squads of agents, but you can command specialists like snipers for top cover and of course giving a ground move order for a sniper makes no sense at all. In this case, the move cursor will show you that you are actually giving a “watch this ground” order to a sniper squad, by showing the sniper symbol and changing the shape of the cursor to match the action. This context sensitive cursor arrangement will hopefully feel intuitive to players, but will no doubt need some serious tweeking. Luckily I’ll be able to test that out early next month as I’ll have access to a bunch of play testers.
The other thing you should note about the ground cursor is that it gives a little flash when you actually execute the command, plus it actually animates down in scale when you first select it. These little feedback items are really the sign of a high quality game with designers who know what they’re doing, its a lot of work to do these little touches, but it pays off in the overall feel of the game. I’m trying to be selective in what I implement because obviously I’m one guy and I’m sure BIA had a pretty hefty team of programmers, artists and designers, but I’m hoping that some of these little design touches will make it into Damzel and will add to the feeling of quality and attention to detail. Honestly it is the little detail touches that most indie games tend to lack, the better ones really do pay attention to these things and if nothing else I want to make a good showing on that front.
Ok, I’ve been rambling on long enough. I’ll post some thoughts on the design of FSW in a later post, for now I strongly urge you to get hold of the Brothers In Arms games which are available on Steam. They’re bloody good games and are the type of game that simply aren’t being made anymore because they are deemed too complicated for the console types.