Tridecco Game

Tridecco Game

4 devlogs
34h 46m
Created by Tony Kan

Tridecco is an engaging online multiplayer puzzle game built with a microservices architecture. Inspired by the 13-sided Einstein shape, the goal is to be the first to clear all your pieces from the board. Players take turns placing pieces, and forming a hexagon earns you an extra move.

Timeline

Fixed a critical issue where the renderer could crash if a new texture pack failed to load during a call to updateTextures. The previous implementation modified the live AssetsManager instance, which could lead to an inconsistent state if the new assets were invalid or unreachable.

Refactors the updateTextures method to use a preload-and-swap strategy. It now creates a temporary AssetsManager instance to load the new textures in the background. Only after the new assets are successfully loaded is the main AssetsManager instance replaced. This ensures that the renderer remains in a stable state and does not crash if a texture update fails.

PR: https://github.com/tridecco/game-board/pull/51

Update attachment

Implemented AI games with multiple difficulty levels based on decision trees and greedy algorithms. Comes with rich animations.

Update attachment

Introduces new public methods to the Renderer for retrieving the canvas coordinates of game elements (getPieceCoordinates and getHexagonCoordinates). To support this cleanly, the renderer's internal coordinate system has been refactored from top-left based to center-point based. This change simplifies rendering calculations and centralizes coordinate logic, improving code maintainability.

Fixed a TypeError in the Renderer.addEventListener method that occurred when the optional options parameter was omitted. The implementation was attempting to access properties on options when it was undefined. Resolves the issue by providing a default empty object ({}) for the options parameter, making it truly optional and preventing the error.

Update attachment