From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 11174 invoked by alias); 17 Aug 2004 05:17:38 -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 11166 invoked from network); 17 Aug 2004 05:17:34 -0000 Received: from unknown (HELO mail-out3.apple.com) (17.254.13.22) by sourceware.org with SMTP; 17 Aug 2004 05:17:34 -0000 Received: from mailgate1.apple.com (a17-128-100-225.apple.com [17.128.100.225]) by mail-out3.apple.com (8.12.11/8.12.11) with ESMTP id i7H5JN5U003656 for ; Mon, 16 Aug 2004 22:19:23 -0700 (PDT) Received: from relay2.apple.com (relay2.apple.com) by mailgate1.apple.com (Content Technologies SMTPRS 4.3.12) with ESMTP id ; Mon, 16 Aug 2004 22:17:34 -0700 Received: from apple.com ([17.219.205.8]) by relay2.apple.com (8.12.11/8.12.11) with ESMTP id i7H5HGVU009724; Mon, 16 Aug 2004 22:17:17 -0700 (PDT) Message-ID: <412194DC.9060907@apple.com> Date: Tue, 17 Aug 2004 11:06:00 -0000 From: Stan Shebs User-Agent: Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.6) Gecko/20040113 MIME-Version: 1.0 To: Hans Ronne CC: xconq7@sources.redhat.com Subject: Re: Major bug and what to do about it (long) References: In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-SW-Source: 2004/txt/msg00921.txt.bz2 Hans Ronne wrote: >[...] > >The bug that I found works like this. First, the AI finds a target at >position (x, y) and sets a hit_unit task. However, when do_hit_unit_task >looks up the actual unit, it finds that the unit no longer exists or has >moved. The call to check_attack_action (or check_fire_at_action) fails and >the task itself also fails after 3 attempts (the latter restriction is a >recent hack by Eric who may have stumbled across the same bug). > > An interesting case. The theory of "attack" and "fire-at" is that you get to be selective about your victims, which is useful in particular situations, at least if the game design differentiates (artillery delivered on top of a tank should be more effective than firing wildly everywhere in a kilometer-wide cell). Now if you're directly shooting at the mirage of a tank, then you are definitely performing the action, even though it's wasted effort, and at the end of it you may or may not realize it was wasted. So the bug is that action checking should have succeeded and then action execution should have done nothing; and there should be a percentage chance that the lack of a burning chassis clues in the firing unit that nobody is there (I thought I added that at some point) and erases the mirage. And of course if the view isn't cleared, the AI (or less-intelligent human player :-) ) could keep shooting over and over at the mirage aka decoy, which is exactly what the crafty Xconq player wants to be able to set up, heh-heh. So I think if you can change the two actions to always take a view unit instead of an actual unit, you can solve the problem in a relatively localized way. On the larger question of the distinction between actions, there *should* be a huge difference between the types of actions. Attacking a single unit in a cell should be relatively safe, while attacking a whole stack of four should be near-suicidal. The machinery for this is a little lacking; for instance, bombers and maybe special forces ought to be able to pick and choose a ground formation to clobber, while grunts have to fight the whole stack. Similarly, firing on a designated unit (or image of one) should be much more deadly than into an unseen cell hoping to hit something, but the random firing may still be a worthwhile way to harass the enemy. Setting up good interface for the distinction is more complicated, which is why it's been neglected I think. Pruning down the number of actions would certainly simplify Xconq, and it needs simplification. The most-affected games would be those at the tactical level, although if the interface isn't there or is too obscure for players to use much, the actions' absence won't be noticed. Stan >