Login to Construct Arcade

Construct Chess

You can now play Mul­ti­play­er chess with your friends!

Multiplayer Chess on Construct Arcade

Con­struct Chess is the first mul­ti­play­er game on Con­struct Ar­ca­de

Ever since Con­struct Ar­cade has been launched in 2018, our goal was to push the lim­its with each new game. Barista Ex­press did that in terms of scope and every sub­sequent pro­ject since then has al­ways tried to in­nov­ate in its own little way. This one def­in­itely does that in a sig­ni­fic­ant way.

To fo­cus only on one com­plex as­pect of game de­vel­op­ment, I picked mak­ing a mul­ti­play­er game as my goal this time. Al­though we already have a Chess game with Chess by Jocly, it re­lies on the de­prec­ated Web­VR API, which makes us­ing it in VR not pos­sible any­more. As a res­ult, I de­cided to cre­ate a new Chess game, as only hav­ing mul­ti­play­er as a fo­cus might make it easi­er to de­vel­op, as the concept of chess is well es­tab­lished.

I was kind of wrong on that, as mak­ing VR menu nav­ig­a­tion and in­ter­ac­tion proved to be a chal­lenge it­self. But I am fairly proud of the res­ult, as the game can be played on desktop, mo­bile and VR. De­pend­ing on the re­sponse, might even get more fea­tures.

De­vel­op­ment

As I only wanted to do this pro­ject in a short time­frame, we de­cided to use an already work­ing Chess pro­ject by schow­dhuri as a base. This ex­ample is a sturdy 3d base, but didn’t sup­port some spe­cif­ic chess moves, so we also use chess.js by Jeff Hly­wa to val­id­ate the moves.

After the game was play­able loc­ally, I de­cided to add the mul­ti­play­er sup­port. We use peer.js to setup a con­nec­tion between the cli­ents and I am sur­prised at how simple it was to use. Al­though set­ting up our own peer.js serv­er for gen­er­at­ing short­er ids turned out to be more work than an­ti­cip­ated, as we had to also setup our own TURN serv­er for that. Go­ing for­ward, the next mul­ti­play­er games will be lever­aging a lot more com­plex mul­ti­play­er in­ter­ac­tions, so def­in­itely look for­ward to that.

The fi­nal step of de­vel­op­ment (be­sides de­bug­ging) was to add the VR fea­tures, which came eas­ily with the ex­amples provided by the Three.js com­munity. The VR UI is a mod­i­fied ver­sion of Can­va­sUI by Nik­Lever, which worked out pretty well.

Dur­ing pol­ish­ing, we also in­cluded dif­fer­ent boards and back­ground en­vir­on­ments, which can be pur­chased via Con­struct Coins. By buy­ing Con­struct Coins and sup­port­ing us, you are mak­ing the de­vel­op­ment of Web­VR games like Con­struct Chess pos­sible.

Mod­els

The old pro­ject used .JSON files for the mod­els and loaded each one in­di­vidu­ally, which I up­dated to use .gltf. This made adding new chess sets a breeze. The mod­els were cre­ated by great artists on Sketch­fab, you can find links to their pages in the cred­its win­dow of the game:

Thanks for read­ing and I hope you en­joy play­ing the game with your friends!

Kind Re­gards

Flori­an

Terms of Service

