Web 3.0 Gaming and the Metaverse - Leon Do - [Toronto Ethereum Developers Meetup]
ETH Toronto Talks · 30 Jun 2021 · 13:50
ChainSafe Head of Gaming Leon Do talks about Web 3.0 gaming and the metaverse. He presents the ChainSafe Gaming SDK, which connects games built with the Unity engine to the cryptoeconomics of the Web3 ecosystem, and demonstrates what the SDK already enables for blockchain games. The talk was given at the Toronto Ethereum Developers Meetup.
Speakers
Topics
From ETH Toronto Talks, hosted by ETH Toronto.
Transcript
hopefully you guys can see everything uh so disclaimer i got the first half okay and then the the second half is kind of kind of freestyling it so uh just spare with me so uh yeah this presentation is going to be about web3 gaming more specifically the metaverse so if it's broken down in two words meta meaning beyond verse as uh universe all space and time so it's beyond space and time uh so in theory it sounds cool uh the practical side is is quite difficult uh so ideally let's just you know take a step back and think ideally uh what would the metaverse have what kind of features would it have so right out the box it would be really nice to have true ownership of your assets or whether it's physical
or digital let's stick with digital for now once you have these assets you should be able to trade it anywhere any marketplace and of course multi-world so you can have this 3d model or 2d model and transfer from game one to game two game two to vr to 3 vr3 to website 5 right so the idea of being able to transfer it anywhere so that's the ideal world the reality is it's not like that the reality is it's quite closed right now so imagine these as applications games vrs uh they're all separate and they don't talk to each other uh they have all their own currency uh or their own uh you know engine but it's closed off so how do you solve that
well the quick solution is to stick a database in the middle and connect everything to it right as we all know in the crypto space this diagram does not look good for many reasons one being it's quite centralized so you have a central point of failure and whoever owns this kind of takes over anything everything it's kind of the heartbeat of the sole ecosystem so what are companies doing now well uh you can't have this metaverse yet so uh people are using this this kind of setup so imagine these as uh companies so company one company two company three they have their own product or their own application or series or suite of
you can tap into so if you want you can jump into you know ecosystem one and have a suite of all these tools but if you want to jump to number two you're gonna have some some transferring issues so that's kind of uh where we are today so uh still hasn't answered the question uh how do we connect at all like everything right so uh i've been thinking about this for for a long time and you know this whole presentation so far is more about transferring data and information instead of games right so this is more of a technical underlying problem and the solution uh i believe is uh is to use blockchain technology um
all of those those features mentioned before is solved with with crypto or bunching so for example uh all of this data here is public right so uh each ecosystem can have a copy of it there is no hoarding or you know lack of sharing it's all publicly available and because of this uh you're able to transfer information back and forth freely and that's kind of the underlying advantage of using blockchain technology so the cool thing with with chainsafe is uh that's what we specialize in right so we're we focus on blockchain protocols and infrastructure development so that's great but uh we're not a gaming company so where do
we fit in exactly right and this kind of came through experience for myself uh let me explain so uh you have two tech stacks uh one on the left here is for your website and one on the right here for gaming if you're trying to build a website uh your sushi swap for example you have all the tech required so you have html css javascript let3js ethers and ethereum the blockchain this middle piece here connects the front end to the blockchain right all of that tech is is built out to to do all of this awesome logic on the gaming side however uh you don't
use html css to build a game you use a gaming engine such as unity but the problem is that connection between the gaming engine and uh the blockchain or ethereum uh it's simply not there right so uh over at chainsafe our goal is to fill in this piece right simply fill in that little slot right there and this piece here is what we call the the chainsaw gaming sdk so it's a plug-and-play sdk for crypto games uh no need for you know web3 knowledge if you're a web 2 game developer or vr developer you can just double click and it should work right so everything i've said is uh is all theory
right so everyone's talking about not the metaverse it's all great and all but where's the actual product so let me give you a uh demo so this is a video on how to set it up this is unity i'm installing a blank project on my desktop on the top right hand corner is the sdk so to install you just drag it into the scene hit import and just like that you're connected to the blockchain any token any blockchain so under here under prefabs you have these pockets of functionality you can send receive get the balance of in this case i'm getting the balance of an 1155 token you just drag it into the scene hit play
go to console and you see this number uh 332 so where's this number coming from well in just a couple clicks i was able to connect to an existing marketplace you own 332. so how does it work behind the scenes well if you if you open up the code it seems overwhelming but it's quite straightforward it's simply copy paste so if you go to chain info on the left you just copy over the network ranking b ring to be the contract is 2ebe to ebe and one line you can connect to that contract and now i want to get the balance the balance of my metamask account that's my address token id 22 token id22
and in one line i can get that balance of that token uh and from there you can do more logic to to send receive you know et cetera so that's kind of the the baseline you know infrastructure of of what we're building over at uh chainc so besides ethereum uh we thought okay within the blockchain space you have different blockchains as well you know they're their own like mini ecosystems so we're connecting to not just ethereum but uh polygon moonbeam et cetera et cetera and not just multi-blockchain but multi-wallet so we're thinking a broader audience so not everyone is
crypto uh you know educated so we have tools like taurus to connect with your gmail account or your twitter account uh metamask of course um and wally connect for mobile devices so we're quite blockchain and wallet agnostic um so everything looks good right um as tim said everything is uh available it's uh you know we're figuring it out so if you want to try it uh go to this link here chainsafe.com uh github.com chainsave web3.unity download the sdk we have documentation uh little videos explaining how to set up your own um in-game nft so this is a project that i have
and start building so before i wrap things up uh here's a quick live demo of what this tutorial if you follow it will will give you so this is a game on your browser it's hosted on ipfs and you have two options you can log in or skip i'm going to skip so it's not connected to my wallet by default uh the ball here is white right so if i refresh and i connect this to my metamass account my minus my metamask account uh has an nft that i purchased that changes the ball you'll see so connect to metamask assign uh has the ball and it changes the color from white to red
so this is an nft on screen that i'm pulling in to the game to show for you guys here so uh the demo kind of explains how to do this step by step uh if you guys want to check it out and i'll check it out here if you have any more questions this is my contact leanna chainsafe.io you can also join the discord so go to trainset.io at the bottom there's a discord link you can find me there and that's about it thanks guys nice thank you leon um super exciting um what uh what the the library could potentially enable um and yeah just nfts are
are very fascinating and interesting uh use case for blockchain definitely so um if anyone has any questions um please feel free to raise your hands or just unmute yourself and ask but we have some questions in the chat and gizza from giza asks any showcase of games created with this tech um yeah good questions uh yeah so we have a few game developers that we're partnering with uh today so i've been i've been helping them learn how to use the sdk uh it's this was launched i think a couple weeks ago not even a month so everything is quite new uh yeah the
best way is to have users try it out good question uh phil you raised your hand so please uh yeah yeah do you hear me well yeah okay uh yeah uh it's super awesome how do you solve for the fact that when you share data between some unity application uh that if for example you have a sword does it needs to be the same sort in each game because this depends on all the uh display the data or is the vision more to be open about it than just do whatever you want with the data that you share on chain yeah the the idea with our project is to be
blockchain agnostic so uh a lot of the developers now kind of stick with okay we're going to use polygon and they stick with that so not many teams are using cross screen stuff yet but that's definitely you know in the works thanks cool um paul asks any resources for beginners coming from a front-end web background yeah uh so if you go to uh the repo and go to the documentation you have videos i think it's a series of uh eight or nine videos you honestly don't even have to learn how to make games you can if you know how to double click and type a couple of if-then statements uh you can build what i just demoed
before yeah and also just uh to second that uh the chain chainsafe youtube uh playlist the chainsaw youtube channel has a playlist for um tutorials and stuff for how to use the sdk lots of interesting resources there so check it out um joe asks how do you deal with the latency of transaction execution yeah that's a good question um yeah as of right now everything's uh on chain uh so it really it's out of our hands however you can adjust gas prices you know via metamask
um but that's yeah that's something not built into the sdk that's something more more on uh the user side for gas prices cool joe did you want to follow up with that or is that answer oh yeah like um like because you know like it's gonna take some time right like even on like let's say even on polygon right it's gonna be however long it takes that transaction to propagate and get mined um they're produced um like uh is like would it would it show like
would you have like some sort of like loading feedback right like kind of the way you have in um [Music] you know web 3 or ethers where you kind of like have like this promise that you're waiting on yeah all that's built in so if you uh make its transaction it'll you know wait for the combat callback the the timing though is you know up to the person setting the yes fees but yeah all of that is already handled sure cool cool maybe just add one thing there we could also have arbitrary support or something like that um if users were were looking for it so like we do support
c chain for example so if that was an issue for you you could build on c chain and not necessarily have those same latency issues sweet um all right leon thank you so much for uh popping in appreciate it