New Ethereum talks, every Monday. The week's conference uploads by event, in your inbox.

Loading player…

Build & Monetize eSport Games Under 20 Minutes with State Channels – Mo Dong

Ethereum DenverFri, Oct 9, 2020, 12:00 AM

This talk is from ETHDenver, the world’s largest Web3 BUIDLathon and Community Gathering. ETHDenver’s content is crypto and blockchain focused. Subscribe to our channel to learn more + connect on Twitter: https://twitter.com/EthereumDenver. Speaker: Mo Dong of Celer Abstract: In this workshop, we will deep dive into the perfect use case of generalized state channels, eSports Gaming and learn how to build a fun, interactive, zero-cost and secure decentralized eSport game under 20 minutes using the tailor-made Celer eSport Gaming SDK. No previous blockchain experience needed! Do you have the name for the Saturday 4PM panel? We'll share it on our social media channels." This talk was recorded Friday, February 14, 2020. ETHDenver 2020’s content themes included DeFi; DAOs and Token Engineering (TE); Gaming and Usability; Protocols and Interoperability; and Public Good and Social Impact. Industry experts also weighed in on topics like decentralization, privacy, identity, non-fungible tokens, scaling, governance, diversity, and arts and culture in blockchain technology. The 2020 event was February 14-16 in Denver, Colorado and hosted 2000+ blockchain enthusiasts, developers and community members from 50 countries and 50 U.S. states. 🔴 SUBSCRIBE ETHDenver’s YouTube https://www.youtube.com/channel/UCgz9NU06t_FkT0Py1Vadczw 💡 LEARN ETHDenver’s Official Website https://www.ethdenver.com/ 👋 CONNECT ETHDenver Twitter https://twitter.com/EthereumDenver 📖 READ ETHDenver News on Medium https://medium.com/ethdenver 🛍️ SHOP ETHDenver Official Merchandise bufficorn.com 💬 CHAT Telegram https://t.me/Ethdenver Discord https://discord.gg/jteMn5c 📱 FOLLOW LinkedIn https://www.linkedin.com/company/ethdenver Instagram https://www.instagram.com/ethdenver/ Facebook https://www.facebook.com/ETHDenver/

Transcript

