Inspiration
Nintendo Flipnote Studio and group drawing games like https://www.instagram.com/exquisitecorpsebook/ but wanted to see if could get working for animations and game mechanics that would allow large groups of players.
Getting even small groups to sync schedules and come over for a game night can be difficult and large open internet games often have griefer problems that further discourage commitment and cause online games to die out. We think adding a private club/dao might be an approach to solve those problems resulting in larger more frequent and higher quality games than would otherwise happen, and ideally allow scaling up to much larger games (would like to see thousands bursting out goofy collab artwork in minuets would be fun!).
Through a mix of RSVP/Staking to keep most people attending when they commit, and the ability to use club funds for prizes and tournaments to grow membership ranks and increase the frequency and size of games would hope to get a sustainable online community forming for larger group synchronous games that take more commitment but for some players can be a lot more fun than the dominant async and shorter episodic games that are more common online.
What it does
a drawing game where each player contributes different frames based only on seeing the previous frame that results in a group-created gif (we have lots of other game mechanics to try, but it's a start). a dao club to manage club games schedule, stakes and ability to mint the gifs as NFTs to auction off for club sponsorships like a bake sale.
How we built it
node, solidity, scaffold-eth, chainlink VRF, ipfs (infura.io)
working on libp2p game synchronization, but not finished yet currently runs with a node websocket server. Club game schedule, game start random shuffle(chainlink VRF) and RSVP/stakes are on chain but game played off chain until submit final results which players sign and sigs verified on chain.
testing a lot of diff game mechanics that can interact with verification approaches that are scaleable/affordable.
Challenges we ran into
we had less time and availability than had planned on so weren't focused enough at start and have bunch half-finished pieces. Ran into issues with getting libp2p working and fell back to a ws centralized server, additionally couldn't find a good approach to ipfs pinning that would work from p2p players and had to fall back to a central host to work with nft.storage (to avoid expose api keys) and then swapped to infura
Accomplishments that we're proud of
got it working in ugly bare-bones form and explored a lot of ideas around it locally, had fun.
- https://testnets.opensea.io/assets/rinkeby/0x408e92563f6ba75ad22023116d48af00fccc954b/4
- https://ipfs.io/ipfs/QmUbSwQd96oopuQxviQYzvrShc3EMwsmSt55aGfxpsNxh2
- https://rinkeby.etherscan.io/tx/0xea60913b4ce00d3e760859f80a813a570ce4a943d11ce180c9f7155c7314b2c1
- spinjam.xyz
- pplMachine.com
Deployed test-net contracts
- https://rinkeby.etherscan.io/address/0x408e92563f6bA75ad22023116d48aF00FCcc954b
- https://rinkeby.etherscan.io/address/0xa3E6DFE907CeF6F10c2945e4D370F25f9D83a229
- https://rinkeby.etherscan.io/address/0x99e2a2F560724a129e49eb683bca5d2D93FB7e1A
What we learned
bunch about solidity, chainlink, NFTs.
What's next for SpinJam
get libp2p working instead of centralized ws server, add nice UI and work on adding more of the fun game mechanics discussed, get the DAO/NFT bake sale up and running automatically, sponsorships(via meta transactions) for club member invitations to ease onboarding.
bunch to do, then yolo it to mainnet and play some games ;)
Log in or sign up for Devpost to join the conversation.