Archive for the ‘Multiplayer’ tag
Back in April, we gave you a sneak peak of our Multiplayer RVW Project. We’ve been hard at work implementing that functionality into the VEX Toss Up game, as well as adding additional features and improvements to the system. Check out this video for an updated sneak peak:
We’ve come a long way in our development, and we still have some tough challenges to solve that don’t exist in single player mode.
Which player “owns” which game objects?
It’s important that the location of all of the game objects is the same for all 4 players. For example, if one player moves a ball, that same movement should appear in all 4 different instances of the game. That means that (behind the scenes) the system needs to determine which instance of the game “talks” and which 3 instances “listen” about the position of the objects. There’s 28 objects in Toss Up to keep synchronized!
Effectively being able to communicate strategy
In the real-world version of these competitions, you can easily talk with members of the other team to convey your robot’s ability, desired starting point, gameplay tactics, and other useful pieces of information. This is a challenge in a virtual setting. We’ve implemented Chat functionality, with the ability to talk with just your partner, or all players. Making sure we have an adequate set of messages for clear communication will be key.
Synchronizing the Game Clock
In Single Player mode, you are in control of when the game clock starts. In Multiplayer mode, the player that created the room is in charge of when the match (and consequently game timer) start. For a fair experience, it’s crucial that everyone’s game clock starts and stops at exactly the same time, and that everyone has an adequate amount of time to get ready. We’ve implemented this with a “Ready” system, to let the player who created the room know when they can safely start, and added a countdown timer just in case any of the players weren’t quite ready yet. Sometimes data over the Internet is lost, and we don’t want someone at a disadvantage because their signal to start was lost, so we’ll be adding in extra synchronization checks for timer-related functionality.
Performance and Improvements
Rendering a single robot on a game field is similar to asking your computer to render a character and environment in a video game. Rendering four robots is even more resource intensive, so we’ll be optimizing the system as much as possible. To add to this, we’ll also be optimizing the amount of data traffic needed to keep all instances of a match synchronized, without using too much bandwidth.
Thanks for checking out our progress! We’ll continue to post updates about features and improvements as we add them, and be on the lookout for beta versions you can try later this summer!
The Robot Virtual Worlds team has been developing a multiplayer game mode, and our group was lucky enough to get a sneak peak last week (and I made sure to record the event for you!)
Check out the video from the preview:
It will work with ROBOTC, have CS2N connectivity for achievements, private rooms so only the people you invite will be allowed in, structured chat rooms, and a lot more!! Look for it to be released at the end of the summer.
What do you think? What features would you like to see included in it?