Jump to content

MMaps Redux


Guest auntieMangos

Recommended Posts

  • Replies 1.2k
  • Created
  • Last Reply

Top Posters In This Topic

Sorry for not following through on some of these maintenance and support things - I've shifted most of my attention to real life issues, trying to improve my lot in life (nothing is wrong - I just want a better lifestyle for me and my gf)

The charge movement generator patch is still around. Movement works, but you should test it before really using it - not 100% sure I return correct values in the Update function.

If you report a bug, please use map number and coordinates! If you can't/don't use the gps command, our capacity to help you will be greatly diminished!

As far as testing goes:

  • make sure the pathfinding log filter is disabled
  • judicious use of mmap debugging commands when investigating issues
  • use RecastDemo to inspect the meshes
    I will find out why it's not working on zero - until then, you should be able to use the master branch's version instead

At this point, since Undergarun is apparently still using mmaps, things seem to be going well.

On the other hand, some people seem to be having lots of trouble with pathfinding, yet they I don't think they've been around to ask for help. For example, this pserver says they bugged alot of the server (don't worry, that pserver and its website seem to be defunct)

Thus, I don't know where we stand - are there really that many problems, or is it just a usage problem? Which leads me to...

It would be nice if someone created a mmap guide thread - details on how to do the generation, configuration options, commands, proper ways to test in-game and through RecastDemo, etc. Maybe include a list of community-provided offmesh connections?

Link to comment
Share on other sites

i extract the mmpas but if i look inside the task manger i see progress is extracting only with 25% of my cpu power is there a chance to set this up because it takes a long time to extract this.

It's possible you're maxing out some other resource, such as disk i/o.

Link to comment
Share on other sites

Just some interesting facts about pathfinding and charge-pathfinding http://filebeam.com/c5ce986b6e31758ac2c248743ee0a143 (3 of 4 videos captured from official server)

as you can see Charge effects can even climb at mountains under 90 degrees %) and mobs can even jump from these mountains

I think we need to change

maxWalkableAngle

to 90 instead of 60 and use it as parameter in path-selecting functions (to determine when we need to use paths generated for 90 degrees)

It can be implemented?

Link to comment
Share on other sites

So far as I know, the capability of Charge allowing to climb inclines greater than 90 degrees is actually a bug. Charge should fail when encountering inclines greater than 60.

You can, of course, change the values in the source code to whatever you wish. Just don't expect it to work very well.

Link to comment
Share on other sites

I guess that it's possible, but not in the sense that you specify arbitrary angles at runtime...

With the generator, we currently discard all parts of the terrain that are too steep.

It should be possible to flag those areas instead, which would allow for more flexibility in certain situations.

Link to comment
Share on other sites

Make the generator to discard everything over 90 and flag everything between 60 and 90 with "ability angle" or smth like that.

I dont really get how the mmaps/pathfinding really works and if its possible to throw in different data into it like that and how the selection between regular and ability angle should work, but im sure you could figure something out :)

Link to comment
Share on other sites

Got some time to comment on some of the post here :)

I found another bug on Undergarun's server : if hunter stands on edge of floor/stage(e.g. the towers in north Western Plaguelands and stage of Lethtendris in Dire Maul East) which connects to ground with stairs/slope, the aggo mobs will not go up stairs/slope but go directly to the position on the ground under hunter and just watch hunter without any motion(except range spell). In this case, hunter can easily kill the boss or mobs and even hunter moved back to floor/stage center from edge, the mobs still can not go up stairs/slope but follow postion on the ground under the floor where hunter is and evade after few seconds.

Regards,

AMING51

I can confirm this issue. I'm not sure if its caused by GetContactPoint() or by TargetedMovementGeneratorMedium::Update line 231 - I suspect the later ... Unfortunately, I do not have the time testing it at the moment. But, I'll get to it soon enough.

Sorry for not following through on some of these maintenance and support things - I've shifted most of my attention to real life issues, trying to improve my lot in life (nothing is wrong - I just want a better lifestyle for me and my gf)

The charge movement generator patch is still around. Movement works, but you should test it before really using it - not 100% sure I return correct values in the Update function.

If you report a bug, please use map number and coordinates! If you can't/don't use the gps command, our capacity to help you will be greatly diminished!

As far as testing goes:

  • make sure the pathfinding log filter is disabled
  • judicious use of mmap debugging commands when investigating issues
  • use RecastDemo to inspect the meshes
    I will find out why it's not working on zero - until then, you should be able to use the master branch's version instead

At this point, since Undergarun is apparently still using mmaps, things seem to be going well.

