Implementing network lag compensation is hard, how to avoid it?
Maybe it's possible to use tricks and build game mechanics in such a way that lag would be percieved as a non critical or even as a natural part of game?
What are those technics and is there any existing games (MMORPG, Strategies, ...) that uses such technics?
UPDATE:
Turn based games don't require lag compensation, but it would be interesting to see approaches for real-time (or just an impression of real-time, the important part - user shouldn't be blocked and forced to wait).
The main reason for me to avoid lag compensation is simplicity.
Answer
It's common for the client to implement some sort of feedback to let the player know immediately that their chosen action has been registered, eg.:
- interface sound (eg. button click)
- in-world sound (eg. a character saying, "At once, commander")
- animation (eg. begin swinging a sword)
These can take place while the information is travelling to the server so the player doesn't realise that their action has not started yet. As long as the server replies promptly and the action does begin soon, the player may not notice the delay.
These tricks work in games where player inputs are fairly infrequent and therefore the amount of time you spend waiting for an input to take effect is a relatively small proportion of the total time spent playing. Therefore, you would want to find ways to structure the game so that the player makes fewer inputs. This probably means making player actions more abstract and having the game implement the low level behaviour. Examples:
- replace steering mechanics with pathing mechanics
- replace aiming mechanics with target selection mechanics
- replace round-by-round combat instructions with more tactical or strategic plans
- replace real time/continuous gameplay with discrete/turn-based systems
No comments:
Post a Comment