From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 28074 invoked by alias); 9 Jul 2004 17:16:13 -0000 Mailing-List: contact xconq7-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: xconq7-owner@sources.redhat.com Received: (qmail 28045 invoked from network); 9 Jul 2004 17:16:11 -0000 Received: from unknown (HELO web13123.mail.yahoo.com) (216.136.174.141) by sourceware.org with SMTP; 9 Jul 2004 17:16:11 -0000 Message-ID: <20040709171610.15208.qmail@web13123.mail.yahoo.com> Received: from [68.164.245.93] by web13123.mail.yahoo.com via HTTP; Fri, 09 Jul 2004 10:16:10 PDT Date: Fri, 09 Jul 2004 17:45:00 -0000 From: Elijah Meeks Subject: AI Help To: xconq7@sources.redhat.com In-Reply-To: <20040709164723.96808.qmail@web13126.mail.yahoo.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-SW-Source: 2004/txt/msg00680.txt.bz2 Managing to build an AI that can function as well for games involving zombies as it can for games involving battlefleets is a daunting task. I'm wondering, though, if there's a way to take a little pressure off the coders and put it into the hands of the designers. As it stands, the AI pretty much analyzes everything and comes up with its own ideas based on that (With a little help from tags like, 'air' and 'naval', but it doesn't seem like much). So maybe there could be some Roshambo tables to give the AI a little help. I say Roshambo, or rock-paper-scissors, because much of game design follows a strategy of X beats Y. You could have a preferred-opponent table that reads something like this: (table preferred-opponent (infantry archers 100) (infantry infantry 75) (infantry cavalry 50) (infantry killer-robot 0) ) This would be an override to the AI decision code, so that in this case, if the infantry unit ever had a chance to attack an archer unit, it'd take it, while it would have a 25% chance to consider a different course of action for other infantry units (Which may still result in an attack, but may result in continuing to move somewhere else or attacking a different unit). While a table like the example would reduce XConq to mob warfare, a less aggressive table like: (table preferred-opponent (army place-types 15) (army aircraft-types 10) (army evil-dictator-types 20) ) Would make the AI a little more opportunistic on the unit level, where I see it avoiding easily destroyed and expensive units in favor of, apparently, some earlier plan. This would also help with AI for some more esoteric games, such as if you want to make Zombies or the Borg or whatever and you want them to be utterly singleminded: (table preferred-opponent (zombies has-brains-types 100) (borg redshirt 50) (borg junior-officer 75) (borg important-guy 100) ) I'm looking at this not from an ai-tactical-range view, but from a purely adjacent, target of opportunity view (Which may be a better name for this table). I think the idea would also be good for unit building, to create a table that forces the AI to build based on set guidelines, rather than overarching strategy. (table ai-build-queue (city legion 50) (city fleet 10) (city facility-types 10) (city wonder 5) ) Again, this would be a suggestion table, so that the AI would first check through each of the entries and if it came false, it would instead choose to build what it wanted on its own. __________________________________ Do you Yahoo!? Yahoo! Mail is new and improved - Check it out! http://promotions.yahoo.com/new_mail