Smart phones and tablets are becoming popular gaming devices as more and more people are buying them. Mobile app stores have an abundant number of games for these devices today. However, multiplayer games, which are interactive, fast-action, and generally more exciting, are not common yet. We believe that interactive, fast-action game play (in a first-person shooting game for example) is significantly hampered in mobile and outdoor environments because of intermittent and high-latency connections that go through the cloud.
Plexus is a platform to support interactive multiplayer games on mobile devices. Plexus relies on direct phone-to-phone connectivity, based on WiFi, to bypass the cloud. A local WiFi network can be set up on-the-fly by turning on the mobile WiFi hotspot feature available on many phones, using a portable hotspot like MiFi, or connecting to a WiFi LAN when available. Through direct connectivity, Plexus enables muliplayer games in a wide variety of scenarios. For example, a group of kids waiting for their school bus, a family on a camping vacation, and a bunch of friends hanging out at a coffee shop can all have fun playing a game with each other on their Plexus enabled smart phones.
Kids playing an interactive game on their smart phones while waiting for the school bus.
Supporting multiplayer games in mobile devices requires the following key features.
Infrastructure for local game play. Plexus game services enables players to create game sessions, find existing sessions, and join them, without relying on an external cloud service. The component also incudes a communication module to broadcast game messages to devices participating in a session. The Plexus API is compatible with the XNA framework, which supports multiplayer games on PC and XBox.
Power saving framework. Games draw significant amount of power for computation, messaging, and display. This framework decreases power consumption and extends the duration of game play (and the lifetime of the device), an important requirement in mobile and outdoor environments, where power outlets might not be available.
Programming abstractions. Multiplayer games need to deal with the vagaries of a distributed computing environment in order to provide good user experience. Programming abstractions that remove the burden of designing distributed computing protocols from game designers facilitate rapid game development. Researches at MSR India are currently looking into this area.