Antares
Spell Reviewer
- Joined
- Dec 13, 2009
- Messages
- 982
Hello,
I was working on my ground movement physics when @Bawbz reminded me that GetLocationZ can cause desyncs, which I had completely forgotten about. However, the Simple Entity Engine uses GetLocationZ with abandon and I was surprised that I didn't find a mention of any potential issues in the thread discussion.
According to doomsheep, GetLocationZ only desyncs with terrain deformations (thunderclap/shockwave), but otherwise is fine.
I found some threads from around 3-4 years ago which discuss the feasibility of syncing a terrain height map across players, for example here, but there didn't seem to be a lot of progress in this regard, and because I didn't find any newer threads, this seems to be an unsolved issue?
If terrain deformations (and maybe some other stuff) causes the desyncs, wouldn't it be sufficient to simply precompute the terrain height field on map initialization and use that for all future calculations?
If even that isn't safe, the next step would be to precompute the height map into a data file and load that file into the map.
A related question: is UnitGetFlyHeight synchronous?
Thanks for any info!
I was working on my ground movement physics when @Bawbz reminded me that GetLocationZ can cause desyncs, which I had completely forgotten about. However, the Simple Entity Engine uses GetLocationZ with abandon and I was surprised that I didn't find a mention of any potential issues in the thread discussion.
According to doomsheep, GetLocationZ only desyncs with terrain deformations (thunderclap/shockwave), but otherwise is fine.
I found some threads from around 3-4 years ago which discuss the feasibility of syncing a terrain height map across players, for example here, but there didn't seem to be a lot of progress in this regard, and because I didn't find any newer threads, this seems to be an unsolved issue?
If terrain deformations (and maybe some other stuff) causes the desyncs, wouldn't it be sufficient to simply precompute the terrain height field on map initialization and use that for all future calculations?
If even that isn't safe, the next step would be to precompute the height map into a data file and load that file into the map.
A related question: is UnitGetFlyHeight synchronous?
Thanks for any info!