Onchain PvP Battler powered by cross chain messaging and commitment & reveal scheme
Our project takes the fun and excitement of Pokemon and infuses it with the power of NFT assets to create a one-of-a-kind gaming experience. But we didn't stop there. We wanted to ensure that the game was fair and equal for all players, so we developed a unique approach using cryptography combined with Commitment and Reveal Scheme.
To make the experience even more unique, we analyzed each player's personal Web3 NFT collection and generated a set of "Poke3mons" tailored specifically to them. This means that every player will have a completely unique set of creatures to operate and use in battle that comes with own attributes, emulating the success seen in the original game.
Furthermore we didn't let the limitations of the Ethereum blockchain hold us back. We undestood that onchain games were immensely expensive. So we utilized cross chain message relayers to bridge the game onto a separate chain, allowing us to take advantage of the growing potential of Layers 2s and any further developments in the future.
So join us on this adventure to catch 'em all and become the ultimate Poke3mon master!
For the commitment and reveal scheme we utilized a combination of logic and computational technique to achieve what we wanted. The logic was such, the users has to both go through a "commit" and a " reveal" stage in which they both had to commit an encrypted answer into the smart contract during a time period. The order of it did not matter because the information was encrypted so the owner would know but could not be edited.
That one once both users committed their decisions we could ask them to reveal their answer each (this is needed because it is encrypted) in order to determine the winner.
This proved to be successful despite slightly tedious and believe that it can be improved once layer 2 scales and we handle the transactions using account abstraction.
As for our other issue of cross chain bridging, the original intention was to use a natural bridge or a message relayer such as Layer Zero to pass the information of the NFTs from ETH and Polygon POS to Polygon Zk or other Zk layers.
However many of the methods we tried did not seem to be fully functional (including Layer Zero) making it extremely difficult to pursue this. In the end we began by developing a framework that could be easily ported over to a cross chain message relayer when it is ready in order to have a functioning demo.
With the remaining time we began looking into using Hyperlane for crosschain messaging so that if we manage to deploy in time we can overcome the issue (or can do it at a later date).