Skip to content

Blokaz submission for gj8#290

Merged
kronosapiens merged 1 commit into
dojoengine:mainfrom
Samuel1-ona:blokaz-submission
Mar 11, 2026
Merged

Blokaz submission for gj8#290
kronosapiens merged 1 commit into
dojoengine:mainfrom
Samuel1-ona:blokaz-submission

Conversation

@Samuel1-ona
Copy link
Copy Markdown
Contributor

@Samuel1-ona Samuel1-ona commented Mar 8, 2026

A fully onchain block puzzle game on Starknet, built with the Embeddable Game Standard (EGS).

Blokaz is a Block Blast-style puzzle game where players place pieces on a 9x9 grid, clear rows and columns, chain combos, and compete for the highest score — all executed as Starknet transactions.

Players mint a game token (NFT) to start playing. The token holds their entire game state onchain: the board, score, combo streak, and available pieces. When the game ends, the score lives permanently on the token—a provable, composable achievement.

blokaz Source Code

blokaz.vercel.app

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Mar 9, 2026

Submission Screening

🚨 Flagged for Manual Review

Project: Blokaz
Repository: https://github.com/Samuel1-ona/Blokaz

Dojo Usage: No Dojo annotations (#[dojo::model], #[dojo::contract], #[dojo::event]) were found in any Cairo file, and no @dojoengine/* packages are imported in the frontend. The contracts use the Embeddable Game Standard (EGS) from Provable Games (game_components_embeddable_game_standard) with plain #[starknet::contract] — not the Dojo engine. The manifest_dev.json and dojo_dev.toml present in the repo are leftover Dojo starter template files unrelated to the actual game.

Client-Contract Integration: Strong integration — the contracts are the source of truth. The client calls start_game, place_block, and delete_block on-chain, waits for transaction confirmation, then reads authoritative state back via syncFromChain() (reading grid, score, combo, game-over from the contract). There is an optimistic visual color update on block placement, but all game state is always reconciled from the chain after each transaction, including on failure. Contract addresses are real Sepolia hex values (not placeholders).

Cartridge Controller: Properly integrated — @cartridge/connector is installed and ControllerConnector is instantiated in StarknetProvider.tsx with full session policies scoped to start_game, place_block, and delete_block on the deployed Blokaz contract. The connector is actively used for player authentication.

Timeline: 25 of 30 commits fall within the jam window (83% jam ratio) — full submission. The earliest commits (project/client scaffolding) are from March 5 UTC, just hours before the buffered jam start; all substantial gameplay, integration, and UI work was done during the jam.

Frontmatter: None found.


Flag reason: The project does not use the Dojo engine. The Cairo contracts rely on the Embeddable Game Standard (EGS) from Provable Games and standard Starknet contract primitives — there are no Dojo models, Dojo contracts, or Dojo events. The frontend imports no @dojoengine/* packages. A maintainer should determine whether EGS-based submissions satisfy the jam's Dojo Engine requirement.


Automated screening — a maintainer will perform final review.

@kronosapiens
Copy link
Copy Markdown
Collaborator

Since this doesn't use Dojo, we're not going to include it in the main prize category, but we'll let the team decide whether or not to consider it for the EGS track.

@Samuel1-ona
Copy link
Copy Markdown
Contributor Author

Samuel1-ona commented Mar 10, 2026

@kronosapiens Alright, though we thought that the implementation of EGS was standalone. However, after the judging period we are going to fully implement the dojo compatibility into the game.

@kronosapiens
Copy link
Copy Markdown
Collaborator

I understand. I think it's ok if we allow it this time, although I suspect the judges will give you a lower score because of the missing Dojo usage.

@kronosapiens kronosapiens merged commit ab33839 into dojoengine:main Mar 11, 2026
1 check failed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants