Hi
Thank you for continuing to work with us on betterment of MXP
specification.
On Nov 11, 10:22 am, Alon Zakai <
a...@syntensity.com> wrote:
> 1. Maybe I am not understanding something, but if all movement is done by
> request/response, that seems to mandate the Second Life model of all
> movement/physics/etc. occurring on the server. If so, that would rule out
> any hi-speed worlds (FPS games, etc.). (In fact any fixed
> movement/orientation message format would be an issue.)
You are right it would induce considerable delay and it may not be
feasible at all.
>
> 2. "ENET can have maximum 255 channels. This would enforce ordered
> dependency for unguaranteed packages. ENET drops out of order (late)
> arriving unguaranteed packet inside a channel. That is problematic if all
> movement messages use same channel: Movement messages for different objects
> arrive in wrong order and late arriving would be dropped. This should only
> happen if movement messages for same object arrive in wrong order."
>
> I don't follow. First, the concepts of ordered and guaranteed are orthogonal
> - it is possible to have both guaranteed and unguaranteed messages in the
> same channel in ENet - reliability is a property of a message, not a
> channel, and all channels are ordered there.
>
The problem I am worried about is that order changes between movement
events of different objects will lead to packet drops. I don't know
the statistics but I would assume that over network connection
containing multiple hops you will get UDP packet order changes as UDP
does not guarantee ordered delivery. If there are considerable changes
in order this will lead to considerable packet loss. This will in turn
degrade the signal quality and degrade the user experience. Does
anyone have reliable measurements on the amount of udp packet order
changes in packet stream for example between continents?
>
> Of course that is possible, but I suspect you will simply end up
> re-implementing basically the same feature set, and it will take time and
> effort to debug.
>
One major pro ENET thing would be appearance of public specification
which could be added as part to other specifications like MXP. It
would also allow evaluation of the protocol and implementations in
different languages.
Dealing with wrappers is doable and it would offer 100% compliant
implementations as everyone would be using the same c++
implementation. The challenging is to make those wrappers happen and
arranging prebuild distributions of ENET libs to all the platforms and
bundling those with MXP. Leaving the building of native libraries to
end product developer is a killer especially when library like MXP is
in question.
regards,
Tommi