Urgent.News

What's breaking now, across thousands of outlets.

Tech

Building BlockMyBlocks: A balance game for all ages

BlockMyBlocks is out now on Web, iOS, Android. This is how it got made: the decisions, the pipeline, and what I would do differently. What it is A balance game for all ages. Stack the pieces on a deck that tips, hold it steady, and keep going — the levels never run out. Stack the pieces on a deck that tips, hold it steady, and keep going — the levels never run out. Determinism and golden tests…

BlockMyBlocks is a balance game for all ages that can be played on Web, iOS, and Android platforms. The game involves stacking pieces on a deck that tips, requiring players to hold steady and keep going as the levels never run out. The game engine is pure and deterministic, with time and seed as parameters, enabling strong cheap testing through the catch-up law.

This allows simulating state with arbitrary splits and ensures offline catch-up, tab restore, and server ticks maintain accuracy. The game incorporates golden files to store seed, state, actions, and expected outcomes, with golden files testing any sim changes. The game focuses on small but adversarial scenarios, including empty worlds, dense worlds, stressed subsystems, and long-horizon runs.

Cross-runtime determinism is maintained by ensuring the browser smoke computes the same hashes as the server. Performance is optimized by limiting per-frame allocation, using pre-parsed constants, and gating geometry rebuilds on content signatures. Debug handles are accessible through window.game, providing detailed metrics. The game is recommended to be integrated with generic meta-game sets and game-specific collections for seamless payments, social, and live-ops code.

Timestamps are in epoch-ms format, and collections maintain consistent fields such as account ID, display name, provider, email, locale, and more. All messages go through a validator function in shared/protocol.mjs, enforcing a whitelist of fields for both client and server. If any message fails validation, the socket is closed, and unknown fields are dropped. The game is live at https://ddkits.github.io/block-my-blocks.

Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.

Read the original at dev.to →

More in Tech

Does an LSP help a coding agent?

It was a busy weekend with all the activity coming out of OpenAI. If you have been living under a rock, they introduced a new class of model, GPT 6 - Astra . I've been playing around with it somewhat.

More from Tuesday 8 September →