Jump to content

MMaps Redux


Recommended Posts

  • Replies 1.2k
  • Created
  • Last Reply

Top Posters In This Topic

Posted

.go -1317.98 8278.158 -3.857 530 and orientation 3.823

I tried to summon pet and jump down, but when pet try to find path, it sometimes stuck - path with 128 points, but only 2 coordinates - so pet is walking between two points, unable to find path. This happens only with hirResHeightMap disabled, but anyway pet should not do this. So while theres a check for empty path, check for full path would be also handy.

And, maybe you know this, but creatures should take path with some distance from wmo object, now theres a big spider chasing me half-way in the wall, maybe its difficult to make it so, because path is generated in navMeshQuery(or this can be done in findSmoothPath()?), i dont know.

PS: I am just testing by myself now, but on Monday, i will also try it on server with ~400 plr :)

one more PS: args for MoveMapsGen does not work for me. I wrote MoveMapGen --skipContinents false --skipBattlegrounds false and it said "bad arg", so I just changed defaults in generator.cpp, no big deal really. I have Debian Lenny.

Posted

See post #540, its same source, should be solved.

.go -1317.98 8278.158 -3.857 530 and orientation 3.823

I tried to summon pet and jump down, but when pet try to find path, it sometimes stuck - path with 128 points, but only 2 coordinates - so pet is walking between two points, unable to find path. This happens only with hirResHeightMap disabled, but anyway pet should not do this. So while theres a check for empty path, check for full path would be also handy.

It's never stuck (as long as there's no mesh problems), it comes as close as it can to the owner. When owner moves, it tries again.

It has nothing to to with maximum path length, since you can generate those cases for any size.

I think it works exactly as it should be, since pets cannot jump like their owners :)

And, maybe you know this, but creatures should take path with some distance from wmo object, now theres a big spider chasing me half-way in the wall, maybe its difficult to make it so, because path is generated in navMeshQuery(or this can be done in findSmoothPath()?), i dont know.

Yes, it is known issue.

Currently all algorithms provided by lib we use assume uniform unit size. You input it when the maps are generated (aka : agentRadius ).

Maybe we can play with this value a little bit, since right now its set to really low number, making most models "scratching" the walls as they move by.

But in general, there's no simple way solving it for dynamic model size. Using something like findDistanceToWall() while calculating the path is just out of question performance wise.

The only "relatively simple" solution I can imagine right now, is generating "multiple meshes" with different agent sizes, then selecting proper one dynamically. But that something for the future ... just like dynamic meshes for GO etc :)

one more PS: args for MoveMapsGen does not work for me. I wrote MoveMapGen --skipContinents false --skipBattlegrounds false and it said "bad arg", so I just changed defaults in generator.cpp, no big deal really. I have Debian Lenny.

Tested on my laptop (win), worked just fine, I'll test it on *nix later on...

Added config options to mangosd.conf. Should help test if your problems are due to mmaps.

Well, you could always just remove the maps you don't like from mmap folder, it works just like disabling them.

Can't hurt having the option in cofig either.

Posted

The only "relatively simple" solution I can imagine right now, is generating "multiple meshes" with different agent sizes, then selecting proper one dynamically.

This is actually the intended use.

Our units travel so close to the wall because some doorways and other small openings are only 1-2 voxels wide. More filtering would totally remove the doorway.

To make sure this doesn't happen, I used as small a radius as I could.

Well, you could always just remove the maps you don't like from mmap folder, it works just like disabling them.

With config we can disable pathfinding without restarting server, even when players are still on a map that has loaded mmtiles.

What major tasks are left?

  • investigate invisible models
  • dynamic GO (dev work on vmap needed)
  • multiple navmeshes for multiple size mobs (depends on completeness of database creature data)
  • update recast (need to merge into current changes)
  • evade timer
Posted

Our units travel so close to the wall because some doorways and other small openings are only 1-2 voxels wide. More filtering would totally remove the doorway.

To make sure this doesn't happen, I used as small a radius as I could.

I still think we should use agent size of about ~0.4. Its the smallest model size.

So it will make wall-walking less common of standard models, while small doors still will be walkable. I mean, opening under 1y shouldn't be walkable at all.

Actually, when I think about it, maybe we can solve it with single mesh.

Maybe I can modify smooth path algorithm to steer around corners at given range.

What major tasks are left?

1) "underwater paths" : At the moment npc are stuck to the surface.

Maybe can be handled like flying case.

2) Doing some research about map generating parameters.

Maybe giving different parameters for different maps.

There are things like circular stairs that are generated really poorly at the moment.

3) Properly test everything.

Posted
2) Doing some research about map generating parameters.

Maybe giving different parameters for different maps.

