Contact Details:
- Telegram: jimjimeth
- Signal: jimjim.69
- Email: jjvalkema@protonmail.com
Summary:
We want to port Dark Forest and maintain as many of the features, plugins and look and feel of the game. Our approach is to re-use the existing UI by creating an adapter layer that plugs in the contract through Aztec.js. This way we can support the existing plugins and tx queue system out of the box.
Our team has already been building on Aztec for/over the past 9 months, and have gained deep technical knowledge and experience.
We are also fluent in Circom, Solidity, TypeScript, and Noir. And have experience with WebGL and playing Dark Forest in the past ![]()
In short our approach:
- Re-create game logic in an Aztec contract
- Adapt to the existing Dark Forest Hardhat e2e tests to Aztec
- Create an adapter so the frontend can connect to our Aztec contract
- Document the new Aztec contract implementation and setup instructions
- Optimize the game rendering for large maps (as a stretch goal)
- Configure a new modern LLM for the interactive artifacts (as a stretch goal)
Timeline:
- Start: ASAP (target Jan 15, 2026)
- Tech demo before EthDenver (18 February)
- Functional MVP (Mar 22, 2026)
- Post-deadline competitive community round (after 22 march-TBD)
Our Team
- Ben Green, web developer with over a decade of experience in Web2/Web3
- Creator of Circuitscan.org visualization tool for Circom circuit verifiers deployed in Solidity contracts, recipient of $30k EF grant, $10k Octant grant
- Created port of NTRU post-quantum asymmetric encryption in Circom and JavaScript from Python reference GitHub - numtel/ntru-circom: NTRU (post-quantum asymmetric lattice) encryption in Javascript and Circom
- Created implementation of indexed merkle tree library for private state in Noir circuits GitHub - numtel/indexed-merkle-noir: Indexed Merkle Trees in Noir and Javascript
- Creator of WebGL game engine for maps created in Tiled Map Editor (mapeditor.org) GitHub - numtel/webgl-isometric: Orthographic (not isometric) view game engine from Tiled maps
- Most recently, experimenting with WebGL shaders and device orientation events (Android only) for intriguing effects transimminent.world https://latenightsketches.com/
- Full portfolio https://numtel.github.io/
- Jimjim Valkema, fullstack developer:
- Round 3 Dark Forest winner (#50): Dark Forest
- 1.5 years experience Noir.
- 4 years experience solidity
- 9 months experience building on Aztec
- Projects:
- Warptoad a crosschain privacy protocol for L2 and Aztec: https://warptoad.xyz/
- An alternative implementation of EIP7503 in Noir+solidity that enables partial spends: https://eip7503-erc20.jimjim.dev/
- A storage prover of scrolls alternative state tree (zktrie) in Noir: https://github.com/jimjimvalkema/scrollZkStorageProofs/
- An automatic topup for gnosis pay users using their Aave balance/debt: https://github.com/jimjimvalkema/uppies
- Danish Kiani, fullstack developer
- Background
- Former Head of Web3 at Byte5 GmbH integrated Web3 components into existing Web2 e-commerce stacks and contributed to an SSI/DID product.
- Strong product mindset: comfortable owning end-to-end delivery (smart contracts + frontend + integration).
- Aztec (Aztec.js / Aztec): ~8 months hands-on experience; currently building with the ecosystem as part of WarpToad (~0.5 years)
- Noir: ~6 months building circuits and proving flows.
- Game design & development: ~1.5 years during Time-Based Media studies. Experience with Godot, Unity, Unreal (iteration speed, UX feel, and gameplay systems).
- Pixel Royale — on-chain battle royale / generative game mechanics with pseudo-random elements (mainnet contract):
- On-chain generative art work (3D + 2D): CypherWorms, Envoverse, OCB (contracts + rendering + trait systems).
- Schwarzschild: EIP-7503 + stealth addresses implementation (hackathon project)
- Academic delivery track record: graduated with a 1.0 bachelor thesis building an Artificial Content Creator (custom-trained LLM + Stable Diffusion models, end-to-end pipeline, 2023).
- Background
Technical Approach:
- Noir-based Aztec smart contracts
- Re-create circuits and contract logic in an Aztec contract
- Use same MIMC sponge hash as provided by this Noir library GitHub - noir-lang/mimc
- Make all transferable, non-fungible assets, Wonderland standard nft Tokens (planets, artefacts, etc)
GitHub - defi-wonderland/aztec-standards: Comprehensive collection of reusable, standardized contracts for the Aztec Network
- Frontend architecture and integration strategy
- Reuse the existing frontend, create ts/js adapters for contract reads/writes to the contract on Aztec
- Maintain and test plugin compatibility
- Build a strategy to replace the subgraph system for syncing planets
- Testing and documentation plan
- Create reference documentation of all Circom circuits and differences between the Aztec contract.
- Translate Hardhat tests of the Solidity contracts into Noir for the Aztec contracts
- Add deployment and local sandbox instructions.
- Innovations and optimizations
- Optimize the rendering for large maps
- Use modern LLMs for the interactive artifacts: Announcing Dark Forest v0.6 | Dark Forest Blog
Grant Milestones and Roadmap:
- 3-5 key milestones to MVP (functional game on Aztec)
- Aztec contracts (1-2 weeks)
- Created Aztec contracts
- Document differences with original Circom circuits / Solidity contracts
- Deploy scripts
- Pass tests (~1 week)
- Translate original tests
- Translate frontend interface
- Have a tech demo ready for ETH Denver (we will be there!
), 18 February (1-2 weeks)
- Frontend modified to connect to Aztec backend, fully playable
- Just usable with taking over simple planets
- Make feature complete (1 week)
- Add items like: Spaceships, Artifacts, silver, etc
- Planet types: Foundries, Spacetime rips, biomes
- Extra Infrastructure (2 weeks)
- Speed up syncing game state
- Plugin marketplace
- Artifact marketplace
- Doing 3 competitive rounds on Aztec alpha (3 weeks)(after March 22)
- Community: Twitter, Discord, support
- 2 competitive round with a prize pool
- Leaderboard
- Aztec contracts (1-2 weeks)
- 2-3 stretch goals
- Modern LLM for the interactive AI NFTs
- Optimizations for rendering large maps
- Create content: tutorials, gameplay, livestream.
Grant Budget Rationale
Total grant amount tequested: $75,000
- The team (3 fulltime devs 3 months $20,000 each):
- Jimjim fulltime backend dev: Aztec contracts, Aztec testing, documentation, research, Aztec.js integration.
- Ben fulltime fullstack dev: Aztec testing, translation/documentation of Circom circuits, translation of frontend and tests, optimization on rendering WebGL
- Danish fulltime fullstack dev: indexing and infra, frontend-end, documentation, community, WebGL
- Miscellaneous funding ($13,000)
- Extra funding for potential content creators
- Community manager
- Commissions for example: creating art for planet hats

- Hosting infrastructure
- Competitive round prize pool
- 1st round no prizes
- 2nd round: $500
- 3rd round: $1,500
Deliverables Breakdown
- Aztec contracts
- Convert 5 Circom circuits: Init, Move, Biomebase, Reveal, Whitelist
- Create the public state / functions
- Deploy scripts for aztec testnet
- Tests and documentation
- Documentation of the Aztec contract and differences to Circom and solidity contracts
- Rewire test for the Aztec contracts
- Document setup, deploying, tests, etc
- Frontend contract interaction rewiring
- Update reads in ContractsAPI.ts
- Update 17 contract writes in GameManager.ts
- Update 8 contract writes in Admin-Controls.ts
- Update 1 contract write in CreateLobby.tsx
Questions
- Scalability of Aztec.js logs: We have a large amount of game state that needs to be synced and we might need to have something similar to subgraphs on Aztec.