On the other hand, some people seem to be having lots of trouble with pathfinding, yet they I don't think they've been around to ask for help. For example, this pserver says they bugged alot of the server (don't worry, that pserver and its website seem to be defunct)

Thus, I don't know where we stand - are there really that many problems, or is it just a usage problem? Which leads me to...

It would be nice if someone created a mmap guide thread - details on how to do the generation, configuration options, commands, proper ways to test in-game and through RecastDemo, etc. Maybe include a list of community-provided offmesh connections?

Fully agree on everything said here. We do need test results. Both positive and negative.

Unfortunately, we cannot rely on reports from aforementioned servers which do not run our version, so trinity guys are on their own for now.

- Good luck dude.

I must ask, since recastnavigation still is in active development (as i see it last commit 38 h ago as i post this) how often will you update the recast library? it might also solve navigation bugs in the pathfinding?

Recent updates in Recast has nothing to do with the code we actually use. It is nice to stay up-to-date but currently it provides no benefits.

As for implied "navigation bugs" - mind listing those here please?

Hi everybody.

I have to disabled mmaps due to freeze issues with latest sources

Crashdumps:

http://pastebin.com/29CS8hWx

http://pastebin.com/a0Rp1Bwr

Test about mmaps performance will come when i finish some tests for some Ambal's patches.

Cheers.

Can you provide some additional info?

Those started after some mangos change, or mmap change, or they always were here?

Not saying that mmap code is freeze-free, its just can be many factors affecting this. Things like multi-threading in particular.

Just some interesting facts about pathfinding and charge-pathfinding http://filebeam.com/c5ce986b6e31758ac2c248743ee0a143 (3 of 4 videos captured from official server)

as you can see Charge effects can even climb at mountains under 90 degrees %) and mobs can even jump from these mountains

I think we need to change

maxWalkableAngle

to 90 instead of 60 and use it as parameter in path-selecting functions (to determine when we need to use paths generated for 90 degrees)

It can be implemented?

Changing the clime angle to 90deg is nonsense ( even with marking them). This will only cause the mmap contain all surfaces making searches even longer while not actually solving anything.

Given examples (movies), show only one thing : retail ensure that if succeeded casting charge, it will get you to the destination. I can grantee, this is not done by having 2nd set of maps, but by appending destination to any generated path.

This is what already happening in our code as well, from the last set of changes https://github.com/faramir118/mangos/commit/6cd0ec8f9a37604d1a74c02ba5d08cbf60adb7cc.

I haven't had the time to properly test this commit, but feel free reporting the results.

The only case, in which I think it can be worth having additional set of mmaps, is for different agent size.

Thanks in advance, Cheers.

Link to comment
Share on other sites

Qsa, did you read my last post about marking the paths above 60 with a flag to let abilities go to 90 degrees, i think (but i'm not sure) that it would be correct (i cannot specify any source for the information i got) but i know that a friend of mine could charge up the walls in WSG sometimes

- LilleCarl

Link to comment
Share on other sites

Being able to Charge up a vertical surface is ridiculous. A mage's Blink spell fails when encountering obstructions such as walls.

I stand by my belief that warrior's Charge is bugged on retail. At the very least, you might go as far as flagging some meshes to allow for Charge to travel steep inclines >60 but <75. Instead of adding more complexity to mmaps, you could treat Charge as something that disregards terrain limits completely, which ought to be done with the spell code, shouldn't it?

Link to comment
Share on other sites

Given examples (movies), show only one thing : retail ensure that if succeeded casting charge, it will get you to the destination. I can grantee, this is not done by having 2nd set of maps, but by appending destination to any generated path.

I did read your reply, unfortunately, this was not mutual.

Just to rephrase it in simpler manner : charging walls has nothing to do with walkable angles.

Link to comment
Share on other sites

on retail i can charge anything that is in my LOS. so if charge can be used is determined by LoS, but path that i charge is not always stright. in mana tombs instance there are a lot of portals, tombs, and other small obstacles. when i charge mobs there my path avoid all of them. Warsong charge is rather LoS bug where you can even cast long range spells through ground on players repopping at graveyard. when creature stand on wall a feet from edge it is most likely nor charge nor any other spell will succeed.

Link to comment
Share on other sites

Given examples (movies), show only one thing : retail ensure that if succeeded casting charge, it will get you to the destination. I can grantee, this is not done by having 2nd set of maps, but by appending destination to any generated path.

This is what already happening in our code as well, from the last set of changes https://github.com/faramir118/mangos/commit/6cd0ec8f9a37604d1a74c02ba5d08cbf60adb7cc.

I haven't had the time to properly test this commit, but feel free reporting the results.

This change will not affect at Charge because charge uses PointMovementGenerator instead of Targeted that is changed by this commit.

Now I've tried to change it for charge

    if(m_usePathfinding)
   {
       bool forceDest = false;
       // allow charging to cheat while generating paths
       if(unit.HasUnitState(UNIT_STAT_CHARGING))
           forceDest = true;

       PathInfo path(&unit, i_x, i_y, i_z, false, forceDest);
       PointPath pointPath = path.getFullPath();

But with this change sometimes you still running around wide mountains :/ In most cases you just runs through mountains and have a big chance to fall under textures :S

Link to comment
Share on other sites

...

This change will not affect at Charge because charge uses PointMovementGenerator instead of Targeted that is changed by this commit.

...

Where is this coming from?

Charge do not use point movement generator, or any movement generator at all. Charge calls MonsterMoveByPath() directly, which in tern forces the destination.

Link to comment
Share on other sites

...

This change will not affect at Charge because charge uses PointMovementGenerator instead of Targeted that is changed by this commit.

...

Where is this coming from?

Charge do not use point movement generator, or any movement generator at all. Charge calls MonsterMoveByPath() directly, which in tern forces the destination.

okay, forget about previous code :)

Now using MonsterMoveByPath from EffectCharge and this does same result for me - you can easily fall under map if trying to charge enemy that on mountain or even behind

maybe i will record more video from offy that shows how it works against mountains

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. Privacy Policy Terms of Use