DAOs right now have a very simple, often too simple model of interaction they have a :
To solve this problem we proposed a 2d metaverse which will have:
Having a common platform for both the NFT holders and non NFT holders enables newer users to directly interact with DAO members and understand where they can fit in.
I started off building out a 2d rpg world but to maintain the lobbies i needed to make use of sockets, since using bare sockets would be reinventing the wheel so i went on to use Colyseus, which is a multiplayer framework. The problem that i faced with colyseus was dealing with setting event listeners for change in state. I dealt with the problem by setting event listeners for the internal field after setting one for the external one. This sets up the lexical environment properly for these events to fire.
I used PhaserJS for rendering the metaverse which was built using spritesheets on Tiled. Once i had the contract up, i made calls to it for verifying if the wallet address owns the NFT or not. The issue with token gating was that the map gets rendered before anything else, since connecting to wallet occurs post the map load. Inorder to deal with this i used Phaser's API to turn the visibility of the block off and removed the already stored collider object.
Building the tictactoe game, as a form of engagment was difficult since it involved keeping close track of the state and making updates realtime. I tried setting the winning logic without hardcoding but that didn't really work. Ended up hardcoding the winning test cases and verifying it with the current state of the board. In future engagment activities on the platform i will try not hardcoding.
There are two business models that we have ideated: