The communication toolkit uses SkypeKit. Currently the toolkit allows a user to communicate with others using his or her Skype™ account. Video chat was not developed at this stage because it was not a requirement for this project. The toolkit can talk with other Skype™ users through Text or Audio communication. We evaluated the communication toolkit by setting up two Skype users on two different PCs. We conducted two tests as follows:
12.00 12.50 13.00 13.50 14.00 14.50 15.00
Two Tables Three Tables Four Tables
M ill isec o n d s
Time to Send Robot Update
6.85 6.85 6.86 6.86 6.87 6.87 6.88 6.88 6.89 6.89 6.90
Two Tables Three Tables Four Tables
M illi se co n d s
Talking using the communication toolkit without playing game concurrently Talking using the communication toolkit and playing game concurrently
We discovered that if we run the games while we are talking via the communication toolkit, the performance of the game is still acceptable, but voice transmission may have some interruptions compared to talking using the communication toolkit without playing a game concurrently.
6.5
Summary
The game, which we used for the multiplayer scenario evaluation, is created from the case study which means that the processes followed in the case study successfully created a real-time multiplayer RoboTable game.
In section 6.1, we outlined the requirements for the toolkits and we consider them below to show how the toolkits have met the requirements.
Using the toolkits should be straightforward
From the case study, we see that the BaseGameRuleControl class is designed to help game developers to program their own game rules easily. The game rule control class in this case study inherits the BaseGameRuleControl class. From the discussion in section 6.3, we see that the base classes already implement the majority of functions for game developers. There were only two main parts that the game developers needed to develop namely UpdateGraphics() and CreateGameMapAndGoalObjects(). The main methods we use to interact with the RoboTable graphics are AddGraphicObject, ChangeGraphicObjectLocation, HideGraphicObject, ShowGraphicObject and ChangeGraphicObjectColour.
The connection form is a simple form and very little code is required to make it work. To integrate it with the communication toolkit, we only need to design the game controls and pass them to the communication toolkit. Because the skeleton project has implemented them, the case study uses the two forms directly. As a result of developing the Land Grabbing game, game developers have a skeleton project that helps developers more than just having the toolkits. Hence the development of a new distributed multiplayer RoboTable game should be relatively straightforward using the toolkits.
Real-Time performance
The results of the multiplayer scenario evaluation have shown that the toolkits perform well in real-time with a rate of 45.5 updates per second (approximately 22 milliseconds per
update), which is about twice the Real-Time performance requirement of 24 updates per second. In addition, we can skip up to 5 messages while still maintain good performance. Distributed multiplayer performance
The results have also shown that the toolkits perform well in real-time within a distributed computer environment of up to 4 tables. Hence, the toolkits have met this requirement. Tracking subsystem performance
Finally, the multiplayer scenario has shown that the tracking subsystem performance is very stable at 10.2 milliseconds per update and is not affected by the robot speed. Hence the toolkits have met this requirement.
Chapter 7
Summary and Future Work
7.1
Summary
The RoboTable is a mixed reality tabletop learning environment and provides a distributed learning platform that can allow students at remotely located tables to interact and compete on robotic projects. Mason (2005) developed a game for the RoboTable to demonstrate the potential of the platform. Despite this there are no general-purpose tools to support RoboTable game development or distributed game play. Hence a gap exists to develop a robust solution that will allow distributed multiplayer games to be created and played using RoboTable.
To address these issues, we have investigated the requirements of the RoboTable system and have designed, developed and implemented toolkits to help game developers develop multiplayer RoboTable games.
The set of toolkits comprise a Network Toolkit, a Robot Tracking Toolkit, a Game Management Toolkit and a Communication Toolkit. In addition, we have developed a skeleton project to help game developers start game development.
To evaluate the toolkits, we have used a number of assessment approaches. The first approach was a case study of the game development process using the toolkits. The second approach was to
establish baseline performance benchmarks for the system. The third approach was to carry out experiments to evaluate their real-world performance and the scalability of the toolkits using the game created in the case study. The results from the experiments have revealed that the toolkits perform well within the Lincoln University environment and that the development of a new RoboTable game is relatively straightforward.
The toolkits satisfy the goals of the project. We conclude the design goal of the toolkits as follows: Flexible and extensible
The toolkits deal with abstract classes and each toolkit is independent of each other, except for the Game Management Toolkit. Hence, the toolkits are flexible and extensible. If one toolkit is out of date, we can upgrade the toolkit using the same abstract class, and the system still works.
Using the solution should be straightforward
The case study has shown that the development of a new multiplayer RoboTable game is relatively straightforward. The toolkits not only provide a general interface to game
developers but also provide a skeleton game project to help game developers to develop their game easily.
Good Performance
The multiplayer scenario evaluation has shown that the toolkits have real-time performance in distributed environments. The toolkits are able to support 4 tables concurrently. Currently the robot update rate is 45.5 updates per second for 4 tables which is about twice the current video frame rate of 24 updates per second.
Good Functionality
The toolkits manage network communication, robot tracking and game states. The
evaluation has shown that game developers do not need to worry about how to implement network communication and robot tracking facilities. Hence the toolkits provide good functionality to game developers. Game developers don’t need to maintain game states as the toolkits can maintain all game states at the local table consistently.
However, in developing the toolkits we have identified some limitations both in their implementation and evaluation. Possible future improvements are discussed in section 7.2.