Welcome to Construct Arcade Website (the “Website”). ​You are advised to carefullyreview ​the terms expressly incorporated herein (​​“Terms” or “Terms of Service''), asthey collectively​ constitute a legally binding, electronic contract (the “Agreement”)between you (“You” or the “User”) and Vhite Rabbit GbR (“Vhite Rabbit" or the“Company”), Blarerstraße 56, 78462 Konstanz, Germany, upon your consent(defined below, section 2.2), hence affecting your legal rights and obligations.

1- Subject & Area of Validity

1.1 Vhite Rabbit offers online VR games and other services within the context ofonline gaming, including in-game purchases (the “Service”, collectively the"Services") solely for non-commercial entertainment purposes. These Terms ofService regulate your access to and use of the Services on this Website.

1.2 The User may access and play the online games on the Website without creatingan account (the “User Account”) and our Services are essentially free of charge withthe exception of certain purchasable services (the “Premium Services”, section 3)which are subject to additional rules.

2- Conclusion of Contract

2.1 You confirm to be at least 16 years old and have the legal capacity or to have obtained the consent of your legal guardian to enter into this Agreement.

2.2 When you create a user account, you agree and declare to be bound by this Agreement by clicking the “Create Account” button after you check the box containing the link to these Terms as well as the statement that you have read the Terms of Service. This shall allow you to access our Premium Services for purchase and use.

3- Premium Services and Usage Fees

3.1 The term “Premium Services” refers to the Services and contents on the Website, which require payment and creation of a user account for access and use, including but not necessarily limited to in-game purchases such as virtual currencies, certain virtual features and items (collectively “Virtual Assets”) within the context of our online games.

3.2 The User confirms that any data provided while creating a user account as well as during the process of payment (in particular bank account, credit card number, etc.) is complete and accurate.

3.3 Vhite Rabbit may, at its own discretion, introduce new Premium Services, remove the existing ones, render any existing free Service as a Premium Service, determine and make amends to the fees and payment options of the Premium Services.

3.4 Vhite Rabbit holds all the rights to the Virtual Assets provided in online games. Purchase of the Virtual Assets shall give the User only a non-exclusive right to use them as long as the respective game is available for use.

4- Disclaimer, Limitation of Liability and Termination

4.1 The Services provided by Vhite Rabbit are made available without any warranty or assurance that the Services will remain available for use. Vhite Rabbit reserves the right to modify or completely remove a Service at its own discretion, without any liability for any loss or damage arising from it, including reimbursement or compensation due to modification or removal of the Premium Services.

4.2 Vhite Rabbit shall not be liable for any interruption or malfunction of the Services arising from technical reasons including but not limited to maintenance work, updates and server issues, as well as all reasons beyond Vhite Rabbit’s control (force majeure, third party responsibility, etc.).

4.3 With the termination of this Agreement, the User loses the right to access our Premium Services for purchase as well as the right to use already purchased Premium Services. Vhite Rabbit shall not be liable for reimbursement or any other monetary claim arising from the termination of this Agreement for any reason.

5- Ownership of Intellectual Properties

5.1 The Services and all copyrightable content and materials related thereto including, without limitation, software, design, text, data, all visual and audio materials, logos and trademarks are the exclusive property of Vhite Rabbit.

5.2 The User agrees not to modify, distribute, copy, reproduce, publicly display,publish, create derivations from, or otherwise use, any materials or content related to our Services without our explicit prior written consent.

5.3 The User agrees and undertakes to indemnify Vhite Rabbit for all losses, damages and expenses incurred by the User’s breach of the terms in this section.

6- Governing Law and Jurisdiction

6.1 German law shall apply with the exclusion of the UN Convention on Contracts for the International Sale of Goods.

6.2 All disputes arising out of this Agreement or your use of our Services shall be resolved in the ODR platform provided by the European Commission as an alternative dispute resolution between consumers and online traders, accessible via http://ec.europa.eu/consumers/odr .

7- Amendments to The Terms of Service

7.1 Vhite Rabbit may amend this Agreement in case of legal changes, business or technical operations of the Company making such amendment necessary. The User will be informed of any amendments to this Agreement and asked to agree to them during the first login process after the amendments are introduced.

7.2 Failing to agree to any amendment shall result in the denial of further access to the Premium Services for purchase or use.

7.3 If any provision of this Agreement becomes invalid or unenforceable for any reason, this shall not affect the rest of the Agreement.

I confirm that I have read the Terms of Service above and agree to it*
Delete Account Continue