# Shu Chess (devlog)

**URL:** <https://forum.babylonjs.com/t/shu-chess-devlog/63909>\
**Category:** Demos and projects\
**Tags:** game, chess\
**Created:** [August 6, 2026, 9:23pm UTC](https://forum.babylonjs.com/t/shu-chess-devlog/63909 "2026-08-06T21:23:49Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![onekit](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/onekit/32/49527_2.png) [@onekit](https://forum.babylonjs.com/u/onekit)\
**Post date:** [August 6, 2026, 9:23pm UTC](https://forum.babylonjs.com/t/shu-chess-devlog/63909/1 "2026-08-06T21:23:49Z")

</div>

[![](https://img.youtube.com/vi/GLGellx5SBM/maxresdefault.jpg "Shu Chess Gameplay v0.3.4") ](https://www.youtube.com/watch?v=GLGellx5SBM)

I’ve started creating yet another version of one of the oldest games — CHESS 😁.

Very basic offline mode against the computer (but to keep the game around 23 MB, don’t expect a particularly smart offline opponent).

 ![image](https://us1.discourse-cdn.com/flex024/uploads/babylonjs/original/3X/d/c/dcf3214d841859cf1bab2729b15728cdc0bad14f.jpeg)

Network game is working via websockets (MQTT), but it is first test.

> **[Shu Chess](https://shuchess.com)**
>
> 3D chess in the browser. Play locally, vs computer, or online.

---

<div class="post-metadata">

**Author:** ![AlitarSemiramis](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/alitarsemiramis/32/49920_2.png) [@AlitarSemiramis](https://forum.babylonjs.com/u/AlitarSemiramis)\
**Post date:** [August 6, 2026, 10:47pm UTC](https://forum.babylonjs.com/t/shu-chess-devlog/63909/2 "2026-08-06T22:47:06Z")

</div>

Love chess! A few minor comments if you are interested:

- I think the traditional way of showing the board is a to h, not h to a (so the white king should be on the right side of the white queen).
- Maybe a way to choose white or black pieces?
- Would be nice to see the notation of the moves on the side, sometimes the AI moves and it took me a second to see the move and with 5 minutes timer it’s nice to see what happened (maybe the AI could move a little slower too).
- Maybe pieces could fall to the deep of the screen instead of down? (always towards the white).
- Not sure about the scenery change, it’s nice, but the contrast got a little low when it got to the sunrise scene.
- I was getting French words like garde even if the game was in English.

Minor nits, it looks really good!

---

<div class="post-metadata">

**Author:** ![onekit](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/onekit/32/49527_2.png) [@onekit](https://forum.babylonjs.com/u/onekit)\
**Post date:** [August 6, 2026, 11:09pm UTC](https://forum.babylonjs.com/t/shu-chess-devlog/63909/3 "2026-08-06T23:09:00Z")

</div>

Oh man, I totally embarrassed myself. I mirrored the board and was looking at it from the wrong side. I kept thinking, ‘Something is off here, the usual Paulsen Gambit isn’t working.’ Just released a hotfix. Mirrored the coordinates and squares properly now.

 ![image](https://us1.discourse-cdn.com/flex024/uploads/babylonjs/original/3X/3/3/33ff7ea28f2b52b0399d8a5d2ce7bb93b48e04b2.png)

It’s hot fix. All other mentioned bugs will be fixed.  
Thank you so much for feedback!!! 👾

---

<div class="post-metadata">

**Author:** ![onekit](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/onekit/32/49527_2.png) [@onekit](https://forum.babylonjs.com/u/onekit)\
**Post date:** [August 9, 2026, 8:41pm UTC](https://forum.babylonjs.com/t/shu-chess-devlog/63909/4 "2026-08-09T20:41:30Z")

</div>

> [@AlitarSemiramis](#):
>
> - I think the traditional way of showing the board is a to h, not h to a (so the white king should be on the right side of the white queen).

Thanks. Fixed.

> [@AlitarSemiramis](#):
>
> - Maybe a way to choose white or black pieces?

I’ve added a not-so-obvious control for selecting the shape’s color. You can click it once, or you can press and hold it for 400ms, which will lock the color.

 ![image](https://us1.discourse-cdn.com/flex024/uploads/babylonjs/original/3X/3/9/39553d91548ec1f41844b02bd0c2731c3a944e30.png)

> [@AlitarSemiramis](#):
>
> - Would be nice to see the notation of the moves on the side, sometimes the AI moves and it took me a second to see the move and with 5 minutes timer it’s nice to see what happened (maybe the AI could move a little slower too).

I added three difficulty levels, where the computer takes longer to think on the hard level, but it’s still pretty slow. I didn’t use Stockfish 😁, but the game weighs in at 23 megabytes. I added a trace and history for each turn so I can see who made their last move.

> [@AlitarSemiramis](#):
>
> - Maybe pieces could fall to the deep of the screen instead of down? (always towards the white).

Yes, now they fly out much more cheerfully and in different directions, sometimes even right into the camera.

> [@AlitarSemiramis](#):
>
> - Not sure about the scenery change, it’s nice, but the contrast got a little low when it got to the sunrise scene.

Added to my To-Do list. 👌

> [@AlitarSemiramis](#):
>
> - I was getting French words like garde even if the game was in English.

I’ve decided to disable Garde’s phrase for now, but made it optional in the game’s configuration. It’s not used in modern chess, so it looks like I’m just saying, “Look at me, I know what they said to Garde in old chess when they attacked the queen,” which is actually a redundant message.

–

Look at the 2D and 3D transformation I made so the player can choose the game board layout. I’ll also adjust the camera angle for the 3D version.

---

<div class="post-metadata">

**Author:** ![AlitarSemiramis](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/alitarsemiramis/32/49920_2.png) [@AlitarSemiramis](https://forum.babylonjs.com/u/AlitarSemiramis)\
**Post date:** [August 9, 2026, 9:27pm UTC](https://forum.babylonjs.com/t/shu-chess-devlog/63909/5 "2026-08-09T21:27:48Z")

</div>

Amazing job! I’ll give it another go this week and let you know how it goes 🙂

---

<div class="post-metadata">

**Author:** ![AlitarSemiramis](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/alitarsemiramis/32/49920_2.png) [@AlitarSemiramis](https://forum.babylonjs.com/u/AlitarSemiramis)\
**Post date:** [August 10, 2026, 4:55pm UTC](https://forum.babylonjs.com/t/shu-chess-devlog/63909/6 "2026-08-10T16:55:44Z")

</div>

Just tried and so much better! I love the lines for the movements, that helps a lot. I managed to win on hard, but it was pretty close! (I had 11 seconds left :D). For 5 minutes games, I think there is a rule that you get 5 seconds for each movement where you are under 10 seconds or something like that? Would be nice to add it if it’s not there (or as an option maybe).

---

<div class="post-metadata">

**Author:** ![onekit](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/onekit/32/49527_2.png) [@onekit](https://forum.babylonjs.com/u/onekit)\
**Post date:** [August 11, 2026, 10:16pm UTC](https://forum.babylonjs.com/t/shu-chess-devlog/63909/7 "2026-08-11T22:16:32Z")

</div>

What’s new in 0.6.8:

- Auto-Rotate (hold to lock) or rotate board for single player
- 3D/2D toggler
- Landscape toggler
- 3D modal dialogs
- Pre-moves like in [Chess.com](http://Chess.com) and [Lichess.org](http://Lichess.org)
- Network game

Firefox vs Chrome 😁

[![](https://img.youtube.com/vi/WbV8AEPbl9g/maxresdefault.jpg "Firefox vs Chrome - Shu Chess Gameplay v0.6.8") ](https://www.youtube.com/watch?v=WbV8AEPbl9g)

---

<div class="post-metadata">

**Author:** ![onekit](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/onekit/32/49527_2.png) [@onekit](https://forum.babylonjs.com/u/onekit)\
**Post date:** [August 12, 2026, 7:09pm UTC](https://forum.babylonjs.com/t/shu-chess-devlog/63909/8 "2026-08-12T19:09:08Z")

</div>

What’s new in 0.7.2:

 ![image](https://us1.discourse-cdn.com/flex024/uploads/babylonjs/original/3X/2/8/28dbb2f786a4c2c2e54671eca493668021ab4551.jpeg)  
 ![image](https://us1.discourse-cdn.com/flex024/uploads/babylonjs/original/3X/5/5/55bac3f7f9e47a2bf097ebab6bfb4965c43e5835.jpeg)  
 ![image](https://us1.discourse-cdn.com/flex024/uploads/babylonjs/original/3X/c/c/cc266115d87dd1ec2d34cee7b9c623b3842aa90b.jpeg)

New, mind-blowingly glossy and shiny, thick, robust chess pieces that stand out with highly defined contours!

Thats pieces, I love them so much.

---

<div class="post-metadata">

**Author:** ![AlitarSemiramis](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/alitarsemiramis/32/49920_2.png) [@AlitarSemiramis](https://forum.babylonjs.com/u/AlitarSemiramis)\
**Post date:** [August 12, 2026, 7:44pm UTC](https://forum.babylonjs.com/t/shu-chess-devlog/63909/9 "2026-08-12T19:44:18Z")

</div>

Nice! Adding different pieces models/skins seems a great way to customize the game 🙂

---

<div class="post-metadata">

**Author:** ![onekit](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/onekit/32/49527_2.png) [@onekit](https://forum.babylonjs.com/u/onekit)\
**Post date:** [August 12, 2026, 8:00pm UTC](https://forum.babylonjs.com/t/shu-chess-devlog/63909/10 "2026-08-12T20:00:30Z")

</div>

Customization is becoming a dilemma for me, and I think we need to create completely different versions.  
This project is currently 24.8MB as PWA or website and 14Mb for Android, which will allow you to play offline on a plane, not only online.  
And I’d like to reduce the distribution size so people don’t think I’m completely nuts for making a regular chess game weigh as much as a AAA game. 😂  
But I’m thinking about adding the ability to choose beautifully animated characters instead of the usual pieces.  
For example, when the king is put in check, he covers his head with his hands and makes a frightened cry.

---

<div class="post-metadata">

**Author:** ![AlitarSemiramis](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/alitarsemiramis/32/49920_2.png) [@AlitarSemiramis](https://forum.babylonjs.com/u/AlitarSemiramis)\
**Post date:** [August 13, 2026, 12:12am UTC](https://forum.babylonjs.com/t/shu-chess-devlog/63909/11 "2026-08-13T00:12:12Z")

</div>

I like the idea of having a base set, as small as possible, so the game loads fast, and then other customizations behind a clear warning: you will need to download extra assets.

The animations idea reminds me of Battle Chess, that would be awesome 😃

---

<div class="post-metadata">

**Author:** ![onekit](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/onekit/32/49527_2.png) [@onekit](https://forum.babylonjs.com/u/onekit)\
**Post date:** [August 15, 2026, 2:22am UTC](https://forum.babylonjs.com/t/shu-chess-devlog/63909/12 "2026-08-15T02:22:22Z")

</div>

What’s new in 0.9.0:

Next level of delivery game to audience. 😁

> **[ShuChess](https://t.me/shuchess_bot/game)**
>
> You can contact @shuchess\_bot right away.

You run Shu Chess as telegram mini-app and need not to install even PWA if you commonly use Telegram as messenger. And site use telegram id to count chess matches rating by ELO system.

Lobby, spectator mode improved.  
Registered domain: [shuchess.com](http://shuchess.com)

---

<div class="post-metadata">

**Author:** ![AlitarSemiramis](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/alitarsemiramis/32/49920_2.png) [@AlitarSemiramis](https://forum.babylonjs.com/u/AlitarSemiramis)\
**Post date:** [August 15, 2026, 5:37am UTC](https://forum.babylonjs.com/t/shu-chess-devlog/63909/13 "2026-08-15T05:37:21Z")

</div>

It’s getting super polished 😮 Like the knights animation between 2D and 3D, really nice detail.

---

<div class="post-metadata">

**Author:** ![onekit](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/onekit/32/49527_2.png) [@onekit](https://forum.babylonjs.com/u/onekit)\
**Post date:** [August 18, 2026, 7:18pm UTC](https://forum.babylonjs.com/t/shu-chess-devlog/63909/14 "2026-08-18T19:18:00Z")

</div>

The 3D version itself isn’t very large, about 25 MB, so even on the hardest level it’s not very playable. Then I connected a bot that I can’t defeat. (You can meet him in Lobby).  
I ran three of them as a service, so two would piss each other and you could take on the third.

Bot vs bot [LIVE]:

> **[Shu Chess](https://shuchess.com/nnxpi)**
>
> 3D chess in the browser. Play locally, vs computer, or online.

And of course, a lightweight 600 KB version for any device Shu Chess LITE:

> **[Shu Chess Lite](https://lite.shuchess.com/play/nnxpi)**
>
> Lightweight Shu Chess client. Play over REST on shuchess.com.

[![](https://img.youtube.com/vi/_l7DDZoXzWs/maxresdefault.jpg "Lite.ShuChess.com") ](https://www.youtube.com/watch?v=_l7DDZoXzWs)

---

<div class="post-metadata">

**Author:** ![onekit](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/onekit/32/49527_2.png) [@onekit](https://forum.babylonjs.com/u/onekit)\
**Post date:** [August 22, 2026, 10:33pm UTC](https://forum.babylonjs.com/t/shu-chess-devlog/63909/15 "2026-08-22T22:33:07Z")

</div>

What’s new in 0.13.1:

- Plain pieces
- Monochrome + Contrast (post processing)  
 ![image](https://us1.discourse-cdn.com/flex024/uploads/babylonjs/original/3X/4/9/491bc9e9b74989b01703c6850893e3596e8f4c37.jpeg)  
 ![image_2026-08-22_23-55-29](https://us1.discourse-cdn.com/flex024/uploads/babylonjs/original/3X/2/0/203b4ab6c6a1d5fd3cb87e4b391758c2e23f9eef.png)

Gameplay video (demo):

[![](https://img.youtube.com/vi/mai8znecNm8/maxresdefault.jpg "Shu Chess - Gameplay v 0.13.1 (shuchess.com)") ](https://www.youtube.com/watch?v=mai8znecNm8)

---

<div class="post-metadata">

**Author:** ![onekit](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/onekit/32/49527_2.png) [@onekit](https://forum.babylonjs.com/u/onekit)\
**Post date:** [August 28, 2026, 12:03am UTC](https://forum.babylonjs.com/t/shu-chess-devlog/63909/16 "2026-08-28T00:03:20Z")

</div>

I am demonstrating video calls by placing the video on a VideoTexture:

[![](https://img.youtube.com/vi/c-IMyRb4y9c/maxresdefault.jpg "Компанейская фича для заядлых шахматистов") ](https://www.youtube.com/watch?v=c-IMyRb4y9c)

Here is a Russian video, but I added English subtitles and an English AI-audio track to it.  
😜

---

<div class="post-metadata">

**Author:** ![onekit](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/onekit/32/49527_2.png) [@onekit](https://forum.babylonjs.com/u/onekit)\
**Post date:** [October 19, 2026, 6:37pm UTC](https://forum.babylonjs.com/t/shu-chess-devlog/63909/17 "2026-10-19T18:37:02Z")

</div>

What’s new in 0.14.3:

- Contrast 2D pieces
- Gamepad support (just for play on one TV-set together without PC)
- Animated settles of pieces

 ![image](https://us1.discourse-cdn.com/flex024/uploads/babylonjs/original/3X/b/c/bc7ff62541188f082ede997de6127ebb440a34cf.jpeg)

---

<div class="post-metadata">

**Author:** ![onekit](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/onekit/32/49527_2.png) [@onekit](https://forum.babylonjs.com/u/onekit)\
**Post date:** [November 8, 2026, 8:02pm UTC](https://forum.babylonjs.com/t/shu-chess-devlog/63909/18 "2026-11-08T20:02:52Z")

</div>

What’s new in 0.16.2:

- Chapaev game mode 😁

On my mobile phone:

[![](https://img.youtube.com/vi/GyUt-C_W13I/maxresdefault.jpg "shuchess.com Chapaev's chess mode") ](https://www.youtube.com/watch?v=GyUt-C_W13I)

On desktop side:

[![](https://img.youtube.com/vi/7pRGzDuwmeI/maxresdefault.jpg "Режим "Шахматного Чапаева" в Шу Шахматах") ](https://www.youtube.com/watch?v=7pRGzDuwmeI)

If you want to play classic Chess, just make sure the opponent you pick in the lobby isn’t wearing a Chapaev hat.

---

<div class="post-metadata">

**Author:** ![blenser4](https://avatars.discourse-cdn.com/v4/letter/b/bbce88/32.png) [@blenser4](https://forum.babylonjs.com/u/blenser4)\
**Post date:** [November 9, 2026, 12:08am UTC](https://forum.babylonjs.com/t/shu-chess-devlog/63909/19 "2026-11-09T00:08:43Z")

</div>

The Chapaev mode sounds like a fun twist on a familiar game, and I like that it works on mobile too. The board looks clear and inviting, so I hope more people try a quick game.

---

<div class="post-metadata">

**Author:** ![onekit](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/onekit/32/49527_2.png) [@onekit](https://forum.babylonjs.com/u/onekit)\
**Post date:** [November 9, 2026, 12:30am UTC](https://forum.babylonjs.com/t/shu-chess-devlog/63909/20 "2026-11-09T00:30:52Z")

</div>

These are my own childhood memories from the mid-80s. When kids didn’t know the rules, chess or checkers turned into a kind of billiards. That’s why the kings and queens always had their tops chipped off. 😁

Story:  
[https://en.wikipedia.org/wiki/Chapayev\_(game)](https://en.wikipedia.org/wiki/Chapayev_(game))

[Next page](https://forum.babylonjs.com/t/shu-chess-devlog/63909.md?page=2)
