I’d like to see something like ‘discardable reliability’.
IMHO there are three basic use-cases for network messages in games.
1.) Event-like, store-forward message. Like ‘a bullet has been shot’. Must be reliable.
2.) Structural changes. A player entered, health descreased, a door opened, a party formed, … . All things that a new player entering after that happened will need to know as well. Messages must be reliable and backed up by some server structure that can be pushed to new clients.
3.) Operative data like position updates. For many brute force mechanism (sending 10/s) dont have to be reliable. For things like dead-reckoning (as I use it in FlyingGuns), has to be reliable. The dead-reckoning allows to send NO data for many seconds (e.g. for a straight flying plane). But this requires reliable transmission. OTOH, in tight-turning dogfights 3 or more messages/sec have to be send. In this case, it would be no problem if one gets dropped in favor of the following that need to be send anyway. Even worse, in TCP the lastest has to wait until the discardable was transmitted. Double bad.
Here I’d need a ‘transmit-reliable-until-next-transition-is-initiated’.
Is something like that provided by eNet?