For a long time the top feature request for Construct 2 has been to add the ability to make real-time online multiplayer games. This is now finally possible with the latest Construct 2 stable update r168! This groundbreaking new feature means it's now possible for anyone to design high-performance, low-latency online multiplayer games, even if you don't have a programming background - something that has never before been easily possible.
Demo: Ghost Shooter Multiplayer
Try out this demo multiplayer game made with Construct 2! This takes our previous "rain demo" ghost shooter example and adds multiplayer features. Use the arrow keys or WASD to move, and mouse to aim and shoot lasers. Try and zap the other players in the game! Click the image or the link below to join. Currently this is only supported by Chrome and Firefox.
Join at: http://www.scirra.com/labs/multiplayer/ghostshooter/
Features
The new Multiplayer object in Construct 2 uses the very latest in browser networking - WebRTC DataChannels - for low-latency real-time gaming. As well as working with server hosting (using a browser tab to host the game on a dedicated server), this also opens up the ability to have peer-hosted multiplayer games, removing the need to pay for servers to host your multiplayer games. Combined with Construct 2's visual event system, there is no easier or faster way to design online multiplayer games.
The new Multiplayer feature has a solid technical design, also supporting:
- NAT traversal, to connect through common home and office router setups
- UDP-based transmission for minimal latency and to eliminate head-of-line blocking
- Mitigation against latency, packet delay variation (PDV), and packet loss
- Seamless adaption to changing network conditions
- Automatic bandwidth controls to reduce redundant data transmission with static objects or players
- Built-in local input prediction to keep controls responsive while preventing cheating
- Support for lag compensation when hit testing
- Interpolation and extrapolation modes to compensate for packet loss while maintaining smooth in-game motion
- Binary data transmission with control over specific datatypes to minimise bandwidth
- LAN game support for near-zero latency gameplay, including support for mixed LAN/Internet games
- Support for both peer-hosted games (not needing a server) and centrally-hosted games (using a server)
- Official Scirra signalling server to connect players to each other
Learn how to make multiplayer games
Construct 2's multiplayer engine handles a vast number of technical details for you. For example, the built-in Sync object action alone initiates sophisticated object tracking process, causing objects to create, move and destroy in real-time on connected peers while compensating for minor transmission glitches and automatically minimising the necessary bandwidth. However getting used to the mindset of designing a game with multiple players participating over a network can be challenging. To help new users get going with their own multiplayer games, we have produced 31 pages of detailed tutorials and a comprehensive manual entry, ranging from the overall concepts of multiplayer games to setting up lag-compensated hit testing. See the links below to start learning:
Try it in the Free edition
You can even try out the Multiplayer feature without a license! Download the Free edition and get started. However note you cannot export projects using the Multiplayer feature with the free edition. Purchasing a license and then you can share your multiplayer games with the world!
More to come
We're still not done with the multiplayer features in Construct 2. We have plans to add even more features, ranging from persistent logins with player data storage, to geolocation-based matchmaking to help improve the connection quality. Stay tuned for more updates! In the mean time we can't wait to see what you come up with, so download r168 and get started!