[FINAL] Chaintrap Builders - Cycle 11

Hi @kaereste, thanks and we attempted to make our milestones crystal clear (completion dates, objectives and open source of truth for verification). Since we’re still getting the same error message when trying to edit the proposal, we’re posting our revised milestones below (happy to email the Grants team the entire, revised proposal to publish online if that’s helpful):

Please provide benchmark milestones for this project. These milestones should guide the Optimism community on the progress of your project during the 1-year lock-up period.

  • There is an element of discovery in this proposal. Our benchmarks will benefit from what we discover working with the community. Our critical milestones are defined concretely in terms of things we know we can do now and things which we think make sense. We are very open to course correction from the Optimism builders committee and the community as we deliver the critical milestones - based on review of completed works. The benchmark proposals may be tweaked based on the community’s feedback but here’s how we see it now:
  • Our vision for this project goes much beyond building a simple game. Our ultimate goal is to achieve a toolkit that draws in game developers to build games on Optimism. Chaintrap is one step to help us get there: we see Chaintrap as a way to generate interest from quality game developers and get their feedback. We want to make sure that the toolkit we plan to build meets the needs of game developers looking to build their games on Optimism (and other builders already active on Optimism).
  • Below we included benchmark milestones both for Chaintrap and for the game development toolkit we plan to build.
  • These are the benchmark milestones for Chaintrap:
    • Integrate simple Generative AI capabilities into the end-to-end playable game, allowing players to personalise the visualisation of in-game items and the game environment (see our additional demo posted above (https : // www . youtube . com/watch?v=8dF7j-Zm6Fk) to show the rudimentary GenAI capabilities already built). Expected delivery date: 30 June 2023.
    • Integrate Chaintrap game on testnet with OpenSea. Expected delivery date: 30 November 2023.
    • Bring the Chaintrap game to mainnet by 30 January 2024.
    • We want to attract 500 users to play Chaintrap by the end of the 1-year lock-up period.
  • These are the benchmark milestones for our game development toolkit that we aspire to build out by the end of the 1-year lock-up period:
    • Portability of Optimism-based gaming assets across Optimism-built games. We would like to partner with Optimism game builders to test this. Expected: 30 November 2023.
    • Explore basic form of gaming self-sovereign-identity with social graph to allow game developers to build a community of Optimism-based gamers. We expect that this will build on some of the existing Tools in the Optimism ecosystem and we want to explore possible new tools that we’re excited about. Expected: March 2024.
    • Consider building our own rollup with Conduit once we’ve integrated Chaintrap with mainnet. Expected: March 2024.
    • Basic analytics for both game developers and gamers on Optimism. Expected: April 2024.

Please define critical milestones for this project. Critical milestones are meant to show good-faith efforts to accomplish the project. Non-completion of these milestones could lead to revocation of remaining grant rewards.

Critical milestone 1: Chaintrap-contracts deployed on Optimism testnet and the existing game tests passing.

Measurable outcome: game creation, player registration, player progression and game transcript checking show to work by automated tests running against Optimism testnet.

This critical milestone is about ensuring our current contracts and existing game play work acceptibly on Optimism, before completing the remaining game features.

Will this attract more development ? We think these contracts show the feasibility of developing turn-based and pseudo turn-based games. By starting with a port of what we currently have, we de-risk the further work required to make a completable end-to-end dungeon challenge. We hope this demonstration of a workable on-chain game mechanic will inspire others to try their hand making games for Optimism.

How does this encourage composability: Our base contracts will accept any map from any source. Other builders would be free to interact with our game contracts and supply maps for the game session.

The specific playable aspects of the contracts demonstrated by the integration tests are:

  • game session mint for new map (ERC1155 diamond facet)
  • player registration to participate in game session (game facet)
  • player start position assignment by dungeon host (game facet)
  • game session start by dungeon host
  • player choice of next room (game facet)
  • game master confirmation of player move (game facet)
  • game master completion of game (game facet)
  • game transcript confirmation (transcript facet)

Minor changes will be evident in the following repositories which will be open source at this point.

  • github . com / polysensus / chaintrap-contracts cf2061a593acb592bb60f135ddc353e92ffc7c4b (CURRENT HEAD)
  • github . com / polysensus / chaintrap-arenastate 5a06a8fb55b2dcd7cfb43fa8e1ddae90a5cb0c6f (CURRENT HEAD)

Expected delivery date: 15 June 2023

Critical milestone 2: Chaintrap - add the dungeon exit placement support to contracts and game support library

Measurable outcomes:

  • A ‘victory’ condition is minted to the dungeon host on game creation. (A placeable exit)
  • Using the javascript library, the dungeon host can place this exit in any location before the game starts.
  • The first player to reach the exit wins (halts the game). But note that reward reconciliation will follow in subsequent milestones.

Note: front-end integration not part of this deliverable.

Changes will be evident in the following repositories which will be open source at this point.

  • github . com / polysensus / chaintrap-contracts cf2061a593acb592bb60f135ddc353e92ffc7c4b (CURRENT HEAD)
  • github . com / polysensus / chaintrap-arenastate 5a06a8fb55b2dcd7cfb43fa8e1ddae90a5cb0c6f (CURRENT HEAD)

Expected delivery date: 15 July 2023

Critical milestone 3: Chaintrap - add the ‘death trap’ support to contracts and game support library

Measurable outcomes:

  • Traps are minted to the dungeon host on game session creation
  • Using the javascript library, the dungeon host can place traps before the game session starts.
  • A player can activate a trap (opens chest) and as a consequence is ‘halted’.
  • Note: front-end integration not part of this deliverable

Note for simplicity we are not implementing a full stats/skills/strengths character system. The game will play more like russian roulette - fast and deadly with comical death scenes we hope.

Changes will be evident in the following repositories which will be open source at this point.

  • github . com / polysensus / chaintrap-contracts cf2061a593acb592bb60f135ddc353e92ffc7c4b (CURRENT HEAD)
  • github . com / polysensus / chaintrap-arenastate 5a06a8fb55b2dcd7cfb43fa8e1ddae90a5cb0c6f (CURRENT HEAD)

Expected delivery date: 15 August 2023

Critical milestone 4: Chaintrap - add the ‘bonus life treat’ support to contracts and game support library

Measurable outcomes:

  • Bonus life treats are minted to the dungeon host on game session creation

  • Using the javascript library, the dungeon host can place bonus life treats before the game session starts.

  • A player can activate a treat (opens chest or picks up item) and ‘gain a life’

  • A player can activate a trap (opens chest) and survive the death trap.

  • Note: front-end integration not part of this deliverable

Changes will be evident in the following repositories which will be open source at this point.

  • github . com / polysensus / chaintrap-contracts cf2061a593acb592bb60f135ddc353e92ffc7c4b (CURRENT HEAD)
  • github . com / polysensus / chaintrap-arenastate 5a06a8fb55b2dcd7cfb43fa8e1ddae90a5cb0c6f (CURRENT HEAD)

Expected delivery date: 15 September 2023

Critical milestone 5: Chaintrap - game winner reconciliation

Measurable outcomes:

  • The first player to reach the exit moves the game session into ‘claimable’ state
  • An ERC1155 token is minted representing ownership of game session transcript (all the choices of all the players and the host).
  • The dungeon master must trigger game reconciliation to reclaim their map and the items they placed on it.
  • If all players are dead, the dungeon master also gets the game session NFT.
  • If there is a winner, the winner gets the game session NFT.
  • All of the above will be demonstrable in integration tests in CI/CD targeting Optimism testnet

Changes will be evident in the following repositories which will be open source at this point.

  • github . com / polysensus / chaintrap-contracts cf2061a593acb592bb60f135ddc353e92ffc7c4b (CURRENT HEAD)
  • github . com / polysensus / chaintrap-arenastate 5a06a8fb55b2dcd7cfb43fa8e1ddae90a5cb0c6f (CURRENT HEAD)

Expected delivery date: 15 October 2023

Critical milestone 5: game session setup in front-end technical demonstrator (low fi game client)

Measurable outcomes:

  • The placement of the exit/victory condition, the ‘death trap’ and the ‘free life’ items can be placed in the front-end by the host before the game starts.
  • github . com / polysensus / chaintrap-frontend 70f570d7b7186bd50133d5361503ad1c035d68cc (HEAD)

This repo will be opensourced no later than this milestone but probably before.
We may need fixups and changes in chaintrap-contracts & arenastate.

Expected delivery date: 30 December 2023

Critical milestone 6: game session victory reconciliation integrated in front-end technical demonstrator (low fi game client)

Measurable outcomes:

  • The game host will be able to trigger game session reconciliation by revealing their map.
  • The game host will lose their map and the items minted to them if they do not trigger reconciliation.
  • If the map is invalid on reveal, the game host will (at least) lose their map.

Expected delivery date: 15 February 2024

Critical milestone 7: simple player stats

Measurable outcomes:

  • The contract state will track: #game sessions operated, #bad-maps, #total-players for each account that runs a session.

Expected delivery date: 15 March 2024

3 Likes