Jikaze Updates (2025.04-2025.05)

Published

Catch up on the developments and current state of Jikaze from April 2025 to May 2025.

I have skipped the months of April and May and with my current life obligations, I have decided to provide quarterly updates until further notice. I am only able to have the energy and time to work on Jikaze on weekends primarily. Unfortunately, this means progress will likely be slow but I hope to keep it steady.

Mahjong Assets

Updates for the Mahjong Assets project containing the art assets for Jikaze.

3D

Blender Rendering Engine

The rendering engine in Blender was changed back from Cycles to EEVEE for local system rendering performance. While the default EEVEE settings do not produce high-quality and realistic renders in Blender, it does allow for a faster workflow because it is a real-time renderer.

Tiles

There was a substantial changes to the tiles Blender project to make it more suitable for glTF export and subsequently for use in games. Changing the project to only use a single object mesh and then have the game apply the UV map textures as needed makes it easier to manage the Blender project.

Junk Mat (Table)

The junk mat was exported to a .glb file to use in the game. It uses the standard materials from Blender for simplicity, however, I know this does not look great. It is a placeholder so that focus can be applied toward building out the game first.

Jikaze

What is Jikaze?

From my the Jikaze README:

Jikaze is a client for people to play Mahjong with each other. It is also a server for people that would like to set up their own instance. The goal of Jikaze is to respect your privacy and to make playing Mahjong accessible.

Bevy

Work has started on the client using the Bevy game engine. Bevy 0.16 was released in April and it brought along many improvements and new features. Unfortunately, this release did not include Bevy's Next Generation Scene/UI System and their BSN system. Currently, building UIs in Bevy natively is clunky and limited in features and until their new UI system is available to use, I will not be working on the UI of Jikaze.

UI

I started working on the UI and quickly realized that the UI is difficult to work with. My first quick pass at the main menu looked like the following:

Jikaze main menu in Bevy 0.16

Rendering glTF Models

When I realized that the main menu was not going to be feasible, I scrapped that work and moved onto rendering the 3D models I had made as a demo. I knew that I would eventually be rendering and animating them in the future so the first step was to just get them to render in the game.

First, I created basic colourful spheres to make sure that the camera and lighting were set up correctly. Next, I rendered a single tile and applied a tile texture.

Finally, I worked on loading in the junk mat table.

Jikaze in-game junk mat and tiles

Next Steps

I will continue working with Bevy and see if I can get collision detection and basic physics implemented for the tiles to interact with the table.


If you're interested in this project, please consider starring the Jikaze and Mahjong Assets projects or getting involved! I will be more than happy to answer your questions or reviewing pull requests.

You can also find me on Matrix in the #jikaze:matrix.org room.

I have Liberapay and Open Collective pages where you can help sponsor development of the project.

Thank you for reading this update in Jikaze!