Virtual Actions

Started by
1 comment, last by FVector4 22 years, 11 months ago
As far as I can tell, there are basically two ways of sync''ing game characters in real-time. The first using absolute/delta position messages and adjusting the characters accordingly. The second is to use something called "Virtual Actions." Unfortunatly, I''m not to sure what virtual actions actually are and there seems to be nothing on te web to help explain. As far as I can tell this technique involves sending, garanteed, key presses or abstract states relating to what the character is doing at a given moment in time. Could someone please provide either confirmation or an explination on this and what they feel are the pro''s and con''s, other than bandwidth usuage. Thanx!
Advertisement
I don''t know that there''s a "term" for it. I suspect what you mean is that the actions on one machine are treated as if they were a virtual input device on the other. That is, my keyboard on one machine acts -- through the network layer -- as if it were on the other machine, and my keypresses are transmitted and accepted there.

Note that you cannot have a real-time game play this way across the internet -- at least not without also including dead reckoning, the first technique you mentioned. The roundtrip on the internet is too slow for a guaranteed message, and if you drop a single keystroke, the games diverges and you have to send absolute positions anyway.

You can use this technique with LAN, and (I think with limited success) modem and serial port. I''ve done it with 10Mbps LAN, my game ran at about 25-30 fps.
Thanx WMiller,

I think "Virtual Actions" also goes by another name but I can''t remember what it is.

Anyway, I tried using virtual actions initially and descovered the problems that you mentioned. Especially where the characters used acceleration/deceleration rates.

I have now switched to the Absolute/Delta positioning method, obviously with a resultant increase in bandwith usage but even without dead reckoning its still much better.

This topic is closed to new replies.

Advertisement