Jump to content

MMaps Redux


Guest auntieMangos

Recommended Posts

  • Replies 1.2k
  • Created
  • Last Reply

Top Posters In This Topic

new crash http://paste2.org/p/1073031 with mmaps, using this rev https://github.com/faramir118/mangos/commit/9534f3d343f74e8e1ea6db5e5b66e89faca300e4

maybe it's because i replaced 630.mmap file with fresh version at running server ^^ but there is no players been at this location at this time, so i think it just coincidence (this word generated by google translator xD i hope it right)

Link to comment
Share on other sites

.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.

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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
Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

i had same problem with mob aggro at Eversong Woods location.

EDIT:

players said Barrens is bugged too

and i can confirm it too, here the video http://filekeeper.org/download/insider/different/barrens_bugged.zip

hillsbrad foothills is bugged ... http://filekeeper.org/download/insider/different/hillsbrad_bugged.zip

Currently i'm re-extracting mmaps, maybe it will solve these problems...

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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)

Link to comment
Share on other sites

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

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