Creating Real-Time Multiplayer Games Using Ad-Hoc Networking Over Bluetooth
by Brad Boone, Corey Darr, and Chris Hayes
Mobile devices running the Android OS are becoming ubiquitous and are widely used for playing games. The portability of these devices lends itself to the creation of multiplayer gaming using ad-hoc networking in place of an external network to route traffic between devices. Since a Bluetooth radio is required in all Android-compliant devices, our team chose to research the feasibility of implementing a real-time multiplayer game between two Android devices, specifically HTC Nexus Ones. We investigated the effects of latency on gameplay, as well as how to divide processing tasks between two phones using a client-server architecture. We developed two games using modified dead-reckoning methods to compensate for latency between phones. We also chose to limit message traffic as much as possible, to avoid possible negative effects from Bluetooth's low bandwidth capabilities. Our team recorded an average latency of approximately 20ms between devices, and using the methods we implemented, were able to maintain a subjectively stable and synchronized experience across devices. Based on these results, we found that dead-reckoning methods make Android games using ad-hoc networks highly feasible, provided the developers restrain message traffic to critical game events only.
Click image to view larger version