Archive for the ‘Game Design’ Category

Artificial Intelligence

Well, after a fairly productive week we’re at the point where we need some actual AI. And it’s here that we start making a significant break from Desert Strike.

In that venerable old game players were given a set of objectives to achieve on each of four levels. In this game the battlefield will be totally dynamic; at this point I’m not convinced that there should be any way to see a ‘game over’ screen without dying (and possibly not even then). For this to work there will need to be an AI system overseeing everything, picking up on situations as they emerge and assigning missions to the forces under its control, including the players.

Obviously this isn’t a trivial task. What’s really interesting from my point of view, though, is that this isn’t a task that I can use an existing library of code for. (There’s no LibAI around that I’ve seen, or even a LibBattlefieldAssessment.) What’s doubly interesting is that at the same time that I’m writing this routine, I’ll be writing the AI for individual Non Player Characters. Y’see, it’s a bit tricky to come up with a way for NPCs to achieve objectives when I haven’t come up with a way to either represent or assign objectives, so the two have to be developed simultaneously. (And that’s why I haven’t made the NPCs do anything more complicated yet than fly in a circle.)

I’m still at the pseudocode stage for now, and I’m not expecting to actually write any more code now until Monday. But next week those of you with the installer package should be checking for and downloading those updates; there’ll be as much happening then as there has been the last few days…

Accessibility

I love the idea of games that are playable by anyone, regardless of any physical disabilities. I mean, in a virtual world we’re all equal, right? Well, no, sadly. If you can’t operate the controls quickly (or at all) then you’re in trouble. You’re not an equal in a world you can’t hear or even see, either. And there’s no real need for any game to be unplayable, no matter what the disability that needs to be worked around.

Now having said that, I’d like to be the first to point out that my last game made no concessions for anybody at all. You couldn’t even modify the controls! Well, that, at least, is fixed in The Tenth Crusade. The mouse is usable, and even the menu is mouse-operable now, which should allow for use by headtracker software. (Should, but I’ll be looking for somebody to test it.) The player’s weapons will track enemies automatically, similar to the way they did in Desert Strike, and there’ll be an option to hand over all the weapon control to a computer co-pilot. Voices and sound effects will have captions, just as soon as I do some research into conventions for displaying them (and get some voices and sound effects, of course!)

The only big problem I can see is adapting the game for visual limitations, in particular complete blindness. Part of my design doc for Contact Sam Cruise suggested adapting the game into a sort-of text adventure, with a text-to-speech routine for describing things and a multiple choice method of advancing through the game. I’m not sure that would be so effective for this game. (”You are at grid location A-12, facing north-east. There is an enemy tank in front of you. Do you want to 1. attack the tank or 2. move on?”)

I could, of course, be barking up the wrong tree entirely by wondering how to adapt a fast-paced tactical shoot-’em-up into something that’s not fast-paced, not particularly tactical and not entirely a shoot-’em-up. But still, it’s going to bug me until I come up with a solution.

Designer Gaming

Remaking somebody else’s game is a strange exercise. Some people like to recreate the original game precisely. (Usually a waste of time if you ask me.) Some people like to recreate the gameplay precisely, but update the presentation - better sound and graphics, that sort of thing. That’s what I did with Target; 2006. But The Tenth Crusade isn’t going to do either of those things. Instead, I’m going to take the original graphics and sound (albeit from different versions) and use them to create something similar but different.

I’ve got two sets of design plans for the game. The first from when I started coding, back in 2006, and the second from last Thursday. In both of them, the first thing that got binned was the mission structure.

Back in the day (as they say) Desert Strike’s missions were a little unusual. Each of four levels was split up into a series of objectives such as destroy a bunch of radar dishes or kidnap an enemy general. Theoretically they could be completed in any order, but in practice it wasn’t so easy. In any case, there were only really two types of mission - pick someone up, or blow something up. And they all had to be completed for the mission to be declared a success.

I’m a fan of non-linear games. For me, a story’s a lot less interesting when you don’t really have anything to do with it. Deus Ex, for example, is one of the best games ever thanks to its non-linear elements, while the sequel is not, because nothing you do makes any difference at all. Deus Ex 2 gave you lots of choices, but no consequences.

War, like life, is a non-linear chain of events. In World War 2, the Allied commanders were far from certain that the Normandy landings would be a success. General Eisenhower, the man in charge, had a second speech prepared in case it all fell through and the Nazis won. And, no doubt, he had another set of plans for kicking Nazi arse from a different direction.

Playing Call of Duty 4 recently has been an exercise in frustration. While there are some very clever elements, and the game is generally enjoyable, it is nonetheless disheartening to find the entire game comes to a halt when, say, a particular NPC tank is destroyed. That wouldn’t happen in real life, would it? In real life, if you’re not dead you just pick yourself up, dust yourself off and get back into it. Or if I accidentally wipe out a bunch of friendlies in a bombing raid - sure, there’ll be consequences later. But I shouldn’t get instantly ejected by my copilot.

Which brings us, in a roundabout way, to my plans for the missions in The Tenth Crusade. Non-linearity is, for me, very important. It should be near impossible to have the game end other than by the player dying. And even then, I don’t think the player should permanently die. I’m not sure about the idea of lives, but I’m rather taken with the idea that the player respawns with another helicopter and can go pick up the pilot of the helicopter he just crashed. I’m also considering ways in which a Cannon Fodder style ‘Boot Hill’ could be worked into the game.

Anyway. Enough meandering for the moment; I’ve got a new version of the game for you. Player One gets the cursor keys and the right CTRL key as fire, Player Two gets WSAD and the left CTRL key, and players three and four get joysticks (if you have any). F2-F4 select the number of players, if you want to split the screen.

Release 5 (3MB zip file)