Closed GoogleCodeExporter closed 8 years ago
This is a bug, not a feature request. The AI should never move outside of
MaxDistance range, because the movement no longer targets specific actors.
Instead, movement is based on a grid and the tiles are given priority values
based on actors around them in conjunction with kite range, attack range, skill
range, etc.
The grid that RAIL generates is designed to automatically ignore tiles that
would be outside of MaxDistance, or off the map (RO map tiles can only range
from 0,0 to 1023,1023 due to limitations in the game). Movement to tiles
outside of this grid should not be possible.
Can you tell me the /where location that this happens most often for you? Also
helpful would be the relevant state-file options (MaxDistance, etc).
Original comment by faithful...@gmail.com
on 29 Nov 2010 at 8:42
I'll get back to you re: /where, but I know when I kite at a distance of 4 from
say, Phreeoni, with a maxdistance of 14, I will occasionally (but not always)
lose sight of the homunc. I have witnessed this regarding other mobs (most
notably MVPs Turtle General, Phreeoni and GTB, when the character is moving
alongside the homunculus).
How frequently is the grid generated? It might simply be that I move the char
after the grid was generated and I should just avoid doing that.
Original comment by landstei...@gmail.com
on 29 Nov 2010 at 9:06
There are actually two grids that are generated. One is for the actual tile
positions on the map (0,0 to 1023,1023). The second maps positions relative to
the owner's position with a range of MaxDistance (in your case: -14,-14 to
14,14). The first one is generated only once at the time RAIL is loaded. The
second is generated freshly each time AI() is called. (I'm actually going to
redo this. The rapid generation of tables is wasteful of memory and causes the
garbage collector to be called too often).
I think your problem might have to do with the AIs current inability to
properly detect corners and obstacles while chasing after you. If it is
attempting to stay within MaxDistance but gets stuck around a corner, it
doesn't have any routines to correct itself now. You'll notice that the AI
sometimes gets stuck in narrow pathways; this problem is more apparent when
movement choices are further limited by kiting monsters.
Until I finish a rework of the TileMap.lua code to be more memory friendly, I
don't want to start adding more onto the movement system. Until then, perhaps
you can lure MVPs to more open areas?
(Also, once Area of Effect skills [such as Arrow Shower, Bowling Bash, etc] are
implemented, they will make use of TileMap in a similar fashion: find the
target position/actor that will hit the best set of targets)
Original comment by faithful...@gmail.com
on 30 Nov 2010 at 6:05
I noticed the effect the other day while MVPing Pharaoh, specifically while in
the bottom right portal (top side). The homunculus moved North a few cells and
then made a B-line to the right and off screen (where he met his untimely
death). I suspect what you're saying re: obstacles is correct.
These minor inconveniences are in no way hindering my ability to MVP, the AI is
working worlds better than any others that are out there currently.
Original comment by landstei...@gmail.com
on 30 Nov 2010 at 9:43
Attachments:
I'm updating some of the tags on this issue. I'm also marking it low priority
as it can be avoided and is easy to recover from.
Original comment by faithful...@gmail.com
on 2 Dec 2010 at 5:44
I implemented partial obstacle detection recently. Does this still occur?
Original comment by faithful...@gmail.com
on 12 Jan 2011 at 2:24
Sorry for the late reply here. I'm not sure what you have changed, but the AI
seems much better with regards to this problem. I'd even say its safe to close
this issue.
Original comment by landstei...@gmail.com
on 11 Feb 2011 at 9:18
Original comment by faithful...@gmail.com
on 23 Apr 2011 at 2:01
Original issue reported on code.google.com by
landstei...@gmail.com
on 29 Nov 2010 at 7:47