There are things like circular stairs that are generated really poorly at the moment.

this would be good because i have too many bugreports from players about bugged mobs that won't aggro (immediately evade) in different game zones.

Maybe it's because i still not re-extracted my mmaps? Last time when i extracted my mmaps i was used extractor from this rev https://github.com/faramir118/mangos/commit/ab4aed5c678ce72fcadd48912f2beab7655994a5

Posted

There are a few places that are known issues, like underwater and spiral stairs.

For now, all we can do is disable pathfinding for these problems.

If they tell you specific bugged locations, please let us know so that we can fix them :)

Posted

If they tell you specific bugged locations, please let us know so that we can fix them :)

Im just right know building tiles for map 0 to test it properly...

How long does it take to build all in hiRes?

Posted

About six hours on Intel i5 @ 2.67GHz, debian lenny, and takes about 1.2 GB disk space.

Well, the comfort is, that you only have to build it one time after patch.

Omg guys its just awesome what you made there.

But one problem I found, npcs go through GO's ?

I tested on map 0 at the GromGol base Camp (Horde) and everything worked just fine, but there is a Bonfire (is this the dynamic GO?) in the middle of that camp and the npc just go through this.

I'll now build all maps in hiRes to test more.

Posted

Pushed some changes. Including most basic cases for underwater movement. Should be mostly fine.

Few notes:

* Succubus dragging itself on the bottom of lakes is not my problem, it "can't swim" from DB (inhabit type).

* While in water you can shoot creatures who cannot swim - they will evade immediately. It is not a bug.

If they tell you specific bugged locations, please let us know so that we can fix them :)

In ".go X Y Z map ori" format please :) movies will do just fine too.

But one problem I found, npcs go through GO's ?

GO's are not supported, and will not be until LoS support those.

looks like this project is almost finally release right >3< all are grean and working now yeaah yeahh >3<

Don't worry, it will be ready by year 2015.

Posted

When pet cant find any path to owner( = PATHFIND_NOPATH), it should not freeze, but try to recalculate path when owner moves or after some time(I think 1s is enough). Now pet just freezes at place, even if I move to accessible location.

Posted

p14333 wrote:

looks like this project is almost finally release right >3< all are grean and working now yeaah yeahh >3<

Don't worry, it will be ready by year 2015.

TwT

Posted
In ".go X Y Z map ori" format please :)

list of bugged locations (somewhere bugged not only one place but a whole location)

barrens -2098.443115 -2101.042480 91.666664 1 3.101525

durotar -571.605957 -4756.619141 33.441486 1 5.803933

un'goro -8049.023926 -1238.931030 -269.410095 1 1.032461

un'goro again -7374.644043 -1459.215576 -271.631378 1 1.555879

ashenvale 2000.074951 -2486.705322 92.195061 1 2.218673

thousand needles -6488.222168 -3950.312744 -58.751869 1 3.890689

silithus -6812.772461 1220.557861 3.246277 1 0.487640

silithus again -7979.958496 1704.312866 -0.920027 1 0.181336

feralas -4253.589844 293.017303 57.377758 1 2.466743

mulgore -3059.933350 118.173927 78.016563 1 3.865567

desolace -581.770569 1655.270996 90.942734 1 1.892591

desolace again 79.507431 1599.885620 121.322006 1 6.283152

felwood 4119.570312 -1018.359131 227.685150 1 6.122902

winterspring 6962.616699 -4173.863770 697.455811 1 0.250435

other locations of Kalimdor works ok

and seems hillsbrad, eversong no more bugged now (with new mmap files)

Server seems works very stable. I only get crash with InstanceMap::Add and with Azjol-nerub scripts :) hopefully fixed both and have 10 hrs uptime now (before restarting with placing fresh mmap files to the folder)

Posted
In ".go X Y Z map ori" format please :)

barrens example -2098.443115 -2101.042480 91.666664 1 3.101525 , but bugged all mobs at location

same with durotar -571.605957 -4756.619141 33.441486 1 5.803933

and seems hillsbrad, eversong no more bugged now (with new mmap files)

Server seems works very stable. I only get crash with InstanceMap::Add and with Azjol-nerub scripts :) hopefully fixed both and have 10 hrs uptime now (before restarting with placing fresh mmap files to the folder)

Cant confirm. Mobs act normally at that location or near it, but I already made some changes and, sad to say this, I am actually not sure if any of them could affect this. Do you use --hiResHeightmaps true?

And what about memory and CPU usage?

EDIT: I tried only barrens, will try also others

Posted

Confirm KAPATEJIb's posts... NPC immediately evade at map Tirisfal Glades.

Reextracted mmaps yesterday with key --hiResHeightmaps true --skipContinents false

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