all right hi everyone I'm Moe from cellar and today what I'm going to talk about is how to build and monetize your plottings eSport game under 20 minutes with shattered state channel gaming SDK so we just had a major maintenance upgrade with open source code release on ëthere Umrah yet just yesterday and you can check out the code and you know during each timer we have two bounties one is C gamer which is awarding $1500 to the basket and pure using server gaming SDK and the other is C pure world which is rewarding about the $1500 for the most innovative application purely using seller web SDK so what is that er well blotching has a scalability problem we all know that and seller is a layer to scaling solution focusing on state channel technology and you know we have a made significant progress over the last year achieving extremely low latency on blocking transaction time basically zero fee for interactive applications and minimal storage cost to requirement without no requirement of global storage and fully preserve their privacy for the interacting parties so we have been also heavily pushing on the user adoption side of things so what do we build we build a application platform called seller acts which is a eSport gaming application platform where we can place skill based game compete with anyone in the world and win cryptocurrencies in prices so you can see as you can see these are some of the example games that are people build using seller acts and it's available to download in Apple App Store today so so far after we launched this last November we have seen about 1.8 million dollars spent in games by the users with about fifty hundred fifty thousand monthly we users and 1.3 millions played games played in the state channel network that we hosted from 90 different countries and will sue so seeing 20% week by week growth and we are actually the world of first and I think only crypto eSport game on Apple Store where you can play these games of skill and the win real money and win real crypto currencies so the reason that we entered this vertical of real money is for gaming is because we believe that this itself is a highly unsaturated market in itself even without blocking the market itself is highly growing and we also have a clear revenue model for the developer space or fully develop our partners that we have because we never user a playing games that there will be associated a fee in the game reward and proceeding and we'll be splitting these fees with our game developer partners and you know I will show some result in terms of how they are doing on blockchain I think one major issue today in blockchain space is that you have to have a monetization model for the developer partners for developer ecosystem otherwise people couldn't stay in this ecosystem and also the trust cost of skill based gaming is really high if we're talking about traditional payment service providers like paper and the you know Visa and MasterCard these traditional payment mechanisms that are charging fees on the order of 20% to 25% so the fee level there is already extremely high and it's actually justifiable to use blocking as a way to lower the cost of running this kind of a business model of skill basically for gaming and you know so this particular application is not only just a user facing application but we also launched a seller X gaming as detail alongside weighted with it so the target audience of for this SDK is developers who may not have enough or very deep approaching experiences with the still and wrap all the blocks units or all the state channel complex away from the developer and away from the game developers and put a very simple API to you know allow them to integrate the API and integrate the SDK with just two lines of code and ten minutes of time which I'm gonna show very soon and it also have a very clear monetization model for our developers because we split the tournament of fees in fact available so basically let's say when user play a $1 game and competing with another user who are paying also a $1 game the winner will get only one point $7 and that 30 cents will be splitted between us and also the game developers for building the game and reporting this in the SDK so it's very healthy and monetization model okay so we have on board a 205 500 sorry 259 game developers with 102 games submitted to our developer portal which I was gonna show you soon and the integration time is on average less than 30 minutes from the first encounters that game SDK to the finish the full integration so what's the performance look like there are some example games are build by third parties comparing to Google ads and which has as with which they use today as a minke monetization model for this skill base the casual games we're seeing around five to two acts higher revenues for these game developers and therefore they have a strong incentive to attach to us and at the same time push blocking technology to mass adoption all right enough site on the you know training part let me get to the coding and also demo of the life tutorial here so to start the demo I'm gonna start with this particular repo so if you go to the cellar network get up and there will be a setter axe example app so this is a example you know application we're gonna use today as a as a guidance to to go through the API integration so what this game is I just I just think I just downloaded it as this repo I just check out this repo and let's check out what this game actually is about alright so this game is actually a pretty simple kind of a running game where you play and you know when you when the Google browser is down for example so basically you know you're trying to avoid obstacles and whenever you die you have a final score and that score will be submitted to the to the system as you know your score and the competing the between different players so our goal here is to take this html5 game and turn that into a blockchain neighbor game where people can compete only approaching using stage channel and win cryptocurrency prices okay so what's the integration would look like so just to go through the list here if you have a laptop you can actually follow along this particular tutorial here you can clone the repo you know tooling install and all that so one thing you do need to install here as a dependency in your html5 game is the cetera acts the JavaScript SDK so this is the SDK layer we where we wrap all the complexity of state channels away and expose a very very simple to use API surface for the game developers and you know you can just add these code in the core game logic let me just show the code here as well so you can import cetera as Center acts to JavaScript it because this particular repo already have this building so it's a kind of relatively import and you know there is two places you that you need to integrate this gaming SDK the first is at the start of the game so at the start of the game what do you will need to do instead of directly starting a game is to get a match you know object here so seller acts gasps match will return you a match object now what is this match object really so this match object if actually look like this this is a match object containing the critical metadata for a match that you started so this particular saying the most important part of this is the shared random seed so this particular share random seed is exchanged the Inc a commit and the reveal pattern against two players and you know basically get a review that later as a true random and an unfertile randomness source and therefore you know it whirring sure that whenever the users are playing the game they're playing on a level playground and a fair playground basically and then you have the seed you know to see that in car games the randomness from this match object and then you basically add all the game logics here and the second place to actually integrate in your app is whenever the game finishes there is a submitter score function that you need to call here so basically it's interact does the middle score and you can just put a score number of your final result of the game here and then you know that's basically it that's all the integration you need to enable your html5 game to run inside of the setter axe mobile application and now you may ask okay how can I pass this out right so let's say we do the we do deal with we have done the the integration here so we have done the integration here of Celoron start and recite game and the also seller acts you know ready so you know how to pass this it's actually pretty simple we build a wing one developer portal here a pop oh by the way there's a you can access the you can access the developer documentation as saira acts game developer portal and you know if you click integrate now what it will tell me to you is a game developer portal once you register in the game developer portal you can you know log in to the game dealer portal and create a game you can create a game by specifying a name subtitle description the device orientation was the primary color for the background and whether it's a solo game which with just the time owed or it is a turn-based game if you want to build some chess game if you want to build it a poor game this will fall into the turn-based game you know realm and you can specify a maximum duration time duration of this game wrong and then you can create the game so I've already created a couple of games here let me just use this old example here and after you create the game the important thing is to upload the source code of the html5 file and you know how we can do that is just by you know pack to AMD and you can just do a NPM ROM build and what this will build is you know basically that the build package of this particular JavaScript project and then what you can do after that is to package this distribution package in a zip and just the track that's here you can track the distributions up here and then anything easily available for testing now how to do the testing here because all these html5 games are actually living inside of a cellar ax gaming app so all you need to do is to go to Apple Store or Google Play and download the cellar access app and you know on the right corner here on the upper right corner here you can you can click ink you a developer mode of scanning pure code so you have a QR code here so let me just scan that particular QR code oh yeah this is the too far so let me just connect here so what once you scan the QR code what will show up here is the game interface so you can immediately start to test all the game by you know you can immediately see that the real manic game is already available and you can just the wrong you know test the mode here and this will start to show up in your app directly after finishing loading you can play the game on your phone and also finish the entire testing process so this is like basically we build a sandbox in on the phone directly you know for the developers to test out the game and to make sure the integration is successful so if you have two phones you upload your game into the portal and then you know what you can do is you can you know upload you there will be a QR code shown here and this QR code particularly will be able to get scanned on your phone and you can test out the application and test out the game successfully now after you toss the outer game what you can do is you can just do a submit for review and you know once the game is under our review will look at the quality of the game and the ones we decide the game quality matches the platforms game quality we'll be able to release it now the beautiful thing about the seller platform here is that once your game is released you will get instant and constant revenue stream from the users playing the game so basically whenever a user plays a game and you know to a entry fee payment in SE channel the state channel will automatically split a certain amount of a fee Q these game developers that will interact and partner towards us so that's basically the model of how we're integrating and expanding to the ecosystem of game developers right now so what I just showed you now is a very very simple integration process with two lines of a code of a single player skill based game where you can have the single player games played by 2 people and competing against each other but center network capability also goes beyond that so we also have the capability to do and the host real real-time games real-time and turn-based hmm all right so what you just saw now he's the solo game where he have one player and the other players on the other hand both playing this solo game and there are actually some additional functions that you can use in this particular app so for example saturd acts don't get ready this basically tells the seller app that you were hosting that the UI is ready to be deployed or displayed because all the matching process and all the user experience until the game actually shows up he's all hosted and handled by other apps so this particular part is actually where you know you can tell the seller acts hey I have loaded all the asset of the game visual came as a display the game now and you know there is also the additional functionality of provide score basically you know whenever this is this is at a callback that is a you know required or optional you know sorry it is a compact that is recommended for this developer to integrate this is a call to whenever a user try to axel at the game in the middle of a game basically let's say the user you know just want to quit the game but we still want to record the current score of what the user have achieved so this is where you will be calling that particular function now there are other part of the system where you can build a simple turn-based games so simple turn-based game an example of that is chess game or any kind of app or game and you know the the API is actually very very similar the only difference here are these two IP is here so the first API here is Sarah Axelson state it will send all the state for this particular port that is packed by you as application developer and on the other end of the you know application a callback will be triggered on stage received so if your implementing a multiplayer game there is also no need to implement your own matching server your own syncing server you just use the same state API to relay the state now the interesting thing about this is that you can actually implement a pure state channel based application in this multiplayer game so these stand state can be state proof of your state channel you know contracts so therefore this particular application itself can be entirely decentralized and there is no central authority that can determine the result other than they involve the players and you know yeah these are some of the API is that you can use to achieve that now there are other so what I just talked about is mingling around the cellar acts gaming SDK we also just announced the first open source release of our go cellar node which is the implement lingo the resource consumption of this the state channel node is very very low so you actually only need to have a minimal 10 megabyte of memory to just run this node and on a 1 gigabyte of you know a virtual machine you can support about 1000 the concurrent client at the same time and you know you can actually run these know the pretty simple 8 and being able to connect the light clients choose these nodes and they are all maintenance ready so you can use you know them them directly to connect the two clients together and send instant payment and a related state and its end things like conditional payment across the network so we also we also have a API client called satellite client what this satellite client is trying to do here is to expose a web 3 compatible API to the you know tap developers so that live client itself is assuming there is a the Webster instance so for example if you're using light client you know and you will be able to use metamath to open a state channel with the seller state channel network and be able to let the parties to send instant payment either not unconditional payment or conditional payment across the state channel network now one last part that I want to touch upon is the conditional payment functionality of seller so seller as a state channel network allows not only simple payment sent out but also allows very complicated payment with additional logics attached the 2d payment so one example of that is something we call a conditional payment so basically in seller Network you can send off chain a conditional payment that is conditional it depends on some other result in the network and that can be a lunching contract a function call result or it can be a other state channels Network function call here basically so you know you can define different conditions and the different conditions that can basically act as kind of a launching or offering Oracle to resolve whether this particular conditional payment has finally resolved the to true which is means that this conditional payment is success successful or the condition of him Aneesa has failed so yeah and with that we do have two bounties available for the developers to build on seller and you know I guess I have to still have three minutes to take some questions from the audience any questions you guys want to ask ah yes so whether the game is a property to release on cetera so what we the business model that we're providing the developers here is called skill based real money gaming and as long as the game itself is a skill based and there is no unfair randomness involved in the game let's say if you're playing so some example of that is a solid hair now solid hair game or bubble bubble shoot her now you may have ok solid hair but the the sequence of the cards revealed to the users are actually random right so like how how does that how does that work well as long as the randomness is affair which actually is ensured by the initial cat match objective because now two players of the game will be carrying the exact the same sequence of cards and therefore it qualifies as a skill based game and is illegal to run in 131 different countries including United States in series 37 different states so we actually operate and allow the application to wrong you know in the United States in UK in Indonesia and in many other different countries as well so yeah yeah that worked well so if you export the game from the unity in html5 in some cases we see there are some issues with WebGL you know libraries but you know if you're building games in html5 engines like Coco's you know to the axe or you know phaser and and you know these are definitely supported now for the unity integration we are releasing a unity native SDK so you know once we have that available you know by the end of this quarter will be able to support unity natively as well all right thank you [Music]

Automatic transcript — names and jargon may be misspelled.