AW_Research

Posted on Dec 03, 2023Read on Mirror.xyz

𝐀𝐖 πƒπ€π˜ - π…π’π«πžπ¬π’ππž 𝐜𝐑𝐚𝐭 π‘πžπœπšπ©

About the AW DAY

Hosted by AW Research & ARPA Network

​This informal gathering is hosted by AW Research & ARPA for creators and enthusiasts of the autonomous worlds and on-chain games.

​This is an opportunity to gain firsthand insights into fully on chain games, extended AW narratives, and the creators behind them.

We have invited these incredible builders from the AW/FOCG to join our panel session on exploring Autonomous Worlds.

The recap will be divided into 4 parts, including Fireside chat, FOCG in AW, Tooling & Infra and WorldBuilding.

Moderator:

​Norswap From 0xFable

Panel Guest:

​Kooshaba From Mud/ Sky Strife

Loaf From Dojo/ LootRealms

Panel Guest Introduction

Norswap: Could you guys tell us a little bit more about yourselves and your game?

Kooshaba: Hi, I'm Kooshaba, but you can call me Andy. I work at Lattice, focusing on Mud. Specifically, I'm involved in Skystrife, which is an eternal game project. Skystrife is an on-chain RTS game, and we're trying to push the limits of what's possible on-chain. We're aiming for it to be similar to Starcraft. Before this, I worked on Dark Forest, which is how I found my way into this space. And before that, I launched a browser game on my own. It was a traditional browser game, and that's how I fell in love with game development in general.

Loaf: Hi, I'm Loaf, which is actually my real name. I'm one of the core contributors to the Realms ecosystem and also to Dojo, an on-chain engine running on StarkNet. I've been working on building on-chain games for a couple of years now. I believe everyone finds it a humbling experience trying to develop their first game, which, in my case, eternum is still in production. However, I see it as a valuable journey in trying to create these unique experiences. Currently, the most exciting part of our ecosystem is the game we just launched: Loot Survivor. It's a single-player Role-Playing Game that's now live on the mainnet. Yes, everyone can play it right now. It might cost a bit of gas, but it's all about the fun, and that's what matters. Before this, I was working as a full-stack traditional web developer. But I've been involved in crypto for a long time. My goal here is to build experiences that couldn't be created otherwise and to develop products that operate independently and don’t need centralized institutions. That's what drives me right now.

Panel Question 1

Norswap: Okay, what do you think about the fun factor in your game, what will bring user enjoyment?

Loaf: I think everyone is still trying to discover that. A year and a half ago, it was quite difficult to find any interesting games. There was basically dark forest and skystrife. But now there are quite a lot of them. We're still constrained by technologyΒ  iu, though. What I really appreciate about these games is their permanence. That's the feeling we're lucky to have immutability in what we've built. Take Loot Survivor, for instance, which we call it a middle arcade machine. If you think you're good at it, go ahead and play. Achieve the high score, and you'll be on the leaderboard forever. That level of competitiveness is very exciting, like Dark Souls. We intentionally made it very challenging, so don't be discouraged if you fail a few times. We had to make it that hard to ensure its longevity. If it's too easy, then it's quickly mastered and forgotten. So, that's just one small aspect of the challenge we've embraced.

Kooshaba:I'm particularly fascinated by two distinct forms of fun I've observed: one in Dark Forest and the other in traditional games. When we launched the last round of Dark Forest at EthDenver, I was actually sitting next to many of the major players. I watched as they deployed their own infrastructure to run plugins on top of Dark Forest. They essentially formed about six distinct startups, each making gameplay modifications to win the round. This was a special kind of fun I had never seen before. We had essentially created our own economy within Dark Forest. Watching these epic space battles unfold, it wasn't just individuals playing; it felt like generals commanding troops. That was fantastic, and I want to target that experience as much as possible. Unfortunately, getting deeply involved requires some programming experience, though there are roles like community management or being a 'soldier on the ground' that are equally great. The energy in the room was unlike anything I've ever seen, and I'm eager to experience that again. Sadly, I haven't felt that since Dark Forest, but I'm determined to reach that level once more.

The other form of fun I enjoy is like when I go home and play first-person shooters. There's this feeling of being immersed in another world, often outsmarting and defeating someone. That's the kind of fun we're aiming for in Skystrife. You get that sense where your real-time decisions matter, and there's another person on the other end doing their best to outplay you. I believe we can achieve this on-chain. The only thing stopping us is the hard technical work, but I'm confident we can overcome that.

Panel Question 2

Norswap: My next question relates to the constraints you faced. Were there specific things you wanted to implement in your project but couldn't, due to these limitations? Additionally, did these constraints lead to any innovative solutions or spark creativity in your approach in some way?

