[FINAL] Chaintrap Builders - Cycle 11

Builders Proposal Form

Basic Details

Project name: Chaintrap: bringing a simple dungeon game to Optimism testnet

Author name and forum name (please provide a reliable point of contact for the project):

Robin Bryce and Ann Sofie Cloots (TG: ann_so_330)

L2 recipient address:

0xb053216998E4E11c655e3C9CEe086Bf3cc7c8Ed7

Which Voting Cycle are you applying for?: Cycle 11

I confirm that I have read the landing pages for the Builders 7 and Growth Experiments 10 Sub-Committees and that I have determined my proposal is best suited to be reviewed by the Builders Sub-Committee: Yes

Project Details

What are you going to build?:

We will bring a simple dungeon game, Chaintrap, to Optimism Goerli. We are requesting a modest grant to achieve this. After the successful completion of this project, we anticipate to be well-positioned first (1) to deploy Chaintrap to mainnet and then (2) to bring a more ambitious project to Optimism: our ultimate goal is to build a multi-chain game development platform. With this project, we take a modest first step towards that ultimate goal.

Why propose a simple game project if our end-goal is to build an on-chain game development platform, you may wonder?

Chaintrap, our dungeon game, will serve as a laboratory to understand the needs of game developers building on-chain as well as the preferences of players. It will include what we think are a number of cool new features that on-chain gaming offers, which we hope will convince a greater number of game developers to integrate on-chain features into their games. Building this game on Optimism Goerli will help us make sure we are building what Optimism’s (gaming) community needs the most.

Chaintrap will use ERC-1155 (multi token) and ERC-2535 (diamond proxy) contracts in combination with decentralized storage approaches (such as IPFS or Arweave) as the basis for game and game content ownership.

It will showcase simple uses of both generative AI and VRF-seeded procedural generation. The VRF procedural generation is used to make dungeon maps which are entirely navigable on-chain and which the creator can demonstrate authorship for. The generative AI is used to enable easy personalisation of the created maps and in-game items. We intend to take that further in time (beyond the scope of this particular project) to include content beyond the pre-production demonstrator level envisaged in this project.

Chaintrap’s gameplay is based around a ‘commit /reveal’ model. The dungeon creator hosts a session and in classic “D&D” style tells players the consequences of each move or turn. At the end of play, the map and its configured traps and rewards are revealed. A transcript of all dungeon master statements and player choices is compared against the revealed map and rewards or penalties are handed out accordingly.

The map, each game session transcript, dungeon traps and rewards are all minted on an ERC-1155 contract. Winning the game grants ownership of the record of victory (“You got minted, mate!”). Hang the record of your victory on your wall forever.

We feel that this relatively simple offering gives us a way to focus clearly on the needs of players and gives us visceral experience of the pain points of developers, even those who may not care one way or another about blockchain. Illustrating these mechanics in a simple game is a stepping stone to producing a platform and SDK which generalises these facilities for on-chain games.

We operate our own SAAS to host content generation services for convenience. To provide trust in the generation we plan to open source the (deterministic) generation tool.

As part of our journey we looked hard at alternate consensus approaches that could better meet the needs of on-chain gaming. While advancing this is not our focus, we currently host a test net operating our implementation of “Robust Round Robin” consensus. The demo we have currently can run on this network and on Polygon (which, as our demo shows, makes the game look broken), and - we expect - any ethereum-compatible chain. See our recent video for a fun comparison: Polysensus Chaintrap game demo - YouTube.

Why is what you are going to build going to succeed?:

Commercially, we think what we’re building will succeed because there is a growing demand for gaming infrastructure that is scalable, convenient and allows for innovative gameplay. The boost in recent investment in on-chain gaming infrastructure confirms our hypothesis. Portability of in-game assets does not sit well with siloed infrastructure and Optimism’s multichain future makes our vision of ‘magic sword portability’ possible. We’ve done initial market research to understand the needs of game developers considering (even if reluctantly) on-chain functionality to create fun game play. One in which gamers are not passive recipients but actively interact and reap benefits from their gameplay. Our approach of building a simple game ourselves in order to engage with and understand the needs of game developers (those already building on Optimism or not) is the best way to ensure we build what the community needs.

