webaverse / app

Web metaverse client
https://app.webaverse.com
MIT License
339 stars 208 forks source link

Restructuring Discord into positive-sum #1329

Closed madjin closed 2 years ago

madjin commented 3 years ago

Goals

To create a positive collaborative environment, we need to build a Discord onboarding flow that encourages people to have skin in the game in order to meaningfully participate in the creative process.

The aim is to remove the bystander effect and to establish a community where everyone is literally invested in the community's success.

This means that most channels except for a few (welcome channels, verification, help/bugs) will be locked down. Those that have a role that was either earned through past contributions or purchased as a NFT will be able to unlock all the other channels where the real activity happens.

Roles

It helps for new and old members to self-identify their specialties, especially when they first join. It's like choosing a class in an MMO. The most popular bot for reaction based role selection is Carl-bot, here are some examples from Metacartel and Raid Guild:

Here's what the interface looks like for setting it up:

2021-06-28-07:02:51

I think its a good idea for the roles to not deviate too much from whats been established across several major DAO discords, came up with a starting base:

Welcome to the Webaverse Discord server. Please select as many roles which describe you.

:art: Artist
Painters, modelers, musicians, memers, videomakers, etc

:tools: Builder
Can speak with computers to make them do things

:triangular_ruler: Designer
Imagineers of how we interface with machines (UI/UX)

:writing_hand: Writer
From scribing notes to writing stories, specs, and guides

:bridge_at_night: Bridge Builder
People who bridge communities and help create more powerful networks

:mega: Shiller
Those that communicate the memes of Webaverse to a wider audience

Collab.land

This is the most popular one for unlocking roles with fungible and non-fungible tokens. Usually Discords will create a separate channel with the topic as: Type !join to verify your $<coin> token holdings and get access to the full community chat.

When users type !join in the channel, the bot will DM them a link which opens up a website that asks you to connect your wallet in order to verify the tokens you own that it will assign roles for. There are tiers, so if you have enough tokens (erc20, 721, 1155) you will unlock multiple roles in 1 swoop.

2021-06-28-07:22:46

As soon as you invite the bot to the server the bot creates a private channel for admins to setup. This is how it looks like for a server admin to configure various roles based on tokens:

2021-06-28-07:45:56

The downside here is that users will be expected to have a crypto wallet installed, such as Metamask, and to of purchased / receive the tokens. This leads us to the NFT Discord bot...

NFT Bot

image

The NFT bot removes the friction of needing to install a wallet in order to use crypto. There is also an unlock command similar to collab.land that has a few open issues left to make it practical to use:

There are some tradeoffs involved with just using the Discord bot, mainly that the sidechain network doesn't have value streaming through it - that is mostly on mainnet and polygon.

The upside has several benefits:

Earning NFTs for unlockable roles: when somebody is contributing we can measure that XP (through sourcecred, already setup) which can be converted to SILK which can be used to purchase sidechain NFTs from the server store. We can also reward NFTs through other off-chain contributions, like creator program / GH sponsors / etc.

Metafactory distributes $ROBOT when people purchase things from a store by asking for the person's ETH address during checkout. We could do something similarly by using Discord ids.

Rewarding people with SILK which can be used to purchase NFTs that unlock Discord roles seems like a fun way to onboard contributors into the community. I think for now collab.land can be used since the NFT and the results wouldn't change at all even if we had mainnet/polygon token unlock for the NFT bot.

Design