Loaf: This is an annoying challenge that we're actively trying to solve. The main constraint we're facing is the storage cost associated with playing these games on the mainnet. Sure, you can play these games on the testnet, but to truly build hardness and realize the potential of our vision, we need to deploy these worlds and games on a decentralized network. And right now, that's a significant constraint – it's just not feasible at the moment. However, I'm optimistic that we'll overcome this hurdle in the next 24 months.

One creative solution we've implemented, particularly with Loot Survivor, reflects our current technological limitations. We've employed an extensive amount of compression when you play the game. This approach minimizes the gas cost as much as possible. Despite these efforts, the cost is still higher than we'd like, which really highlights the challenges we face with the existing technology stack.

Kooshaba: When Skystrife was in its initial stages, I was adamant that all our maps should be human-created and stored on-chain, essentially as map files. My colleagues thought I was out of my mind. They told me, 'Andy, this is impossible. It's way too complicated.' And honestly, for about a year, I approached it in the simplest, yet most inefficient way. I remember calculating that it would cost around $200,000 to upload that map on the mainnet. But fast forward to today, and we've made it work. We managed to optimize these on-chain map files to the extent that now anyone can upload a map for just a few dollars, and any Skystrife player can play on that map.

This is a significant departure from Dark Forest, where the map is entirely procedurally generated. While that's incredible, it lacks personality, landmarks, choke points – elements that I believe are crucial. I was really passionate about this aspect. In the beginning, you almost have to embrace a bit of naivety and just hope that you'll figure things out before the launch.

Loaf: What was the solution?

Kooshaba: In Skystrife, we have an overarching world where all matches take place. This world includes a storage system that is shared across all matches. The maps are uploaded just once into this shared storage, and we also compress them to avoid redundant data. Consequently, all matches reference this shared information. However, when a player interacts with specific elements like a settlement or a gold mine, that data is copied from the shared storage into the match-specific storage. This process of copying over to the match storage is quite costly, roughly around a dollar per instance. It's a public function, so technically anyone can initiate it. Realistically though, I'll probably be the one covering these costs for the time being, essentially running everyone's Skystrife matches. My hope is that, eventually, someone else will step up to take on this role.

So the reason we copy it over into the match storage is because that information needs to change. Things that don't change like grass in the ground, rock over there, you can reference from shared storage. But once you capture something, you affect its health, it's stamina, that needs to be specific.

Panel Question 3

Norswap: That's interesting. You guys already mentioned some possible solutions, but what do you think needs to happen to the technology so that you can do what you want and just the biggest, your biggest dreams and become a reality basically. Also, this is where I shill my own ideas. What do you think of app chains as a potential solution to this problem?

Loaf: Why don't we just R.I.P blockchain entirely?

Norswap: Then we can ask the follow up questions afterwards. Why build on-chain?

**Loaf:The key to scaling games effectively is focusing on app chains and horizontal scaling. This method streamlines the process, allowing each game to have its own deployable contract with ease. It aligns with our work at Dojo and is technically straightforward for implementation. For example, players can participate in a live game on a shared platform and settle their actions later. Another aspect of our solution is to manage most operations on the client side, akin to using ZK state channels. This boosts client-side computing and opens up new possibilities, enabling us to achieve almost anything in the gaming space.

Kooshaba: Okay, let's pick apart those two approaches. With client-side computing, there's a trade-off, particularly in response time. When you're interacting with another player, doing all the computing on the client side means your actions aren't immediately visible to others, like a little enclave. This, to me, is less thrilling because it limits real-time interaction.

Loaf: You could create channels to reduce the latency. You have a state channel that's sharing messages and you're basically running in the same state and so you have private information as well.

Kooshaba: That’s cool, provable real-time game off-chain and then on-chain later. And I'm intrigued by the L3 approach, but I have reservations about its composability, especially when it comes to inter-game interactions. While cross-chain functionalities are theoretically possible, they present significant engineering and user experience challenges that are yet to be resolved. Regarding the launch of Skystrife, my ideal scenario is that it immediately inspires the creation of new content. However, I'm not entirely confident this will happen, as the perceived value of assets on an L3 might be inherently lower compared to those on L2 or L1 networks.

Panel Question 4

Norswap: Typically, we talk about game universes as self-contained worlds. Within each world, full composability is essential. This might necessitate its own blockchain, but it's feasible across different worlds too. There should also be a secondary level of composability. Can you think of a scenario where this approach would be particularly effective?

Kooshaba: Enter a SkyStrife match, you have to prove that you've completed some room in loot survivors. Like me, that's a very basic integration that we technically could build, but if we're all on separate app chains, it's just not possible.

Loaf: That's a problem to be solved so you can verify directly on Starknet. If you own something on mainnet and you can do the same thing with optimism to check. If you are directly on Starknet so you basically submit the proof on the starknet along with your own the first you generated along with your ownership and just verifies it and does the thing.