Technically, we think what we’re building will succeed because we have spent months playing with smart contract functionality and are now looking for a suitable L2 home for our Chaintrap contracts. We have the in-house expertise to make this work (technical blockchain and gaming expertise). And again, we think our project has a much better chance of succeeding by working bottom-up, starting with a simple game and tweaking it based on feedback from developers and gamers, to create the infrastructure platform for game developers that we envisage building beyond this project.

Is your project likely to bring new builders to the Optimism ecosystem? If so, please describe how:

Yes, for two reasons.

First, we bring a simple cool game to Optimism Goerli. Our game (Chaintrap) will show builders that on-chain gaming on Optimism is feasible and fun. Regardless of our success with Chaintrap, it will inspire other builders to start building games on Optimism too.

Second, after we successfully complete this grant deliverable, we plan to (1) bring Chaintrap to mainnet and then (2) gradually build out an on-ramp for game developers who find it hard to make their own ramp for on-chain gaming. This platform will over time give builders the tools they need to make their games. Using the Superchain, builders will be able to make ‘magic sword portability’ come true. Initial tooling we anticipate is minting various game-related NFTs (from gaming maps to in-game assets, using ERC-1155 for fungible game assets and ERC-2535 to compose upgradable game and platform features) and the SDKs that developers need to start building their own dungeon game and, at a later stage, more sophisticated games.

Small and independent game developers in particular would benefit from the platform we ultimately plan to build, starting with Optimism Goerli and then mainnet: the more simple tooling we can offer them to make their dream games come alive, the more they can focus on what they love doing most: creating fun games.

Is your project likely to improve the quality of developers in the Optimism ecosystem? If so, please describe how:

We believe it will.

We have quality in-house technical expertise and we believe this will attract other quality developers. With this project, we will show a simple game with quality smart contracts that are for the most part publicly accessible in our Github repository. We believe this will attract developers seeking quality contracts that can be used to build other games.

