View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0000516 | The Dark Mod | AI | public | 13.01.2008 11:08 | 29.06.2009 08:05 |
Reporter | tels | Assigned To | greebo | ||
Priority | normal | Severity | normal | Reproducibility | always |
Status | closed | Resolution | fixed | ||
Product Version | SVN | ||||
Target Version | Saint Lucia Release | Fixed in Version | Saint Lucia Release | ||
Summary | 0000516: AI cannot use elevators | ||||
Description | The 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 Information | http://modetwo.net/darkmod/index.php?showtopic=7747 | ||||
Tags | No tags attached. | ||||
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 |
|
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. |
|
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. |
|
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 |