There are currently a couple NFTs we designed for the first batch. The idea was that these keycards could not only be used to unlock roles in Discord but also places (https://github.com/webaverse/app/issues/803) inside a virtual world (or the app itself, keycard access for alpha testers). There is already a perfectly looping gif / webm for these designs.

image

The branding and marketing strategy is to be decided. I can produce a high quality video / blog post / tweet storm to explain the value one gets with having one of these NFTs.

madjin commented 3 years ago

Added emojis to welcome channels and reaction based role selection, next is NFT based role unlocks

2021-06-28-10:04:22

In the metagame discord there's a signpost channel to figure out what's what which is where I noticed the commands:

2021-06-28-10:08:36

Commands
!?portals - brings up all the important links
!?token - brings up all the important Seed info

I really like how this bot has a simple way to add commands that can bring up a help page for quick links.

2021-06-28-10:07:28

This would be a nice command to ingest into the NFT Discord bot in the future, made an issue for it: https://github.com/webaverse/app/issues/1330

madjin commented 3 years ago

Alright so I just tested minting a NFT from Discord, transferring it to Ethereum mainnet, setting up a role that ownership of that NFT unlocks with collab.land, and then testing it in the Discord and everything works.

collablab

0x42FaE5A6dBd93Cf63ED9EEa0449825ddC8234a17 1 1 @M3 <tokenId>

image

There's now an unlock-door channel used just for verifying ownership with bots. The did-a-thing and props channels are setup with reaction based weights for measuring value creation using sourcecred. M3 as a good testbed with events / tickets / merch. Speaking of events, this bot can also verify ownership of POAP tokens (proof that you attended a physical/virtual event) for which there's a good Discord bot for distributing those also.

So far everything is tested working, will try to get similar functionality with the NFT bot later this week.

madjin commented 3 years ago

Promotion and Marketing

There can be different tiers, tier 1 is the card and tier 2 is the Doom inspired keycard which can be used for several things:

I've got a ton of great clips when I was working on the M3 trailer for promoting the story of M3 and why people would want to join such a community. The overall theme is the battle over closed vs open, centralized vs decentralized, freedom vs oppression using pop culture references in clips from:

image

There's tons of curated original clips from past events + music produced by Godfrey Meyer as well for producing this trailer.

We can also go into VR and do some virtual productions with the keycards as props, to describe its purpose / role and what people get for it. Me and Godfrey have done bits where we just talk at the beginning or end of a video.

avaer commented 3 years ago

Thanks for putting this together, I think it fits my ideas in nicely in many ways.

My first comment is I think the consistency of the branding is important to get right here and that is my biggest worry . Consistency should be in terms of art and characters, but also in terms of glossary, nfts, writing style, and the subtle implications that we make, like what it means to own an nft, or land. Roles should match up with whatever is in lore, and the nfts should make sense with the theming to avoid ludonarrative dissonance.

One particular conclusion that shakes out if this is I don’t think many third party tools or bots will work, if they leak a different vibe or brand — I believe most are not 100% whitelabelable. But there is certainly a lot to learn from them.

avaer commented 3 years ago

My second comment is I don’t think those are the right themes, or at least they cannot be explicitly stated.

We should be thinking much more personally and emotionally about it. In terms of person to person interactions and character dynamics and long form content rather than expressing grand visions and big words.

People tend to interpret “decentralized” or “freedom” in very very different ways and it is easy to assume you are talking about the same things when you really are not. That has been a serious problem for our attempts to align community with M3 so I wanted to get rid of that framing and verbiage.

I’d rather pull in with charm and then let people realize the deeply woven themes that engage you to discover more.

That said I agree with these being the correct undertones when you look under the covers.

avaer commented 3 years ago

In line with the above point I would want to distance from any existing IP.

We are obviously inspired by many of these things but referencing them directly gives a sweeping and vivid, but not really correct impression. I don’t want anyone to think we’re building the matrix or rpo, or competing with horizon. By referencing these works, that is the implication that is perceived and it is counter productive.

madjin commented 3 years ago

Appreciate the comments, some thoughts:

avaer commented 3 years ago

As for tiering my plan was much earlier involvement of community in the creative process.

Once the foundations are laid there are many ways to immediately contribute and be rewarded for it, that align with the bigger goals.

For example, model bounties, narrative drops, dev meets can already happen. I’m in favor of a lightweight approach where a lot of things are tried, especially on the creative side, rather than just selling access.

The cases where we are selling access should look a lot like patreon, that is step 1 is to make dank content (not just a key card but something like a fleshed out character) and step 2 is to sell it, which we then turn to deeper and continuing contribution loops.

avaer commented 3 years ago

One more point is that I think everything we do needs to ooze the brand. That means we should be thinking “when we show this on social media will people know instantly that it’s webaverse?”

That doesn’t mean watermarking and it doesn’t mean putting labels on things. It just means stylistic cohesion that makes people group things we post together as belonging to “that thing” —- even before people know a thing about us.

The best way I’ve seen across the proto meta verse is the use of consistent characters. The second best is art style.

avaer commented 3 years ago

Third party tools and bots have some inherent trust, especially when people are connecting a crypto wallet to a new app (collab.land). The name and icon can be changed in the configurations for carl bot. These bots roles can be eventually replaced without any disruption to service as the Webaverse bot improves.

Trust is important but if people do not trust us then we have bigger problems. I don’t think using any tool will change minds and we should address the actual problem if it pops up.

We could just stop making things and piggy back on glueing great tools. That would probably be very high trust. But that would be a very different kind of company and I wouldn’t have confidence in it manifesting the metaverse.

Otherwise I think is it a mistake to mix tools at this stage.

avaer commented 3 years ago

Assets / themes can be dressed however we'd like, obviously many people will connect to things they already know as many ideas about cyberspace repeat over generations. Can scrap it or consider those to be references as inspiration for a new story if you want, folks will connect the dots anyways if the storytelling is good.

I’m a fan of Hemingway and icebergs. I think it is important that this is all thought out at the core, so the part that shows implies the depth, which you can seek out and explore like a rabbit hole.

I also think we have a lot of new things to say that cannot be said otherwise.

madjin commented 3 years ago

Here's an idea for a signpost message that's mainly used for a getting-started channel or help command to get important links.

**__Welcome to Webaverse__**

You're at the ground floor of an advanced virtual universe that's under construction by humans and AIs.
Being early means there's more to gain by being a member to help build and grow the platform.
Remember to be respectful, think positive-sum, and enjoy your stay! :)

