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…