View Issue Details

IDProjectCategoryView StatusLast Update
0000516The Dark ModAIpublic29.06.2009 08:05
Reportertels Assigned Togreebo  
PrioritynormalSeveritynormalReproducibilityalways
Status closedResolutionfixed 
Product VersionSVN 
Target VersionSaint Lucia ReleaseFixed in VersionSaint Lucia Release 
Summary0000516: AI cannot use elevators
DescriptionThe AI needs to know how to operate elevators. This includes button-pressing to activate objects, as well as knowing at which locations the elevator does stop, so they know from where to where they can go.
Additional Informationhttp://modetwo.net/darkmod/index.php?showtopic=7747
TagsNo tags attached.

Relationships

child of 0000518 resolvedgrayman AI needs to operate buttons/levers 
child of 0000519 resolved AI needs "wait for resource" lock (aka: work together) 

Activities

tels

tels

13.01.2008 11:12

reporter   ~0000997

The pseudo-code could work in this fashion:

* Find out where platform is
* if platform cannot be reached by walk on
** go to button to call platform
*** if no button/button cannot be reached: wait (auto-moving elevator? maybe someone else moves the elevator?)
* wait for platform to come along
* step on platform
* find button to move platform and operate it
* wait for platform to reach destination
* step out
crispy

crispy

13.01.2008 11:28

reporter   ~0000998

Elevators and doors will probably need a "waiting" mechanism to deal with the case where multiple AI are trying to use them at once. Otherwise, think of a 3-floor, open-air elevator, where the player has gone to the middle floor and there are AIs on the upper and lower floors chasing him. Each AI would repeatedly call the elevator to their floor before the other AI had a chance to board it, causing a very stupid-looking infinite loop!

As for doors, there's an analogous situation where one AI needs to close a door to get past it (in a narrow corridor), whereas another AI needs to open the same door. End result: both of them get stuck.

Closest / highest-ranking / luckiest AI gets priority, perhaps. Or if the elevator floors are different distances apart, choose the AI who has the least vertical distance to travel.
tels

tels

13.01.2008 11:46

reporter   ~0000999

Good point.

Added http://bugs.angua.at/view.php?id=519 (general resource lock to solve dead-locks when 2 or more AI try to use the same resource) with your note as basic explanation.

Issue History

Date Modified Username Field Change
13.01.2008 11:08 tels New Issue
13.01.2008 11:12 tels Note Added: 0000997
13.01.2008 11:17 tels Relationship added child of 0000518
13.01.2008 11:28 crispy Note Added: 0000998
13.01.2008 11:45 tels Relationship added child of 0000519
13.01.2008 11:46 tels Note Added: 0000999
13.01.2008 12:14 greebo Status new => confirmed
17.05.2008 07:51 greebo Status confirmed => assigned
17.05.2008 07:51 greebo Assigned To => greebo
17.05.2008 07:51 greebo Status assigned => resolved
17.05.2008 07:51 greebo Fixed in Version => Milestone 6/2008
17.05.2008 07:51 greebo Resolution open => fixed
17.05.2008 07:52 greebo Projection none => redesign
17.05.2008 07:52 greebo ETA none => < 1 month
17.05.2008 07:52 greebo Target Version => Milestone 6/2008
17.05.2008 07:52 greebo Additional Information Updated
29.06.2009 08:05 greebo Status resolved => closed