Original author: Simon of IOSG Ventures, Sylve from Dojo Kooshaba from Lattice
From PCs to mobile Internet and even artificial intelligence, games have brought the application of new technologies by educating a new generation of consumers and creating usage scenarios that did not exist otherwise.
In the process of playing games/making fun games, people try out new technologies and come up with ideas on how to take advantage of them. Gamers can draw a simple conclusion - there are the most outstanding designers and developers in the gaming industry!
The #Automous World Assembly# at #Devconnect Instanbul may be the most insightful and innovative crypto event in recent times. On AW, we see people using cryptography to do new things instead of doing old things better, which is why IOSG sees AW/FOCG as one of many paths to scale. (The following content is derived from Sylve from Dojo and Kooshaba from Lattice’s speech at IOSG OFR Istanbul)
Why AW - Dojo:
Why do people put games on the blockchain?, I want to try to answer this question.
Blockchain games so far have been focused on one thing, which is to put as little of the game on the blockchain as possible, just the game assets, and it seems to make sense to do so because its decentralized , assets can be interconnected with other assets. But what will happen if the gaming and practicality of assets are also put on the blockchain?
On-chain gaming promises a lot of things, and I want to summarize them. I would say they promise to bring to the game what DeFi brings to traditional finance: decentralization and permissionless compatibility. But we want to push it to a higher level, that is, we propose another concept called the autonomous world.
This is still a very vague definition. But the idea is that outside of any specific game controls, you have a game that youre constantly involved in. Think about it, we are in a blockchain-based world where anyone can contribute. And we are based on this definition. If you look at Twitter, everyone has their own idea of what an autonomous world is, how it works, what it should be and shouldnt be. We have many ideas. So a bunch of people spent a lot of time and effort trying to even conceptually understand what this meant. We even have companies trying to build game engines to help more people join and build on-chain games. We have Mud, Dojo, Argus and Curio. Were pretty sure this is a fun thing to do, and we even hope more people join in and build it.
Why? Why do we spend so much time and energy doing this? My answer is negative: Why shouldnt we do this? This is indeed a bad idea.
First, games are difficult to build on the blockchain. Blockchain is not fast enough and too expensive for gaming. This isnt the first time weve heard this. I like this quote from Antonopoulos:"Most networks just dont scale gracefully at all, but ultimately those are the networks we need."He used this metaphor to describe the Internet. Usability doesnt sit well with the Internet, and every time we try to push the limits of the Internet, theres a group of people who say, you shouldnt do that on the Internet. The internet is not made for this.
For blockchain, we are basically on the same starting line. Various initiatives say:"No, you cant put coins on the blockchain, please, youll break the blockchain."If you look at the history of blockchain most of it has been games that completely broke the network and where we are now,"Please, you cant put game tokens on the blockchain, youll ruin the fun for everyone". The good thing is that now we have tiers 2 and 3 and rolling it out as a service, which is a huge improvement compared to before.
I think there are three main things for putting a game on the blockchain.
Were using your energy and finances to build this thing. The blockchain is a legal machine. You dont have to trust me, you dont have to trust my reputation, you just have to trust my code. This is a good thing, a lot of new indie developers and a lot of people can benefit from the legitimacy that blockchain gives them to build this multiplayer world. You don’t need to be Valorant, you don’t need to be Fornite, you just need to build your own game and benefit from the legitimacy that the blockchain gives you. This way, people will trust the code, not you.
in my opinion,"Permission is possible"is the most interesting part of it. By building this game on the blockchain, people can mix and match. That doesn’t mean it can’t be done without blockchain. It’s just that blockchain is very convenient. You can do this through an API or other means. But it would be more convenient if you had direct access.
For example, in this example we have two worlds, A and B. They share the same map but maybe you have another game where the apps are different but they show the same game logic and if you go further you can even find ways to let people contribute to the world method. Its not always one company that provides all the value to a network. For example, there are games now played on MUDs that these people will never get tired of. What would happen if you found a way to motivate people?
In the end, I think it all had to do with the temperament of George Mallory, who, when asked why he wanted to go to Everest, said this because Everest was there. I think now people like the challenge, the crowds and the great community. You shouldnt do these things on the blockchain. So why not do it?
Lattice, the full-chain game engine Mud development team, launched an L2 built on Op Stack last week, which can greatly reduce L1 submission costs and is used to support full-chain games or DApp operations in the autonomous world. Since the development of Mud, the Lattice team has been striving to provide an open source and shared modular framework for full-chain games or autonomous worlds, hoping to create a common standard to lower the threshold for developers. Redstone takes it to the next level, solving the problem of which chain to use for full-chain applications, and undoubtedly further solidifies the moat--Mud+Redstones one-stop development path. This may also greatly affect the determination of full-chain games or applications to use RaaS to launch chains.
What AW - Lattice
Why are on-chain games difficult, and how can we make them better? Today I want to talk about how to do well on-chain games.
We have been working on on-chain games for a while, and I have been thinking about this issue. To me, this is the dream, this is why we are here.
I work at Lattice, and we have been developing on-chain games, which is a main game engine called Mud, which is also an on-chain framework. I specialize in Sky Strife and game development at Lattice.
This is a screenshot from Runescape. Runescape is a browser-based 3D online game launched in 2001. It was absolutely crazy and millions of players are still playing it today. Ive personally spent thousands of hours in Runescape. If you hadnt played Runescape, we would never have been friends. Its a really fun game and Ill describe it a little bit. ](https:/.bit.You) You start at the first level of the game, you are very weak and the goal is to gain new skills, gain money, gain influence, gain power, basically, real life is a bit like being a kid and not The second life of mature adults. Its a thriving player-driven economy where money is the main influence in the game, along with PVP action and permadeath, where you lose everything you have as a player.
Throughout the development of Runescape, player protests against the production team occurred from time to time, all related to the economy. Now my question is, how can I make Runescape unstoppable? I think if you ask any average Runescape player"Hey, do you want to kill everyone who makes this game?", I think they will all answer"Yes I want them gone and no one should control me. What we want is a game that stands on its own and no one has a monopoly on it, so I put a lot of constraints into the conversation here."autonomous world"Of course its our dream, what we want is Runescape and an on-chain game that will never be stopped, no one can control it, no one has the admin keys, no one has upgrade rights. The logic of this game is 100% on-chain. No one has permission to enter the game. They cannot change your mind. The game has nothing to do with the client. If possible, you can play the game in a terminal window without graphics.
This is more of a technical question, but like theres no precompilation, theres no application-specific DNA, not that Im dissing those things, its just that if we want an autonomous world as a dream, these things, these technologies are going to be there for Gameplay at the expense of decentralization. What we are going to focus on today is the EVM, which is the most commonly used execution environment. Let’s keep it simple.
Runescape has a gametick of 1.66hz which is very slow for a traditional game, I believe Valorant and CSgo have a tick of 120hz or 140hz. So this seems achievable on-chain, right? This is still faster than every other blockchain weve seen, but it has a very simple game loop and we can definitely do this on-chain, so what could go wrong?
Here is a picture of the starting area. Just next to the starting area, there is a small goblin village. The player starts from the first level here. Generally speaking, the player needs to go here and start fighting goblins. There are many goblins around. You can spend hours fighting goblins, picking up loot, and more. Okay, the first thing were going to do is get these little goblins moving, okay, that should be fine. In traditional game architecture, you need a server, with a"√"Come and decide where you want the goblin to go. The server just moves them incrementally, while the player chases them and eventually defeats them. We need pathfinding is the first issue here, we need to compute pathfinding on the chain, thats the first hurdle, we need to run navigation on the chain, this is a completely unrestricted operation, lets say the player is on When being chased by a goblin, it completely ran out of the goblins starting area. The goblin needs to calculate the objects around it, which may exceed the gas limits of the block.
The first limitation is that the goblin will act stupid and you will have to stand very close to the goblin to know that you exist because it has five satellites that run stars. Another problem is who is going to send these transactions. We are not in the background. The ticking server has to have someone personally sending the transaction says"Hey goblin you should attack that player"For example, if you let players send transactions themselves, players will never send transactions.
Why would I willingly let this little goblin attack me? The traditional answer to this question on the chain is that the only way to deal with it is for players to interact with the goblins first, and then fight back simultaneously when they attack each other. This doesnt work either, because if the game is already near the end, you can no longer attack the goblins. You can run away and there will be no danger.
So we need to somehow incentivize players to send transactions to run goblins, and they also have to pay gas to run those goblins. And all of these are goblins in the game servers, and theyre walking around and they feel like theyre alive, and youre supposed to be afraid of them. For traditional games, this is just the surface, but we already have some strange economic incentives that we need to tell players:"Hey, well give you a small amount of tokens and let you be captured by the goblins"。
Lets continue the game. Were running a map somewhere, and we need to know where to avoid the goblins, but this time we need to run a coordinate on the chain that the player can calculate themselves. We provide it to our contract. The contract only needs to confirm that it is valid. Now, confirmation is still a calculation we need to make, but its much simpler than running a coordinate, and technically players can provide whatever path capacity they calculate as long as its valid. We can start.
Okay, so the result is that the player and the goblins are running around and bumping into each other. In addition to goblins and players, generally speaking, the game world only has terrain, such as trees, which are common elements in traditional games.
How do we know on-chain that this tree exists? Let’s put aside the debate about how best to store this tree on-chain. At some point, the tree has to go into a storage space, which is called"Gas". The question is, who will pay to store the world. Just like as a game developer, you have to bear the cost of storing the world. This is just the starting area of RuneWorld, and the entire world of RuneWorld is probably 1,000 or 2,000 times the size of the starting area. And this is just a relatively simple online game that people can run on their browser. Due to various limitations, no matter what we do on the chain, the scale will be extremely limited. This is technically possible, and if you want to spend millions of dollars to move the entire Runeworld map on-chain, you can definitely do it. It can also be done on the mainnet.
In Runeterra, you hit a goblin, and then you will see a number. This number ranges from 0 to 15. When you reach level 1, this number will have a certain randomness, and the randomness is another How do we do something that we cant easily implement on-chain? Every time a player takes an action, we commit a block hash in the past, and then on the next attack, we reveal that block hash and reveal the randomness that this attack will bring. This is just a small technical detail, but it permeates the design of the entire on-chain game.
At any point in this Promise Reveal scenario, youll know the consequences of your next move, so youll never think, oh, I dont know how much damage Im going to do next. All you think about is how much damage Im going to do after the next attack. Its like a weird thing that players have to figure out, when really, youre just trying to hide the information throughout the stack. But okay, we have this weird randomness mechanic in our combat, goblins are moving around, we have a world map, and the players are having a great time.
Great, what will the goblins drop? In traditional Runeterra, they drop gold, and you can see I have a little bit of that in my inventory. I dont know, between 3 and 5 gold, in game design terms, thats a faucet, even for a small amount of gold, someone would sit here for an infinite amount of time. They will abuse this faucet to get unlimited gold from the goblin starting area. The game is inflationary, and thats okay, but in a chain game, it becomes a problem because whatever token you tie to this reward is going to go to zero very quickly, right. So we need synchronization, we need essentially property destruction, we need a way to get this target out of the ecosystem, and I think thats going to be a major design decision for all on-chain games. Its like in a traditional online game where you dont have to worry about inflation. But here I think we need extreme permadeath, your character has to be very fragile and gold has to leave the system faster which is not a good experience for new players if there is the fear of death around every corner. Maybe its just a matter of education, like in our chain games you should be scared all the time, thats basically real life.
So okay, I dont have a completely satisfactory answer as to how we can make this better, but everything I just described is technically possible on the Mainnet. Theres nothing stopping you from doing these things on the Mainnet except money, but its really an educational question as well as a shared original question.
Currently, every on-chain game developer has to reinvent the wheel when making games. We need to be on the same page when they write their own libraries or use their own expertise. We need a shared game engine, a shared framework. Youll have to trust my calculations on a paper towel, but I quickly made a little prototype: I figured, with five players and five goblins, it would take about 2.3 million gas per second, which is crazy, if you If you want to compare it with our current chain, the theoretical value of the main network is 2.5 million Gas per second. Arbitram Nova, known as the fastest and largest throughput, has 7 million Gas per second. Uh Base has 15 million Gas per second.
Im sorry if I didnt mention your favorite chain, I spoke quickly, but the truth is were not quite there yet, running Unstoppables goblin starting area. Runescape will consume all the resources of the Ethereum mainnet, let this sink in. So yeah, just to illustrate: our game is not very physically exciting yet, like we only have a small village running on the Ethereum mainnet, we need a chain that can support a large world.