We’ve seen many game developers (and players) reluctant to embrace blockchain, for a variety of reasons. Even those who do embrace on-chain gaming have mostly built on networks other than Optimism [Source: DappRadar, on-chain games ranking - https://dappradar.com/rankings/category/games]. With this project we hope we can convince more game developers to choose Optimism. With years of in-house blockchain experience and months of working on Chaintrap smart contract functionality, we hope to convince quality developers that they, too, can build quality game contracts on Optimism that bring back the fun to on-chain gaming.

Is your project likely to improve the commitment of developers in the Optimism ecosystem? If so, please describe how:

We think it will.

Improving commitment from developers requires giving them the tools to build effortlessly and conveniently on Optimism and using Superchain to build out the multi-chain future that awaits us. Our project is one modest contribution towards that goal. Chaintrap itself will offer developers an easy template to explore their own on-chain gameplay. After the successful completion of the grant deliverable, and after bringing the game to mainnet, we will gradually build out a full-suite game development platform, expanding from Optimism into that multi-chain future. This long-term goal will further increase the commitment of developers to build their games on Optimism: the easier we can make it for them, the greater their commitment to start their journey with us from the Optimism homebase.

We see our project as a modest contribution towards an Optimism ecosystem that developers can rely on to build anything they wish - including fun on-chain games and ‘magic sword portability’.

Provide us with links to any of the following for the project:

Do you have any metrics on the project currently? (TVL, transactions, volume, unique addresses, etc. Optimism metrics preferred; please link to public sources such as Dune Analytics, etc.):

No, we do not have metrics yet: this project proposes to bring a new game to Optimism Goerli, which has not yet been deployed.

Who are your competitors?:

The competitive landscape of on-chain gaming is changing fast.

Our closest competitors are existing web3 game development platforms, although most are not currently active on Optimism.

  • Immutable X: Our project is different as it (i) builds cross-chain capacity into its core design through the Superchain capabilities in combination with a bespoke gaming-friendly chain (which, unlike Immutable X’s solution, does not rely on zero knowledge technology to scale: although zk tech is promising, at this stage of development we prefer an offering not reliant on it), which we believe is a core need for web3 game builders; and (ii) embeds AI tooling into its core design, in order to offer independent and small scale game developers with tight budgets a convenient solution.

  • Mythical Games: full-service platform for on-chain game developers on permissioned EOS blockchain with Ethereum bridge. We prefer to build on permissionless infrastructure: a key web3 need. Mythical does not have cross-chain offering nor AI integration at present as far as we are aware.

  • Ultra.io: blockchain game development platform, not yet functional. No cross-chain and AI capabilities at present as far as we are aware.

Other companies offer monetization opportunities through basic blockchain options (marketplace, wallet, NFT minting). We envisage as our ultimate goal a full-suite platform that helps build a web3 game (and adding AI tooling). These companies could nevertheless expand their services and become competitors:

  • Horizon Blockchain Games: wallet integration and other monetization tooling.

  • Fractal.is: web2.5 game developer tools but focused on game asset trading and gamer tournaments.

  • Intella X: Proof-of-Contribution protocol economics through native token, heavy focus on trading, NFT minting and GameFi.

  • Altura: focuses on monetization of games through basic blockchain integration. Not a full-scale web3 game development platform.

  • Recently announced partnership between MetaMask x Unity and Infura: this shows traction of web3 (or at least web 2.5) gaming. As a web3 native team with extensive gaming background we see our opportunity in enabling uniquely web3 gaming experiences. We are excited to see Unity making traditional gaming content more available to web3.

Web3 game developers and gaming studios, which could vertically integrate and become a competitor:

  • Revolving Games (web3 gaming studio); Metatheory, Playmint, Xterio (building web3 games) and others.

Our closest competitor active on Optimism is Sequence (https://sequence.xyz/), which is not Optimism-native.

We also anticipate competition from web2 gaming companies entering the web3 space (see for example the recent partnership between Unity, MetaMask and Infura).

What differentiates you from your competitors?:

The key differences with our main competitors outside of Optimism are laid out above. In summary: our ambitions differ because (1) we don’t focus on just economics or trading but on fun and innovative gameplay opportunities that blockchain can offer (such as commit/reveal for game maps or the ability to capture your game victory as a token), (2) generative AI tools that help game developers, in particular small developers, to focus on what they love most (coming up with awesome game plots) and easily turn it into a playable game, (3) build on existing game-friendly L2 infrastructure from Optimism rather than creating yet another L1 or L2, with embedded multi-chain possibilities to ensure ‘magic sword portability’.

We differ from Sequencer in our focus on becoming an Optimism-native platform that is focused on gaming needs. We will also build out basic generative AI functionality in this project (and plan to expand it post-project). Finally, we think some of our Chaintrap features (commit/reveal of dungeon maps and other features) are new and exciting and this (and future features to be built post-project) will set us apart from existing competitors.

Will your project be composable with other projects on Optimism? If so, please explain:

Yes. We see two steps in composability.

For this specific project, we will make part of our code publicly accessible under a standard open licence so that others in the Optimism ecosystem can learn from, and build on, it. Especially those Optimism projects offering NFT collections that could be turned into Optimism-based games may find this beneficial.

Beyond the deliverables of this project, we anticipate that our ultimate goal of offering an Optimism-native web3 game development platform will offer many more composability opportunities. The most straightforward integration is with existing Optimism games, who could use our platform for additional gameplay features. Optimism-native NFT collections or marketplaces are a second composability avenue. We also see composability opportunities with Circular Art’s generative AI tools, fiat on-and off-ramps provided by Kado and web3 domains offered by Punk. Finally, we can offer composability with general cross-chain building tools from Alchemy and Tenderly, for example, for Optimism-based applications.

Team

Who are your founders?:

Robin Bryce, founder and CTO

Dr. Ann Sofie Cloots, co-founder and CEO.

What makes your founders well-positioned to accomplish your goals with this project (1-2 sentences on each)?:

We combine years of technical expertise on blockchain technology and a deep understanding of the web3 commercial landscape.

Our co-founder CTO is Principal Engineer at an award-winning UK technology company, leading its ledger technology operations and development in production for 2+ years and named as inventor on its blockchain patent. Several years of experience in secure distributed systems, IoT and online gaming, credited on 7 triple A games, computer graphics specialist and freelance project member for technology and digital security companies.

Our co-founder CEO has been actively working in and researching the blockchain industry for several years (recently mostly DeFi and DAO related work). She has extensive commercial knowledge about the web3 space, including infrastructure gaps, the competitive landscape and potential partners.

Tell us about the rest of your team (if there are more teammates):

Dr. Mansoor Ahmed-Rengers (blockchain advisor). PhD in computer science and postdoctoral researcher (security and blockchain consensus models), University of Cambridge. Experience as security engineer, with several academic papers on digital assets and blockchain. Mansoor contributes valuable experience in blockchain, AI and entrepreneurship.

Is this your first Web3 project?: It is our first Web3 project involving an app. Our RRR testnet is Web3-compatible, although we have not deployed it commercially.

** If not, what else have you built? (Share links, Github repository, or any other useful information.):**

I understand that Builders grants are subject to a 1 year lock-up, as explained further in this post 2: Yes

**Is your project funded? If so, provide an estimate of how many months of funding runway your project has: ** We are self-funded at the moment but have applied for a public grant.

Grant Request

What is the size of the grant request?

10,000 OP

How do you justify the size of the grant?

This is a modest grant request, proportionate to the stage of our team and the proposed project.

This modest grant will help us make Chaintrap an end-to-end playable game on Optimism’s testnet. It is sufficient to deliver the critical milestones described below and we are not asking for more than required for our described contribution to the Optimism ecosystem.

We prefer to ask for a small grant for this modest step rather than asking for more and overpromising. After the successful completion of this grant, the Optimism community can decide whether it wants to fund any follow-up grants we may apply for.

We plan to deploy to mainnet as a next step, once this project has been successfully completed.

Roadmap

Describe in discrete steps your plan for accomplishing your project:

Our key aim of this project is to have an end-to-end playable game (Chaintrap) brought to Optimism’s testnet.

This requires making the existing contracts work on the testnet and doing the additional work required to make Chaintrap a simple but end-to-end playable game. Both steps require more smart contract work and testing.

We will integrate basic generative AI capabilities to provide an illustration of user-personalized content for an Optimism-native game.

We then plan to add an OpenSea integration for the NFTs created for Chaintrap gameplay: a game NFT will automatically be listed on OpenSea, with a token logo created using generative AI.

We also like to verify our contracts: we see this as an important step to launch Chaintrap on Mainnet post-project.

As to the code we plan currently have and plans to open source our code:

  • The repository with the ERC1155 & ERC2535 based smart contracts implementing the on-chain game logic will be open sourced. The repository will have a full suite unit tests, integration tests, automated CI/CD, and adequate source level documentation. Licence TBD, but GPL or MIT likely. The repo is currently private, but will become public and open source as part of this project. We anticipate open sourcing it early in the project. The contracts do not yet support a fully completable game. Making the game a completable experience on OPTIMISM (testnet) would be a deliverable for this project. https://github.com/polysensus/chaintrap-contracts head commit cf2061a593acb592bb60f135ddc353e92ffc7c4b

  • We have a Java Script game support library for Chaintrap. Its purpose is to provide a game state management layer for clients. We have a command line client and a web3 application using it. Automated testing and adequate source level documentation will be included in the deliverable. This will be open sourced and MIT as part of this project. We anticipate open sourcing it early. If it impacts our application we can do so now. Changes to support Optimism may be required here. Changes to support a completable game experience will be required. https://github.com/polysensus/chaintrap-arenastate head commit 5a06a8fb55b2dcd7cfb43fa8e1ddae90a5cb0c6f

  • We have a web3 client (the one in our demo video) which we are happy to opensource (also MIT). However, we see this more as a technical demonstrator than a production ready game experience. Again automated testing and adequate source level documentation provided. Crucially though it will be capable of demonstrating the full game experience. Simple isometric dungeon rendering for the player view, top down plan views for creation and dungeon management for the game host. https://github.com/polysensus/chaintrap-frontend head commit 70f570d7b7186bd50133d5361503ad1c035d68cc

  • Other repositories required by the game are already open source. We don’t anticipate much further development is required in these to support this project.

  • The repositories underpinning the backend infrastructure and operations are closed source and we consider these outside the scope of this project.

Please provide any additional information that will facilitate accountability:(smart contracts addresses relevant to the proposal, relevant organizational wallet addresses, etc.) See links to our code listed above.

Does your plan depend on the receipt of OP tokens?: No.

What is your plan for the use of the OP token after the 1 year lock-up?:

We anticipate a split, with part of the OP tokens (approximately 65%) for the team and the remainder (approximately 35%) for user incentives.

The 35% of tokens allocated to user incentives can be distributed in different ways. We plan to use them to incentivise a creator economy by passing tokens onto dungeon creators and dungeon masters. We think they demonstrate a longer-term commitment and therefore we believe distributing OP tokens to them makes sense.

Our proposed distribution is roughly:

  • 15% of tokens to be allocated to gamers willing to be alpha- and beta-testers of Chaintrap building dungeons and hosting sessions who provide the most valuable feedback on how to improve the game and its integration within the Optimism ecosystem, at the stage of Goerli integration.

  • The remaining 20% to be allocated to users who help us improve on the game and its integration within the Optimism ecosystem. Based on the feedback from early adopters (at the Goerli testnet stage), we plan to set a number of small challenges to help us address the suggestions made by the community. We plan to issue a mini-bounty for every such challenge that is successfully completed by a community member. For example, if initial user feedback suggests in-game items from Chaintrap would benefit from NFT lending (for composability to transport those game items to other Optimism-based games), a challenge could be to help us connect Chaintrap to Backed.

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.

In addition to the critical milestones listed below, we want to achieve the following benchmark milestones:

  • 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. Expected delivery date 30 May 2023

  • Integrate Chaintrap game with OpenSea. Expected delivery date: 31 August 2023.

We do not expect these benchmarks to take a full year to be accomplished. Our aim is to have them accomplished within 4-5 months after the start of the project.

  • We want to attract 500 users to play Chaintrap by the end of the 1-year lock-up period.

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.

End-to-end playable game on-chain (testnet) interacting directly with the smart contracts via a Java Script library that will be open-source. This will be delivered in less than a year (expected: approximately 3-4 months).

This will involve:

  • Integrating tests in the application library showing an end-to-end playthrough of the game as part of automated testing which we will be operating on Hardhat. Expected delivery date: 30 June 2023.

  • Same as above (integrating tests in the application library showing an end-to-end playthrough of the game as part of automated testing) but operating on Optimism testnet (Goerli). Expected delivery date: 15 August 2023.

  • Open source the repository with the ERC1155 & ERC2535 based smart contracts implementing the on-chain game logic. This will include full suite unit tests, integration tests, automated CI/CD, and adequate source level documentation. Expected delivery date: 15 August 2023 at the latest (likely earlier).

  • Open source the Java Script game support library for Chaintrap. This will include automated testing and adequate source level documentation. Expected delivery date: 15 August 2023 at the latest (likely earlier).

Optimism Relationship

Does your project solve a problem for the Optimism ecosystem?:

Yes: it will boost Optimism’s appeal for on-chain game developers and help it become more widely used for web3 (or web2.5) gaming.

How does your proposal offer a value proposition solving the above problem?:

It’s a modest grant request to showcase a simple dungeon game on Optimism testnet as a first step towards building out gaming-friendly infrastructure on Optimism Mainnet.

Why will this solution be a source of growth for the Optimism ecosystem?:

It will help create infrastructure that various other builders can use to make their own games on Optimism. Web3 gaming is a promising area of growth within the wider crypto sector and our project can give builders a taste of the possibilities of Optimism-native gaming capabilities.

How committed are you (and your team) to building on Optimism?:

We have considered various options, including building out our own gaming-friendly mainnet (which we currently run as a testnet but we prefer to build our platform on an existing L2) and Polygon, which we decided against as it breaks the gameplay. We want to launch our platform on Optimism as it is a very promising L2 for the type of on-chain gaming infrastructure we intend to build. The Superchain is particularly appealing to us for this goal of creating a multichain web3 game development platform in the near future.

Is your project Optimism Native?: yes

Confirmations

I understand that I will be required to provide additional KYC information to the Optimism Foundation to receive this grant: Yes

I understand that I will be expected to following the public grant reporting requirements outlined here: Yes

5 Likes

Hey @BlueBlade, giving you a heads up that this will be the formal comms channel with the grant council builders subcommittee, which consists of @Gonna.eth @jackanorak @danelund.eth, and myself. I am your reviewer for the intake / preliminary review phase.

Please note, that in Cycle 11 we require the milestones to be precisely defined into two categories - critical milestones and benchmark milestones as described in Milestone Assessment . Could you please restructure your milestones description to follow this structure?

It would be great if you could also specify which parts of your project are going to be open source and which are going to be proprietary. I would also appreciate it if you could specify what exactly is already done in terms of what you plan to deliver and what needs to be still developed - what exact outcomes (code/documentation/other) can we expect as a result of this project. Especially, for critical milestones, I would like you to specify the exact deliverables in a way that will be later verifiable if they were delivered or not (please elaborate on the outcomes mentioned in the “plan for accomplishing your project” in the proposal).

You also mentioned that you plan to use ~35% of your grant in order to incentivize users to use your platform - can you elaborate a bit on what exactly are you planning regarding this?

We are completing the preliminary review this Monday, so if you have comments or changes, please add them by Monday and let me and @GrantsOps know in a comment that you have updated the post.

2 Likes

Hi team (and @GrantsOps ), thanks for the comments. We attempted to update the post to address your comments but kept getting the same error message (about new users not being able to insert more than 2 links). We emailed the revised proposal to the Grants team. I hope that suffices (and sorry for the hassle) - do you need anything else from us for the preliminary review?

3 Likes

Thanks to Gonna.eth for a great call yesterday. We showed Gonna a bit more of the game. He suggested we make a video and share it with everyone. Its a bit rough, but we hope that doesn’t detract

Some notes about how we enable players to generate dungeon maps:

  • The generation uses the ‘tinykeep’ model. scatter the rooms, delauny triangulation, minimum spanning tree, corridor placement and routing.
  • The players parameters are fed into a verifiably random function to create a ‘seed’. The map is generated from the seed. Generation is deterministic.
  • We use a VRF so that players can prove ownership of maps even if the parameters are the same.
  • We generate the ‘cover art’ for the game dungeon using DALL-E. We put that in the nft metadata in IPFS
  • The map only goes on chain after the first session is completed by players.
  • The map can be played again. The rooms are now known, but each game the dungeon master can place traps & treats again. And set player start positions.
2 Likes

Hi, @BlueBlade and @robin0f7 , thanks for the previous updates, we are giving some project final suggestions to improve the chances to finish on the top 10 of the final list.

Please verify if your milestones are crystal clear, meaning they have: potential dates of completion, clear objectives to be accomplished, and an open source of truth to verify they are completed.

Please keep in mind that milestones score higher if they are oriented to:

  • Draw more developers to Optimism ecosystem
  • Making the project composable with Optimism ecosystem

The sooner your edits, the greater the chance they will be considered in the final review. We are looking to wrap up on Monday. Please tag me if you make any changes.

2 Likes

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

Hi everyone,

The document at chaintrap-arenastate/op-cm-1.md at main · polysensus/chaintrap-arenastate · GitHub describes critical milestone deliverable 1 for the Polysensus chaintrap builders, cycle 11 grant and provides publicly available references to verify it.

Our main focus of this milestone was open sourcing chaintrap and de-risking the move to optimism by showing our game contracts could successfully operate on optimism test net.

Supplemental to this delivery, we are working up a developer oriented medium post to share our (great!) experience of deploying optimism and the differing approaches of dealing with ‘fog of war’ for games on blockchain. We expect to publish that between now and the next ms.

We are in the process of migrating to a more general merkle trie based model for on chain verification and reconciliation of game play actions. This evolution of our approach should better support our goal of providing a generally useful kit for developing on chain games. This work in progress can be found on the ‘fog-of-war2’ branches of the contracts and arenastate repositories. The next milestone will be based on this work…

We would be very happy to have a call to talk through this submission or follow up with any further material you require.

Kind Regards,

Robin Bryce,

Co-founder & CTO Polysensus Limited

2 Likes

Love the gaming experimentation, especially as a learning tool for other game devs!

I am an Optimism delegate with sufficient voting power, and I believe this proposal is ready to move to a vote

3 Likes

Thankyou so much James. We are having lots of fun in the building. Hoping we can turn that into fun for other devs and players too!

1 Like

Thanks very much, James. Up to the next milestone!

1 Like

Hi everyone,

The document at chaintrap-arenastate/op-cm-2.md describes critical milestone deliverable 2 for the Polysensus chaintrap builders, cycle 11 grant and provides publicly available references to verify it.

Our main focus for this milestone was creating a minimally completable game. We also experimented with a completely new, and much less game specific, mechanism for committing to and verifying valid game maps and placable items.

This is the first deployment with a completable game. Ownership of the game session nft is transfered to the first player to find the finish.

The command line tools for play testing the game the game have been re-worked for the new system.

Supplimentary to our milestones, we are working on a feature to enable more convenient generation and sharing of custom game maps. This can be seen on the maptool-encrypted-blobs-format branch. Also the command line tooling for play testing have been re-worked for the new system.

Oh, and we verified our contracts for this release so the on chain activity should be a bit more interesting now!

See:

And a very short complete game here

The linked op-cm-2.md talks through what is happeing in those events in a little more detail.

Thanks!

Robin Bryce,

Co-founder & CTO Polysensus Limited

1 Like

For posterity, the first ever chaintrap game nft ‘won’ on any ledger - https://testnets.opensea.io/assets/optimism-goerli/0x0c075885e9ebb701997ba3e1b8d291688dc0bcee/1361129467683753853853498429727072845825

2 Likes

Hi everyone,

For Chaintrap Critical Milestone 3 we have added our first trap and introduced deadly peril to chaintrap. A dungeon guardian can chose to add ‘openable chests’ to the dungeon at any location. If a trial participant opens the chest, they are “halted”. Being halted isn’t a good thing!

Milestone Type: Critical
MIlestone: 3
Source of truth: https://github.com/polysensus/chaintrap-arenastate/blob/main/docs/optimism-cycle11-grant/op-cm-3.md

Clearly, until we add ‘nice openable chests’ for the next CMS, nobody is going to be opening any trapped ones!

Writeup and verifiable results are here: https://github.com/polysensus/chaintrap-arenastate/blob/main/docs/optimism-cycle11-grant/op-cm-3.md

We also published part 2 of our “making of chaintrap” series. It seeks to answer both the why and the how (down to the code) of bringing chaintrap to optimism. The how part covers our first take on fog of war on a blockchain and leaves a cliff hanger for how we improved on that to build what we are doing in the last tow CMS’s

Links to actual code as well as nice words.

1 Like

Milestone Type: Critical
Milestone: 4
Source of truth: op-cm-4.md

Hi everyone,

For this milestone we have added a free life bonus and player state tracking. The game supports an openable chest which grants a free life. This makes the death trap survivable.

Please see the source of truth for more info. Looking ahead, we are going to be building out a minimal web client. So over the next few milestones things should get a little more interactive!

Thanks all,

Robin Byrce

(posting via a second account to work around forum reply issues)

2 Likes

What sort of issues do you have? Maybe I can help.

1 Like

Hi, it didn’t let me post a reply from the same ‘author’ more than (I think) three times in a row. So I worked around by using an alternate email.

btw we are over due an update. To follow shortly. tl;dr we have an mvp web frontend as per CMS 6 (mis numbered 5). It has some rough edges of course, but it makes it more likely people can relate to what we have been building.

Cheers!

Robin

3 Likes

Hi @BlueBlade @robinbryce, I’m from M&M Grants council and currently reviewing your grant milestones. How is your critical milestones on going? - Could you please provide us with an update on how these tasks are progressing?

Thanks.

cc. @Juanbug_PGov @mmurthy

Hi there,

We got the mvp for the web front end done late december here: https://chaintrap-ifw.vercel.app/. I’ve been out of the country for the last 6 weeks and this has put us back. The ui & web3auth onboard (if you want to mint) works in a regular browser and also on iPad/iPhone/Android.

This deployment corresponds to this Jan 1 commit

A screen shot of the narrative view is attached. And a very rough video of dungeon creation and joining a game can be found in this dropbox:

https://www.dropbox.com/scl/fi/w4uufdu79b1niw2w32qru/host-a-dungeon.mp4

I really wanted to do a proper release video for this, but if you are willing to put up with some rough edges, fund test wallets, and generaly persevere, I think what we have deployed there gives a good flavour of how a game inspired by the “choose your own adventure” can be expressed in a casual chat like interface and still engage people inspired to create there own adventures old school D&D style.

And importantly, bridges the gap between our earlier milestones which were very focused on the contracts work.

We expect to be able to resource this properly again from next week. To follow from here the main things we would like to add are:

  1. stability
  2. generative text for the new scene descriptions
  3. match making via pub friendly QR code links

I’d also like to put a shout out for some very generous early colaborators on the visualisation front. People who have helped us think about how we could take the current UX forward. in particular:

jeoooo (jeoooo) · GitHub (Aka Violet) for inspirational input on how we could build out the interface further down the line

And also https://lmclennan.carrd.co/ for giving us a very professional workshop on on boarding and player motivation.

These things I think are still aligned with the original vision, but I appreciate we are off our timeline. Hope this is ok with everyone.

Best!
Robin

1 Like

Hi all, supplimental to our recent post anouncing the minimal web interface, we have written up the builders perspective on what we have produced. The journey from classic D&D, to a fully on chain realisation of the 90’s era interactive, chose your own adventure books.

Deep details and walk through of both the contracts and the parts of the front end that are significant for verifiable game mechanics on chain.

The demonstrator rolls up a number of items from recent milestones:

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

  • 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.

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

  • because we switched to a “prove as you go model” we made the game reconciliation completely automatic. the contracts for this landed in CMS2, but we have continued to evolve the approach and re-built the web ui to work with it.
  • We do ensure all valid moves on the map are committed before the game starts. And creating a dungeon requires that there is a victory condition. Ocasionaly the generator produces disjoint
    topologies, this is just a bug, and of course people don’t need to use the generator if they go direct to the contracts. We think we have done as much as is practical at the contracts proof level here, and incentive models would work better for the rest. So we feel we are good for this CMS but please do say if you disagree.

CMS 8 (due march 15th)

  • we already have two of the simple stats #game sessions and #total players. #bad maps was intended as a griefing / feedback score. We would like to prioritize stability, and putting a bit more depth in the actual narative flow of the games.

Grants committee readers, please do shout (publicly or otherwise) if you need to see more from us. It would be great to have that feedback.

We think that is pretty much it for all the things we committed to and a fair amount of things to share with the community. The building has been super fun so far. Of course we would like to keep going making it better as time and resources allow. The next phase needs to turn it into something that is fun to play too.

So a shout out for any and all builders out there that have thoughts on that. Please do make yourselves known! Whether you are interested in the tech or the game, or just the autonomous worlds pace in general.

Thanks again to the optimism comunity for making this all possible.

2 Likes