**__SIGNPOST__**

App: https://app.webaverse.com
Docs: https://docs.webaverse.com
Dashboard: https://webaverse.com
Twitter: https://twitter.com/webaverse
Blog: https://blog.webaverse.com
Store: https://opensea.io/collection/asset

**__FAQ__**

FAQ: https://docs.webaverse.com/docs/webaverse/faq/
Setup profile: https://docs.webaverse.com/docs#getting-started
Get SILK: https://docs.webaverse.com/docs/market/silk-guide

**__NFT Bot__**

The Webaverse Discord bot allows you to mint/trade metaverse NFTs right from Discord.
To view the full list of commands type `.help` in the #bot channel.
You can also type `.help <command>` or add `-h` after a command.

Guide: https://docs.webaverse.com/docs/webaverse/discord-bot

**__Keycard__**

To gain access to the full community channels and events you need a Keycard.
Learn more: <link>

You can also earn a Keycard by completing quests for SILK. To learn more, visit the link below.
https://docs.webaverse.com/docs/index/#creator-program

This can be tweaked to better fit a discord embed message or welcome message in one of the first channels. I know some parts are incomplete, wanted to get an early draft out in meantime.

madjin commented 3 years ago

The other bot has a web GUI for setting up custom messages for reaction based role setup. This program can be used for server owners to build and visualize embeds to do something similarly: https://github.com/Glitchii/embedbuilder

madjin commented 3 years ago

The redemption command is nearly finished which has me thinking about the next steps here. From the presentation:

Earning SILK

Call to contribute -> Contribute -> Reward -> Repeat

Explorers, settlers, and town planners can earn SILK by creating and contributing content for the season.

People who want to be involved get invited into a private role where they'll get access to events and the did-a-thing and props channels which are used to measure value creation for earning XP using reaction emojis. At the end of a cycle, the XP is tallied and converted into SILK. Top percentiles will have perks, although there should be a lil something for participation regardless.

Idea: depending on the roles a user picked when joining they may get a non-transferable NFT design inspired by the role (artist/builder/designer/writer/bridgebuilder/shiller) after reaching a certain threshold like leveling up as a certain class. Perhaps that NFT unlocks a channel exclusive to other people with those roles / NFTs, like having a writers / artists guild etc.

Screenshot at 2021-07-14 00-43-29

