Multiplayer Chess on Construct Arcade
Construct Chess is the first multiplayer game on Construct Arcade
Ever since Construct Arcade has been launched in 2018, our goal was to push the limits with each new game. Barista Express did that in terms of scope and every subsequent project since then has always tried to innovate in its own little way. This one definitely does that in a significant way.
To focus only on one complex aspect of game development, I picked making a multiplayer game as my goal this time. Although we already have a Chess game with Chess by Jocly, it relies on the deprecated WebVR API, which makes using it in VR not possible anymore. As a result, I decided to create a new Chess game, as only having multiplayer as a focus might make it easier to develop, as the concept of chess is well established.
I was kind of wrong on that, as making VR menu navigation and interaction proved to be a challenge itself. But I am fairly proud of the result, as the game can be played on desktop, mobile and VR. Depending on the response, might even get more features.
As I only wanted to do this project in a short timeframe, we decided to use an already working Chess project by schowdhuri as a base. This example is a sturdy 3d base, but didn’t support some specific chess moves, so we also use chess.js by Jeff Hlywa to validate the moves.
After the game was playable locally, I decided to add the multiplayer support. We use peer.js to setup a connection between the clients and I am surprised at how simple it was to use. Although setting up our own peer.js server for generating shorter ids turned out to be more work than anticipated, as we had to also setup our own TURN server for that. Going forward, the next multiplayer games will be leveraging a lot more complex multiplayer interactions, so definitely look forward to that.
The final step of development (besides debugging) was to add the VR features, which came easily with the examples provided by the Three.js community. The VR UI is a modified version of CanvasUI by NikLever, which worked out pretty well.
During polishing, we also included different boards and background environments, which can be purchased via Construct Coins. By buying Construct Coins and supporting us, you are making the development of WebVR games like Construct Chess possible.
The old project used .JSON files for the models and loaded each one individually, which I updated to use .gltf. This made adding new chess sets a breeze. The models were created by great artists on Sketchfab, you can find links to their pages in the credits window of the game:
Thanks for reading and I hope you enjoy playing the game with your friends!