Kooshaba: All right. So I want to modify something about your game inside of my games like attack function. Like I want to burn something in your game when you lose a unit. That's the dream. You're playing these multi-layered games where a lot is at stake.

Panel Question 5

Norswap: People often ask me about the projects I'm working on, particularly questioning the need for blockchain technology in them. While my response tends to lean towards the philosophical side, I'm curious to hear how you all would address this question. Do you believe blockchain is essential for what we're building here?

Loaf:Bitcoin, as the original blockchain, solved the consensus problem, enabling trust in a trustless network. However, with advancements in zero-knowledge proofs, we can now verify computations without necessarily relying on a chain, as long as we have a fast enough verification process. This means we could potentially bypass the need for a blockchain for certain operations. For instance, in gaming, you might not need a blockchain to play the game itself. Players could generate proofs client-side and then have those results verified, maintaining trust without the constant use of a blockchain. The chain could then be used primarily for settlement purposes.

Kooshaba:I'll delve into a purely philosophical perspective. As a passionate MMO player, having spent thousands of hours in games like Runescape and other lesser-known MMOs, I've observed a common trend: eventually, an MMO outgrows its developers. In essence, the players become the true owners. They shape the lore, create content, and essentially drive the game's evolution. The primary constraint for these players is the revenue model – companies need to profit to justify running these games.This is where blockchains can revolutionize the gaming world. In an ideal scenario, a game's revenue stream could be entirely on-chain, allowing players to tap directly into it. This would create a truly autonomous environment, free from traditional revenue constraints. Ideally, players would have the power to shape and evolve the game world over time, making it an unstoppable force that could last for decades. This contrasts sharply with the current reality, where games are often shut down abruptly once they cease to be profitable for the studio. While this makes business sense, it leaves gamers wanting more. Blockchain offers a solution to this, promising a future where games can thrive and evolve, driven by their communities rather than solely by profit margins.

Panel Question 6

Norswap:I'd like for some war stories of things that happened to your game.

Loaf: Attempting to create the most complex game imaginable from the start is a humbling experience. It's akin to a war story, filled with valuable lessons. This was particularly evident with Loot Survivor. It's a significant war story in itself. Building a game is an incredibly difficult task, and when you combine all these elements, it becomes clear just how challenging the problem really is.

Kooshaba:I have a vivid example from a two-week playtest of Skystrife we conducted about a month ago. On a Friday, I began receiving messages with players complaining, 'I can't join matches.' This puzzled me, as I had assumed that being on the blockchain would allow for greater flexibility. What was causing this issue? I spent the entire night trying to diagnose why players were unable to join matches. I've documented this experience in detail for those interested in the specifics. The core issue turned out to be our system, which unexpectedly caused a surge in gas usage – something I hadn't anticipated. This problem didn't emerge during development, but suddenly, the gas consumption for joining a match spiked to around 45 million, exceeding MetaMask's hard cap of 40 million gas per transaction. This cap was likely a precautionary measure, as ordinarily, no transaction should require that much gas. While the game wasn't technically broken, for our users, it was as good as inoperable since they couldn't engage in any gameplay. I found myself performing real-time fixes to the game as it was live. Eventually, I resolved the issue, but it served as a crucial wake-up call. It highlighted that even blockchain-based games are not immune to operational challenges in live settings.

Panel Question 7

Norswap:I want to ask you guys about your creative process and how you come up with ideas? I know you have pretty creative people in the game and look like you're messing with these measuring images. Does that inspire you? I mean you're using them in the games, right?

Loaf:I devote a significant amount of time to my work, as one should. When it comes to the creative process, I find it to be one of the most fascinating aspects. My advice, especially for those aspiring to create something meaningful, is to be completely obsessed with your project. It's essential to be utterly consumed by it, to the point where it infiltrates your dreams. This level of dedication is crucial for anyone striving to build something truly impactful.

Kooshaba: In my free time, I primarily engage in playing games, which I find educational regardless of the content. Additionally, I spend a lot of time with my nephews. Their creativity, seemingly boundless compared to adults, often inspires me. I sometimes create small games or game design concepts to test with them. Although they may not fully understand these games, observing their interactions provides valuable insights.

Panel Question 8

Norswap:Are you busy with your own stuff, but what do you think is the best game idea or maybe just infrastructure idea that nobody's building right now that you would really like to see?

Loaf: One of the most significant challenges in our on-chain games is managing hidden information, a complex issue that several experts here are actively tackling. This problem is particularly vexing and often keeps me up at night. Solving it is crucial because hidden information is a vital element in these games. Fortunately, some of the brightest minds are working on addressing this issue.

Kooshaba:I'll quickly mention the games I'm playing and those I'd like to see on the blockchain. Someone should make Runescape on chain. Loot Survivor is close to this. I think Roblox in general is just a beautiful mechanism in which you can play them infinitely.