Brand guide and bounties for modeling and concept art will probably involve creating some kind of easy to navigate interface to see the work we've already done for people to get an idea of the standard of quality we are aiming for. It can be a website, miro, youtube video, page in the docs, poster, etc.

The docs page already has some methods listed on getting SILK: https://docs.webaverse.com/docs/market/silk-guide

We could add in "contributing to the Wikia" as well once it's setup.

Server Store

The bot will allow server admins to set redemption roles based on Webaverse NFTs. This means the server treasury store could sell NFTs that unlock roles in Discord and in the future unlock chests and access places in the virtual world. The top prize could be the keycard (limited run of 50) which unlocks a parcel in Zone 0 + more.

There can be other NFTs for sale in the treasury store that may not have redemption commands, like a highly limited run of pets and vehicles. This means creators and contributors could get first dibs before the official drops. If it works we should do it more often.

GaladWarder commented 3 years ago

Chatted with Jin this morning, I went to school for marketing and had some ideas over the last few days. I compiled everything into a hackMD; posting it here for posterity.

https://hackmd.io/@BMZ93BYsQWGepA-cZgh2sQ/SkNBrY0ad

madjin commented 3 years ago

This is fantastic, well put together!

“We are an interconnected blockchain protocol focused on metaverse interoperability as it applies to virtual spaces” is a lot less compelling than, “We want to connect all of the virtual worlds together with an interesting storyline, an immersive world to explore, and technology that will allow digital goods to be persistent throughout the web. And we want to do that natively in the browser, so there will be no download; it’s plug-and-play!”

The elevator pitch part stuck out to me. We should make sure that it's consistent throughout places to not confuse peeps.

good example would be a short doc that explains the requirements and a link to a Kanban board or something along those lines with the tasks. Tasks should be sorted by type and length of completion, and should have any information needed already ready to go.

I think we can come up with a doc, I'm working on updating the contributor guide on the docs site as well as a blog post that describes the process with generating lore to give more context for how and why we do things.

The incentives section is great, the little things like being on the top of discord or having name in the world are good ideas. Could imagine that many of these ideas could be items in the server store as NFTs.

avaer commented 3 years ago

IMO “what we do” is more powerful that “what we want”.

GaladWarder commented 3 years ago

IMO “what we do” is more powerful that “what we want”.

Absolutely true; this was typed up stream-of-consciousness; intended as an example more than a literal proposal for an elevator pitch.

In general, the more active the verb the better - so yes; 'what we do' is definitely preferable. That verbage could easily be adapted while keeping the aversion to buzzwords, though.

madjin commented 3 years ago

For onboarding people into contrib/creator roles we need to do a few things first by answering these questions somewhere:

Tips from the gurus:

In order to optimize best use of time its better to have these written to be easily referenced / shared. Blog post + docs.

madjin commented 3 years ago

Another slide from the presentation. Blog post on how people can contribute to the project would be next. The brand guide is being developed by virtue of the art assets being completed for the trailer: https://github.com/webaverse/app/projects/5

image

madjin commented 3 years ago

Updated the creator guidelines: https://docs.webaverse.com/docs/create/guidelines

Now working on a post: Open source brand / Branding with OpenAI

Part of a series about AI collab. This post will describe process of going from idea, lore generation, moodboard / shotgun design inspiration, initial concept art, 3D kitbash, refinement, final piece, with Wikia entry somewhere in there. Will be useful for onboarding contribs / giving people insight into the creation of NFTs for this season's collection.

madjin commented 3 years ago

New getting started reaction role message:

Welcome to the Webaverse Discord server. Please select as many roles which describe you.

:art: **Artist**
Drawing, modeling, producing music, performing

:tools: **Builder**
Programming, creating objects, creating spaces

:writing_hand: **Scientist**
Writing lore, interacting with the AI, metaphysics ideas and planning

:bridge_at_night: **Linker**
Connects people, greets them, makes introductions, helps out with production

:mega: **Booster**
Collecting cards, promoting, streaming
madjin commented 3 years ago

Idea for poap badges + roles + semiotics is designing patches / badges that can be added to clothing Can "earn your stripes" this way Related: https://github.com/webaverse/app/issues/1336

Inspiration (art by nass9696) image