Web3 Galaxy Brain 🌌🧠

Subscribe
Web3 Galaxy Brain

ZK Gaming with LordOfAFew

13 September 2022

Summary

Show more

Transcript

Nicholas: Welcome to Web3 Galaxy Brain. My name is Nicholas. At the end of each week, I sit down with some of the brightest people building Web3 to talk about what they're working on right now. Today, I'm joined by Lord of a Few, also known as Loaf, Cairo developer and core dev at Realms. Realms started life as a loot derivative NFT collection on Ethereum mainnet. In the year since the collection's initial deployment, Loaf has led the charge transforming Realms into an on-chain multiplayer resource management game. The first module will be called Realms Aeternum. In this episode, Loaf tells me about the creative constraints of on-chain gaming, we dive into the game feel and mechanics of Aeternum, and get a glimpse at future questing modules. their composable ZK architecture enables. We're also joined for brief appearances by fellow Realms dev Threepwave and Starknet dev Etherway. This episode grounds discussions of ZK Game 5 potential in a concrete description of the Realms Aeternum game. I hope you enjoy the show.

LordOfAFew: GM.

Nicholas: GM, GM, Lord of a Few. How are you?

LordOfAFew: I'm well, mate. How are you doing?

Nicholas: I'm doing well. Glad we're going to be talking about this. I was just poring over the master scroll.

LordOfAFew: Oh, nice.

Nicholas: Yeah, I'm pretty excited. I don't know if it's grown since we last talked, but it's very detailed. The whole game is really laid out really completely. Yeah, we've gone deep.

LordOfAFew: Yeah, well, it's actually evolving quite a bit and Threep's been working actually on the first kind of big update for it as well. It's really like an open source document at this point. So the idea is it'll keep evolving as the game iterates and whatnot. But yeah, it's pretty detailed right now.

Nicholas: It's super cool. So for anyone listening who hasn't figured it out, we're talking about Realms and the master scroll is kind of like the white paper, which is bibliotechdao.xyz. If anyone wants to check it out, scroll.bibliotechdao.xyz. And we'll try and get Threep up here to chat about the updates. But yeah, I'm just blown away by just what I'm reading. It's interesting. I heard you talking with, I believe it was the Aether Orcs devs. If I recall correctly, you mentioned that Age of Empires II was an influential game for you. Is that right?

LordOfAFew: Yeah, it's still an influential game for me.

Nicholas: Feels like kind of reading the manual from AoE2 on CD in whatever year that was.

LordOfAFew: God, yeah. How about those manuals back in the day? They were hilarious. They were like Bibles. I feel like AoE2 is like the pinnacle of real-time strategy to me anyway. It never really got better than that. I mean, it's different, like Starcraft and whatnot. But I don't know. I just keep coming back to AoE2. And there's people that have been playing it for 20 years. And if you ever go try to play online against people, there's some absolute freaks that got it. Yeah, I've been playing it for 20 years.

Nicholas: Oh, gosh. That's a great game. That's a great, great game. I'm just remembering it now, how? the sort of villages and the farming, the resource collection, every nationality having their own special unit, the elephant, the Teutonic Knight. It was very influential in my upbringing of video games for sure. Oh, and also the cheat codes, actually. What is it like the Shelby Cobra that you can get? I forget what the cheat is. But you type in the hexagen, it makes a blue and white sports card.

LordOfAFew: Yeah, I think that was actually only on Age of Empires 1. Oh, the original? Yeah, I think that was on mine. I don't think you could do that on 2. But yeah, it's all those units. It's got a lot of depth. And I don't know, somehow it's all balanced. I don't know how, but it is.

Nicholas: That's true, huh? It is. I played a little bit of Warcraft, but the RPGs that were built on top of the online client for the First of Throne. And then I played some Starcraft, especially the first one. But Age of Empires cut deeper. It is a more complicated balancing game when you have all those different nationalities as compared to just three. Although substantially different, three in Starcraft.

LordOfAFew: I think Starcraft is very fine-tuned to... It's a very different game. It's down to the second and down to the micro. Whereas I think AoE is more macro-based. So I guess there's a bit of a smoothing with the balancing because there's so many units. But yeah, it's actually a good segue to what we're trying to do with Realms. It's definitely made a challenge. The idea of an evolving metagame is just really compelling to me. And I think that's... You see it in AoE2, you see it on Starcraft, you see it in any competitive strategy game. That's like this... The game evolves over time. And that's the type of system that we're trying to develop using on-chain mechanics, which is definitely tricky because although stock met's cheap, you still have a serious constraint of the chain. Just the fact that everything has to be determined by the player. You can't be ridiculous with how you write contracts and stuff. You still need to be very efficient.

Nicholas: Okay, I have a bunch of questions. But before we get that, it does seem like the perfect segue in a way because we're talking about this 20 years of AoE2. And the first thing you land on when you get to the Master Scroll, this white paper doc, is the Eternal game. What's an Eternal game? And what makes that interesting?

LordOfAFew: So Eternal game, you definitely went out the first to do that. I think Dark Forest, like Cub Sheep, wrote that famous article that year and a half ago about the Web3 gaming thesis. And really, what an Eternal game is, or an infinite game, that another article recently came out talking about is just the idea of running the entire logic and the entire state of the game on-chain. And by doing that, you create this, you know, it will basically run for the length of Ethereum. It can't get taken down. There's no central servers. By doing that, you create this sensor hyperstructure because people can just keep building on top. People will jump in, jump out, but the actual game will just keep existing. You can't take it down once it's deployed. So that's really the idea with the Eternal game. is that it really is Eternal. Well, Eternal links Ethereum anyway.

Nicholas: In big quotes. Actually, on that subject, I always want to know, I remember hearing Vitalik say, maybe more than a year ago, talking about sort of pruning the state from most nodes in POS while we're talking about Eternal and how uncertain anything really is. Do you know what the story is with state being sort of only retrievable on archive nodes or something having to pay extra DAS? Can that be resolved within the space of a transaction on L1? Or is it going to be like a multi-block thing to get this state that is being archived? Do you know any of that?

LordOfAFew: I've listened to what Danker had touched on that, but I mean, I'm definitely not an expert in that, how they're kind of going down that path. I don't think there's many people that are. But yeah, there is that state pruning. I think that will happen. But you can still retrieve the data. It's like if that information hasn't been used, it hasn't been interacted with, then you get pruned and put into like a deep storage or something.

Nicholas: Do you just pay more DAS to retrieve it? Or does it take more than a single transaction to get that data back live? I wonder.

LordOfAFew: Yeah, I'm not sure. Yeah, I don't know.

Nicholas: Not to derail. So the basic idea is that by using emerging ZK tech, you'll be able

LordOfAFew: to

Nicholas: create an eternal game on L1, but allow you some flexibility in the ZK stuff, allowing you to do higher bandwidth kinds of computing for more sophisticated games, but still have the eternal, in quotes, promise of L1. Is that fair?

LordOfAFew: Exactly. Yeah. Because, you know, all the rollup is doing, you know, is creating this compressed state and it's publishing that on chain in a transaction. And that's what you pay for. But you can unravel that if you have the right built to kind of algorithm, so to speak. So all the kind of state change is happening on stock net that's still getting posted to L1. And so you could unravel it even if stock net went down, and you could get the state back. So yeah, that's how it gets you.

Nicholas: While we're here, we might as well say, hey, Threepwave, how's it going? How's your internet?

threepwave: Hey, how's it going? We'll see. My wife did a surprise trip for me today. So I'm telling the people in chat I'm at a spa. So you can let me know if this sounds terrible. The Wi-Fi is bouncing at night. So I will do my best to participate. I can hear everyone clearly. So we'll see. For those that don't know me, my name is Threepwave, developer on Christian Caverns and a core lord for Realms. So I work with a little bit of you, especially on things around game design and user experience.

Nicholas: Awesome. Glad to have you. Yeah, we're going to, I think we're going to get into it really on. So we were talking about Dark Forest and some of these other articles that have come out recently or in the last year about internal games. There's another reference in the docs, Isaac. I actually don't know what Isaac is. Isaac. Isaac.

LordOfAFew: Ah, you don't know. So that's Guilty Gozer's kind of on-chain reality that he's created, which it's rather insane. He's created a simulation of the three body problem. And so it's three bodies orbiting in space in real time. And the game is to create structures on these planets to push them into the correct orbit so they don't crash and die. But all that computation is actually happening on stock. It's the craziest thing that's kind of running on stock right now.

Nicholas: Is it reasonable to make a comparison to an existing gaming platform to think about what is the same kind of linear progress relevant to blockchain gaming to say, oh, it's like the equivalent compute of you'd need to do it on an N64 or something? Or is it really not a relevant comparison?

LordOfAFew: No, I think that is relevant. In my mind, it's perfect for this kind of low power distributed base layer, but it doesn't have the properties we need to create very complex, provable applications. It's just not designed that way. And so you can turn up the knobs and make it more efficient. And that's what a lot of the current L2s are doing. And you know what sidechains are doing like on polygon and whatnot. You're going to hit your heart constraint because it's not designed to really leverage heavy computing. And the way that I see stocks is if zip files are compressed data, stocks are compressed computation. And so by running the computation off chain and improving it on chain, you don't have to rerun the computation. In a sense, you can prove that the computation has run without rerunning it.

Nicholas: I see. Okay. I think so. Take me through a little bit. What's the consequence of that?

LordOfAFew: Well, it means you don't have to rerun the compute again. And so you just know you can trust that the compute is run correctly. And you only have to verify a tiny little proof rather than rerun the computation and prove that. You just have to verify the proof.

Nicholas: Opposite of Rweave or like a smart weave, like where there, I think you're doing all of the compute on data that is not... Anybody can add data to Rweave and it's up to local compute to verify the step from one input to the next. It's interesting that it's kind of the opposite of that because that for a minute was the prophecy of maybe if we had much cheaper storage, then we could have a different kind of network. Actually, before that, I even have a more basic question, which is what is required? Because in the docs you talk a lot about, or whoever wrote the docs, talks a lot about how Mario and other iconic video gaming moments were the fruit of a constraint. But if the constraint... I mean, it feels like only a year or two ago, we really... I mean, it's been a little longer than that, but many, many people are thinking about this question of on-chain gaming or on-chain art even. It's been going on, but really a lot in the last year or two. Why jettison that constraint of L1 just as it starts to pop off in favor of ZK? What is it that L1 can't do?

LordOfAFew: Well, just as I touched on before, L1 isn't going to be as cheap a disease right now. Once we start, the gas will get back up and it doesn't make sense to be running, I guess, individual users on L1s. In my mind, I think users will be interacting on L2s and most of the transactions on L1s will just be in the machine as in L1. talking to L2s. This doesn't scale. Ethereum only has a throughput of 20 transactions a second. And that's why we have this crazy gas prices in the last year. Well, it's kind of not much now, but when in the height of the mania it was, you have to push these applications to it too. That's how we hit the scale that we need to... We're still so niche right now. We all forget we're kind of in a bubble. But still so many people aren't using Ethereum every day. That's going to change.

Nicholas: Sure, but people aren't even using L2s. I mean, it seems like...

LordOfAFew: People aren't even using L2s.

Nicholas: It's still so early as well. On L2s aside from yield farming, it's not clear to me. It's interesting that NFTs, for instance, have not moved to L2s. I think a big problem people look is how do people actually onboard to this stuff? If you have no ETH, you're probably not going to buy Optimism ETH first. You may buy Polygon ETH or Matic, but even that is so complicated to understand. Oh my gosh, now I have to be like trading WETH on Matic, spending Matic as a gas token.

LordOfAFew: Yeah, it's a barrier.

Nicholas: In a way, the fees of L1 are simpler than all of that. The expense of the fees is less than the cognitive load of understanding how to spend another gas token or something. Do you worry about that for ZK onboarding?

threepwave: Sorry, I just want to say that it's just because we don't have the pipelines in place, right? We don't have the FTXs supplying tokens. We don't have people supplying liquidity, building credit card input forms. It doesn't matter if you're on L2 or L1, that tech can all be simple and can be built. You don't have to take tokens from L1 and transfer them to L2. That's just how it works today. But I see no reason why we couldn't have someone like FTX build their credit card interface, load that up for StarkNet and have that just work.

Nicholas: For sure. I guess you might even want it in a game. This is maybe a different question in the same direction, which is, is Realms aiming to be a commercial success with a large audience primarily? or experimental on-chain art and gaming? that is... Because if you want to seek those people, then you really do need that. Does that seem like a viable pathway to playing Realms, like onboarding directly from NoWallet to whatever on-ramp there is. that'll take you directly to ZK, having ZK gas money? What audience do you think you're making for primarily?

LordOfAFew: Yeah, I think that's the end game. The end game is, and this is totally possible, and there's a lot of teams actually working on this right now, sorry, in stealth. But you wouldn't even have to touch L1. You can onboard fiat directly onto StarkNet. And then because the gas is so cheap, you're not stumping a user with a high cost to transfer an NFT, for example. So it'll be straight from fiat, straight into the game, and you won't even touch L1.

Nicholas: When you're interacting with StarkNet, do you use Metamask or something else?

LordOfAFew: Currently, you can use Arjun or Braavos, which are their native wallets. But it's about to get integrated into Metamask. It's because it uses a different signature that has taken longer. It's not an EVM. So yeah, that's in the process. I think within a few months, you'll be able to interact with Metamask. So you might be able to do it now, but I think you need to do a few tricks to get it working.

Nicholas: But in general, the experience of using StarkNet is something like using a wallet on an EVM chain.

LordOfAFew: Well, I think most wallets will just kind of get built into these huge apps that emerge. We'll probably go down the path of doing that as well. And so, you know, the user doesn't really know that they don't need to download Arjun or anything. It's just like baked into the app.

Nicholas: They will need to have some tokens to pay for minimal transaction fees or metatransaction?

LordOfAFew: Yeah, they'll need some tokens. But that can all just be done abstracted away when they buy the fiat as well. Just straight away. So they don't know. They just be like, okay, I'm going to load it up with $10. And that's the tokens. And they don't even touch anything.

Nicholas: Typically, when you're sending a transaction on StarkNet, are you spending ETH to pay for the transaction or you can spend any token?

LordOfAFew: Currently, you spend ETH. That might change in the future.

Nicholas: In the next year, it seems like on this call, start playing with CK. They're going to start playing on StarkNet with paying ETH for transactions for the foreseeable future. Correct.

LordOfAFew: Yeah, I think StarkNet is planning on actually using their native token to pay for gas at some point, but I'm not sure when that's going to happen.

Nicholas: Okay. Interesting.

LordOfAFew: Yeah, I think that's the outcome of that's. the constraint is that this is this new medium where users pay to update the stuff. That's where these interesting design ideas pop up and emerge, which is what's happening right now. I get some weird kind of space on chain gaming. There's also EtherWay who's on the call, who's actually building Influence. This is another great StarkNet game. It's kind of a big space MMO.

Nicholas: Maybe for people who aren't familiar with realms, we should just give a little bit of ground on where realms come from.

LordOfAFew: Yeah, we kind of just jump straight into it.

Nicholas: I love it because I feel like there's other places where you can get that basic stuff, but we should do five minutes on what is realms.

LordOfAFew: So realms originally was 8,000 generative maps, which spawned out of the loot burst. And on these maps is 22 different resources spread out across all 8,000 realms. The most common resource is wood, appears on like five and a half thousand realms in this dragon hide, which is the rarest, which appears on 23 realms. And each realm has their own traits, harbors, rivers, regions, and cities. And so that was the kind of base NFT that popped up straight after the loot mania. I think our birthday was two days ago. I heard that. Cheers. We emerged out of the loot burst and I didn't actually deploy the young realms contract. Realms dev did a conspiracy, but we basically did the emergence of BibliothecaDao is a red bearded myself. I think about this time a year ago, we were kind of got, we got snarked by loot, but we missed the mint and we didn't want to pop a derivative. So we thought, well, let's make a site where people can log in and, you know, see their inventory of all the loot items. And so we hacked together a site on a weekend and made a sub graph and that's what you could do. You could log in, you can see everything that you have in the whole loot universe. And we really liked realms and more like, well, we want to make a game. So we kind of, we partnered up with the realms dev because he wasn't quite sure where he wanted to take realms. And so we partnered up and we started building a game. and the first game we actually designed was it's kind of similar to what we have now, but we were actually going to build on an arbitrum. This was back in October. I remember this. And you remember this? Did you play the alpha?

Nicholas: I did play the alpha, but I remember hearing about arbitrum before I heard about this darknet stuff. Yeah.

LordOfAFew: Yeah. So, I mean, arbitrum is a great network, but we kind of designed this game and I was, you know, I was using the dark, I mean standard contracts. I was like, and we just kept running into these like issues of like, you know, any solidity dev knows, you know, like contract size limit, function size limit, like stack limits, like view function limits. If you consume too much gas, the RPC connects is to say no. And so there's all these constraints, which is what I was touching on before with AVM that I just don't think are allow for like to create a really expressive game. and like games are complex and like we wanted to create it. You know, we want to create this like complex internal game. And if we're hitting the head space before we even launch the game, I mean, what are we going to do in the future? So we kind of went down that path and we built a prototype and then we realized we're hitting these constraints. And so like, okay, crap, what do we do? And we kind of then just got stopped by stock net because we saw this whole idea of compressed computation, account extraction, and all these other features. And so like, well, look, it's early and it's kind of rough around the edges right now. But I mean, this is a promise to create a very immersive, you know, on chain world. And so we kind of scrapped all our solidity code and rebuild everything in Cairo. And like fast forward eight months now, now we've rebuilt the entire game on stock net and we're very close to kind of a public alpha, but we're just iterating fast on it. But the game is probably the way to describe it would be like a slow age of empires with the kind of complex economy, kind of like Eve, but not quite as complex. And all the realms exist on this XY plane. You know, you can take your army from one realm and raid another realm and still have resources. But I mean, really the way that we've designed this from the get go is that it's all open source. We're developing it in Biblio Thiketau and anyone can contribute and come along and build the game with us. So we have our core set of modules which are running the game, but the modular design of the game allows anyone to come along and extend it if they wish.

Nicholas: And so the basic mechanic of the game, if I understand correctly, is that owning a realm, realms generate whatever types of resources, whatever resources are the properties of that particular realm. And they also generate lords, right? Every realm generates lords. But just give people a high level overview, like they're generating resources. You own the NFT, it generates resources. You can collect those resources. Maybe they hang around for a little bit if you don't collect them. But if you eventually don't, they disappear. And then you can spend those resources on buying different types of units, such as military units or kind of civilian units. I don't know what you call them.

LordOfAFew: You can kind of increase your... There's like two different paths you can take. You can... You're constrained by kind of an XY grid, which is determined by how many cities and regions you have. You might have a hundred square meters of building space. And in that space, you can build barracks or you can build like military units, sorry, military buildings. And once you build military buildings, you can then build military units, which can provide... Then you make an army. And with that army, you can go and raid people and steal their resources. So that's kind of like the military route. And the other route you can take is kind of an economic route where you can build workhorts, which take up space on your realm as well. But they also help to increase your resource output. And then you can build farms and fishing villages, which generate food. And you need food in order to kind of keep your population happy. Otherwise you're permanently resource capped and you need food to feed your army. Otherwise they go hungry and they only have half health. And so you get wrecked in battles. So yeah, there's quite a lot of deep mechanics going on in there. And we are layering, like it's at this point, it's like an iterative process where we kind of have this build and we're layering more and more complexity on as it goes.

Nicholas: And are you play testing this as you're building it?

LordOfAFew: Yes. Yeah. So we've kind of got it to a point. I think the Sony way to design a game is, you know, you get it to a point where it's playable in some sense and then keep iterating on it. I mean, you never really, first build of a game is never really, you know, you can't release that.

Nicholas: So yeah. Is it fun?

LordOfAFew: We're play testing at the moment. Is it fun? Well, it's fun and novel because it's, you know, everything's running on chain. So and they're really, I mean, just touching on another key feature of stock net is this idea of account abstraction. And account abstraction is, it has in a nutshell, like, you know, EVMs, like main net and any other EVM doesn't have account abstraction, which means your Metamask account is a different, like it's not a contract. It's like you have Metamask, you have externally owned accounts, which is like your Metamask and then you have contracts. In a network that has account abstraction, you just have contracts, which means that you can create like programmable accounts in a sense. And so you can do a lot of interesting things with that. But another key...

Nicholas: I was listening to the founder of Argent on Siena's Into the Bytecode, I think it was. And they were mentioning that there's an EIP for account abstraction on EVM. It's coming, yeah. It's being built directly into the into stock net.

LordOfAFew: Exactly. Yeah. So it's like native. Exactly. It's like native, like they designed it from the get go. to have a really simple property that we're really leveraging is some idea of like a multi-call. So that just means instead of having to sign every transaction after an action, you can kind of queue up this thing, what we call a transaction card. So you can kind of think of it like an e-commerce card and you can add, build an army on Realm 1, build an army on Realm 2, harvest resources on Realm 3, and you add all these transactions to your transaction card and then you just sign at once and they all process. And so it's a massive throughput step change, which is really crucial.

Nicholas: I definitely re-round that part of the episode to listen to them talk about multi-call. So basically for the uninitiated, this is like you could bundle, for instance, an approve transaction for moving your USDC and the transfer of that USDC. And you could execute that with a single transaction is something you could do with multi-call on L1. And the same thing can be done for, it's especially useful when you're doing actions that require even more sequential transactions to bundle it all into a UX where it feels like just one transaction for the user.

LordOfAFew: Yeah, exactly. So that's kind of what's amazing about it. So just to give you an example, like let's just say you don't have enough resources to build the barracks. So you go to the exchange, which is we've got a native AMM, which allows you to trade any resource with Lords, which is our native token. And so let's just say you don't have enough resources for a barracks. So you go to the AMM, buy the amount of resources for barracks, add that to your cart, and then you queue up actually building a barracks. And then you can't build troops without your barracks. So after you've added the barracks to your queue, you add building troops. And then you process that and it will still process. So buy the resources, build the barracks and build the troops all in one transaction.

threepwave: It's kind of like using an e-commerce site, like when you order your delivery and you just add everything to your cart and you hit submit. It's a pretty novel experience.

LordOfAFew: Yeah, it's a total game changer.

Nicholas: That's cool. I'm excited to try that. And that's really something that's not like high level primitive on L1. I mean, it's available, but it's not something that's in interfaces very much. I don't know. I guess for more like Instadap or more sophisticated things where you need to do multiple steps to stake something or something. But I don't see it that often that transactions are bundled in the UI. So it's interesting that given the bandwidth limitations being broader, you're more likely to do more transactions. So you need bundling even more so.

LordOfAFew: Yeah, all on-chain games are going to suffer from this. I mean, we try to minimize transactions as possible. It's like 100x UX improvement by doing this. I mean, I think someone did 50 transactions queued up the other day in one, which is insane. I mean, like, but if you do, there is like definitely some things to figure out, though, because like if you have, if you don't order them correctly right now, then like they won't work. So there's definitely some polishing to do. But that's all kind of client side validation type stuff.

Nicholas: Crazy. You had some thoughts on sort of just thinking about the bandwidth limitations of these different chains or even, I guess, more recent games too, right?

threepwave: Yeah, I think what I was going to share is if you look at, and dear Lord, I hope my internet holds up so it doesn't just yell at me. But if you look at modern games, modern games right now, if you look at Overwatch or even like a Warcraft 3 style game, League of Legends, they sync state back and forth between the client and the server 30 times per second. So the server is saying, I've got an update for you. And the client is saying, great, I'm going to send back my movement. If you look at how Overwatch does their netcode, when a player presses a button, they're actually sending up the last three commands that they just ran, sending it to the server. The server then figures out what they think is going to happen next. And then they send that right back down to the client. And that happens like 30 to 60 times per second. And if you look at what happens on L1 today, at the highest, highest level, the reason these on-chain games are so hard to make and that we hit these constraints is that we are sending one transaction, which take from a user up to the server, maybe it takes 30 seconds to a minute to go through for a single button press. And then maybe it costs $30 to $100. So with L2, we get some benefit. And with, sorry, with DK Rollups, for example, we will get some benefits where the transactions may take, I think, look, you can correct me if I'm wrong, if you get something like five seconds, and it will be much cheaper. But we're still nowhere near the throughput required to what you would expect from a mainstream game today. And so when people talk about hardware limitations and the limitations behind these games, for me, it's helpful to think about this is not like building a game for a modem in the 90s like Quake. This is like going back way back to the days of EBS or email-based games where you kind of send up one transaction and you wait a few minutes for something to come back. So the types of games you can build, the whole realms game and maybe the other games are being built right now are architected around this idea that you can't just send state back and forth, send commands back and forth. You really have to be thoughtful with what you let the player send up. And you really have to architect your gameplay, not just your backend and your servers, around this idea that the player can't just constantly spam commands for the next 45 minutes or hour long. And to me, that's like the real big problem we're all trying to solve here.

Nicholas: So by extension, like critical question I have for GameFi is like, is the problem really the bandwidth or is the problem that people don't want to play games on chain that much yet? My question is, is the constraint not that people don't care, that there's nothing for them to care about enough yet, rather than the bandwidth limitation being a problem? But what it sounds like you're saying is that sort of decreasing the limitation of the bandwidth allows you to create experiences that are more engaging and solve the problem of player engagement.

threepwave: Yeah, I think we just haven't even scratched the surface of what's possible yet. And if you look at what we have, we have a globally distributed computer where the state is synchronized across the entire world in real time with no service costs and no server maintenance. And the modules, it's in a totally open architecture that is composable. So every single module, every single smart contract can interact with other smart contracts. Where we are today is a couple of us are trying to build games that kind of look like games that already exist on chain. And if you go back to the time of mobile, that's what happened too. People tried to build games that looked just like first person shooters on phones. And it turned out Angry Birds was the right mechanic, which is a combination of physics and real time interactions that utilize the medium or that surface that was the phone. And so we have to figure out what is the new shape of games on chain. The unique thing about Realms from my perspective is that Realms is a modular game. I was not originally on the Realms team. I also wasn't on the BigLeapDecadao team. I created a separate product called a separate application called Crips and Caverns, which is a set of maps. And when Lope and I talked, he doesn't say things like, oh man, well, we're built in Unreal and you're built in Unity and our backend works this way and your backend works that way. He said, hey, let's get this thing running on StarkNet and let's figure out how we make our two contracts talk to each other. And so from my perspective, the pain that you're describing is transaction speed, throughput, cost. But the benefit has yet to be realized because we're at such an early stage. But if you could imagine a game like Realms where every month a new group like myself come and build a module for the game that could bring dungeon maps, that could bring monsters, that could bring world bosses, that could bring new types of economy, they could bring sea boats. There's so many different things you could add to this. And as those systems start stacking together, they create unique gameplay opportunities you could never have from a traditionally built game built and maintained by one company. And so to me, that's one vector. There's a lot of other vectors. others are exploring. But this idea of a composable modular game that never ends is something you just can't do without. at least the best tech I've seen for it is blockchain technology today. It is very hard, if not impossible, to do it on other technologies because the incentives do not align and the systems are not interoperable.

Nicholas: I have no doubt that people who are enthusiastic will build mods and extensions to things. But I'm curious, I felt like coming out of the Lootverse in particular, loot was very hyped, its token achieved incredible all-time highs. And then a lot of other projects like Realms were launched that had a life, frankly, that's been more exciting than loot directly. But over time, there's a lack of justification for those extension projects to remunerate the token holders, especially if the community is kind of dead, like loot, like V1 is sort of dead, at least for the moment. You want to reward the people who are playing in the Realms community rather than just like whatever, some number of VCs that still hold a ton of loot, but have never even claimed their Genesis mana or whatnot. So my question is, do you have any initial thoughts on how the economics work with extensions? Is it something where, because they're all tokens that are on Starknet, that people will be, you'll be able to do not necessarily vampire attacks, but other kinds of like tokenomic modular additions that allow those teams to create revenues of their own and survive? Or are they just doing it out of the goodness of their hearts, do you think?

LordOfAFew: Yeah, so the way that we're treating this is that each mod, it's kind of like a app storage type model. I mean, not the best analogy, but it's that, you know, you can come along and create a module and, you know, if it gets, firstly, it doesn't actually have to get included as a canon into the main game, because anyone can actually interact with it if they choose. But if it does get included into the main game, you know, the developers can actually build in a small fee to actually use that module. And so let's say someone creates a trade route module between Realms and, you know, whenever that module gets used, like some of the resources that get traded through it, it's like a tiny tax that gets sent back to the module developer. And so there's the incentive to actually keep building these things.

Nicholas: Oh, very cool. And actually, so we should get to this one high level understanding, which is that all of the tokens that are generated by the Realms that can be used to buy huts for harvesting and building things, or building military buildings, etc. All of those fungible tokens that are being generated by the Realms are in pairs with the Lords token. And so can you maybe explain a little bit about the logic of how those swaps will work?

LordOfAFew: So yeah, it's just like, it's an AMM. And so you can trade as many resources as you want with Lords directly, and vice versa. So you can generate your resources, and then you can trade it back into Lords, and you can buy whatever resource you want. So it's just like a Uniswap for our game tokens, in essence.

Nicholas: And is it something that you would deploy yourselves, or would you be using Uni v2 fork?

LordOfAFew: Oh no, we've got it. It's deployed. It's working. It's all got it running in the game.

Nicholas: What's the advantage of deploying your own versus using whatever the best AMM is?

LordOfAFew: We're using 1155 tokens, not just ERC20 tokens. So Lords is an ERC20, and Uniswap token is an ERC20. All those, they're all the same token type. But our in-game resources aren't that token type. And so Uniswap isn't a 1155 market. It's just a 20 to 20 market. So we can't use that if we wanted to.

Nicholas: What was the advantage of choosing 1155 for the in-game resources aside from Lords?

LordOfAFew: It's significantly easier to kind of manipulate in the game state, because if you have to, there's 22 resources right now. Actually, sorry, it's more. There's 22 resources, but then there's two resources for food, which are also in the same kind of contract. So the benefit of doing the resources like this is that you have one contract for all the resources rather than 22 different ERC20 contracts.

Nicholas: So wood is token ID, and metal is token ID. Exactly, yeah. Then there's a bunch of quantities of each token ID, but they're all in the same contract.

LordOfAFew: Exactly, yeah. They're all the same contract. So the way we do call structures and whatnot, if you buy a barracks, it loops, it checks, it'll subtract resources from your wallet accordingly. But if we were to do that the other way, then we'd have to subtract resources from five different other contracts. In a game environment, it makes a lot of sense. We have these resources right now, but the Crypts & Caverns module will introduce another six resources as well. So it becomes very unwieldy and also costs a lot more if you're going to do it the other way.

Nicholas: And those, say for the Crypts & Caverns resources, those will be new 1155 token IDs on a contract that inherits the original contract? On the same? It's the same contract.

LordOfAFew: It's the same contract. So it just extends it. So I think it's IDs 23 to 28.

Nicholas: So hot resource token IDs is the next horizon.

LordOfAFew: Yeah, exactly.

Nicholas: So basically, I have a realm, I have a dragon hide, some rare resource, but I need wood to build barracks. So I go to your AMM. By the way, is it NiftySwap?

LordOfAFew: Yeah, so it's actually, we're inspired by NiftySwap, but we've rewrote it in Carver. And so it's kind of native now. It's a bit different now.

Nicholas: Crazy. Can you explain a little bit what NiftySwap was and what you're doing differently?

LordOfAFew: NiftySwap is developed by Skyweaver guys. Yeah, Horizon, yeah. Coming in, yeah. Horizon, yeah. It's just a, you know, it's an AMM design that allows for 1155 contracts to interact with a ERC20 contract. So instead of just trading like one to one, you can trade like Woodstone, Coal, Copper, or whatever you want up to like 22 of them directly with Lords in one transaction. So you don't have to do one at a time. You can just buy 20 at a time or 50 at a time, basically. And so it's an AMM design that we existed in, or that they developed the original contract in Solidity, which is a very nice contract. And we just decided to remake it in Carver. So we've changed it a bit because of kind of Carver's quirkiness, and added a few new features. But yeah, it's just so nice. It is open source as well, so anyone can actually use it.

Nicholas: I can imagine interacting with that marketplace is going to feel very magical to people who have a lot of experience on L1, like swapping tons of tokens for other tons of tokens. It's five seconds turnaround time, free, essentially free gas. Yeah, it's quite magical. And it's all going to be field farmed in a way. It feels like free resources, at least at the start, if you have an NFT, right?

LordOfAFew: Yeah, yeah. I think this is the challenge, is like, we don't want to make a yield farm. We're trying to create these, a lot of burn mechanisms. So there's a constant, there's an equilibrium between production and consumption in theory. We'll see what happens, but that's the idea. And so I don't think the resources are going to have a huge value, but they're going to be in high demand. And so you'll have to be... I just think AMMs are like, I'd probably argue that the biggest invention that's come out of blockchain as an out player. And I just think that they don't leverage enough in games. So that's why we're using them.

Nicholas: So essentially Realms is a free resource to play game on StarkNet.

LordOfAFew: Free resource. Well, yeah, I mean, you generate the resources, but the idea is that people can come along and craft those resources together to create high level resources in the future that do other things in this game world. So these resources are kind of base primitive, but they can be composed together to create the next layer.

Nicholas: So to play the game, does somebody have to, essentially has to own a Realm NFT?

LordOfAFew: Yeah. So the game that we've been talking about is called Aeternum. And so it's like the Realm, first Realm. And so you have to have a Realm to play that part of the game. But it's really just like this. first, it's really the first module for this world we're building. And the next module we're building, which comes along with the Crypts and Caverns, is this Adventurer module. And the Adventurer module is this free to claim on-chain character. And with this on-chain character, you can equip it items. And you'll be able to quest it in Crypts, and you'll be able to quest them on Realms. And that will be free to claim, but it will still exist in the same economy. And so these little Adventurers will be able to craft items and sell them back to the Realm holders or other Adventurers and whatnot. So the idea is that we're creating this full-blown on-chain economy.

Nicholas: So I was going to say even before that you could play the game without having a Realm in the sense that you could go and spend your die or ETH on Starknet and just buy all the food to starve all the Realms.

LordOfAFew: Yeah, you could. You could just play the market, really.

Nicholas: But now that there's this future sort of questing Adventure module, then it is sort of free to play in the sense you can claim the character for free and then start playing the game and buying the resources that are being generated on NFTs that you don't need to own yourself.

LordOfAFew: Yeah, exactly. Yeah. And we're going to be taking the actual original loot contracts, we're going to be distilling them onto Starknet into their individual items. And then those are the items that you'll be able to equip onto your Adventurer. And so it will create this whole new metagame around that.

Nicholas: All right. I have a reason to hang on to my loot then.

LordOfAFew: Hang on to your loot. Loot's a historic NFT. It's just, you know, it probably got the VC because of death. Like a few projects have.

Nicholas: Unfortunately, yeah. There's also a lot of talk about how generating a treasury might have changed the course. I know Dylan from Figma was a big proponent of that. But it was sort of the discussion about that happened at the same time as there was discussion about transforming the governance of loot, which had no governance, into AGLD-denominated governance. I think they were presented as part of the same kind of wave of proposals very early on and it following a different path from now, where it wasn't generating a treasury and maybe people would take it on and do their own things with it. But it does seem like the VC kiss of death, paired with the lack of a treasury, seems to have sort of created incentives where builders who are interested in loot don't have a direct incentive to build on top of loot itself anymore.

LordOfAFew: Yeah, I think that was definitely one of the issues. I think you need a treasury just to keep momentum. And I mean, this whole space allows for some really interesting treasury creations like NAOS and other things. But yeah, I mean, it is what it is, right? But it still sparks, you know, I mean, has there been another project that sparked that amount of derivatives and that amount of other projects that's ever existed?

Nicholas: It's a beautiful project. It remains a beautiful project. And I think there is, I was talking to somebody, Kenny from Studio DAO about SharkDAO, someone in SharkDAO, and SharkDAO had been sort of dormant for a while. And he kind of taught me that these things that have a major cultural moment and maybe aren't so productive at the time you're observing them, doesn't mean they're dead forever. Things can still happen in the future. They can be picked up and repurposed in different ways, especially something like loot, which is essentially CC0.

LordOfAFew: Yeah, I mean, I think we all have attention spans of ants these days, especially in the military. Everyone just expects things to happen overnight. But, you know, world building takes time. And loot's definitely not going anywhere. You know, we're not going anywhere. You know, we're building for decades, hence the Eternal Game. Loot's going to live on. And there's a lot of other builders happening. You know, there's a lot of things happening right now. I think the Genesis I just launched, which is a really great on-chain library.

Nicholas: Yes, I haven't taken a look at it yet, but it seems to be interesting. It's from the people who did Genesis Adventurers, Genesis Loot. So I'm excited to take a look.

LordOfAFew: So loot's definitely not going anywhere. It just depends on how you look at it.

Nicholas: I had a random question from reading the docs. What is Strollslee? Is that the grid of each realm? Strollslee? Yeah.

LordOfAFew: That's just realm number one name. Oh, really? Salty? That's just the name of the realm.

Nicholas: Oh, okay. It's peppered through the documentation. It's just because it's examples of visualizations. I see. Okay. Silly me. So you talked a little bit about the military and economic paths, but I think now we have a better understanding of how the game kind of works, at least the first module of the game, let's say. What is the play feel of the game if you're following one or the other of the military or economic paths? What am I doing when I'm actually playing the game?

LordOfAFew: So every realm exists on this XY plane, and so you have to travel from realm to realm if you want to attack it. So let's just say your closest realm you can attack is 10 minutes away. You would create your army and then send your army off on its travel. And after 10 minutes, then you'd be able to attack that realm. When you attack the realm, if you're successful, you steal some of their vault. And so you pillage that realm and those resources become yours. Then you go and trade them and build it up next army and keep pillaging. And so it's really about a game of conquest right now. This is like the way we've designed the combat system. It's still quite primitive because it's tricky to create a complex metagame. And so we're going through a few iterations still to try to crack the funnest element of it. But having this spatial time element will create, in a sense, a social layout because you'll see where realms are traveling to. So you'll probably avoid traveling to the same realm. another realm is traveling to or you can team up with people and go and actually wreck someone if you're going to raid them at the same time and actually totally empty their vault. So yeah, that's really the core of the game. You've got to manage your economy in real time and then you've got to manage your armies and you can build up the defense. Loaf, I think you got rugged.

Nicholas: Oh no, Loaf got rugged. Well, what better opportunity than to say, hey, Etherway, how's it going?

LordOfAFew: Good, good. Sorry there, Loaf. We can't hear you if you can hear us.

Nicholas: Etherway, what are you working on in the space?

LordOfAFew: Oh my God. Yeah, so briefly mentioned by Loaf earlier, I am working on a game called Influence as a Space Strategy MMO. It's built on Chain and on Starknet. This week has been absolutely nuts for us because we launched new features into our testnet and we incentivized it and we've had thousands upon thousands of people basically trying to break our game in every which way, which is exactly what we wanted. But I've been like an octopus in terms of chat support. I didn't know that I had eight arms, but I've been in the trenches of chat support for about 14 hours a day since Monday. I took a break to listen to this just so that I did not have to do chat support, although I am in the Discord right now also chatting while talking. It's been a hectic week, but it's exciting.

Nicholas: Awesome, awesome. Loaf, are you back?

LordOfAFew: Can you hear me now? I don't know what happened there. I could hear you guys.

Nicholas: I think you were saying you could work together to visit another realm altogether to do teamwork raiding someone else.

LordOfAFew: Yes, exactly. So you can take up with your realms that exist near you and plan out a strategic attack to empty your enemy's vault. The world is actually a one-to-one scale of the actual earth. That's how big it is. And they all exist on XY coordinates. Traveling to the other side of the world, we're not quite sure the exact time that's going to take, but it's going to take quite a bit of time. So there's going to be localized battles going on all the time. I'm open for big travels. So I've got a strategy question for you when it comes to realms. Do you think maybe owning Dragonhide is probably a dangerous game to play?

Nicholas: I feel like you're going to get raided all the time.

LordOfAFew: Yeah, so you should, because you have something rare. So everyone's coming for you. But you still get your part. You still can generate unstealable resources every day. It's just. you'll probably never be able to claim your vault. So your vault accrues over, apparently, it accrues over seven days. And so if you survive seven days without being attacked, then you can claim your entire vault. It'll be seven days of resources.

Nicholas: Of whatever's unique to your realm, the properties.

LordOfAFew: Whatever's unique is exactly, yeah. So it's kind of like this big bonus that if you can survive until then, you get this bonus. And so the raiding kind of aims to actually balance out the resource distribution. So Dragonhide kind of gets distributed because people are raiding it. Otherwise, it's too concentrated, right? And so that's how we're kind of balancing the consumption of things. It's like there's an equilibrium across all the costs of buildings and farms and troops. But we'll see what happens in the economy. I mean, it's totally unpredictable in a free market, right?

Nicholas: So for example, if I had an NFT realm with Dragonhide, or whatever the most valuable resource is in the game, then I might choose to pursue the economic path where I sell this valuable resource on the market and put what profits I can make from it into defending from raids. Whereas if I have a worse realm, I might try and attack.

LordOfAFew: Yeah, I think that's probably going to be a strategy that will emerge, is that? use your wood realms to amass big armies and raid people. And your rare realms, you'll probably always be on the defensive.

Nicholas: My big question about this is, given that it's an eternal game, are you allowing the development team still the strings to pull to play with balance? Because it seems like something where the balance is constantly going to be in need of change.

LordOfAFew: Yeah, so the actual, like right now in Alpha and Beta and whatnot, we'll be tweaking that with velocity. But once production is launched, balancing will be able to go through the DAO vote. And the DAO is currently governed by all the realm holders. So it kind of forms this world government that can come together and vote on changing the game parameters, if they choose. So the actual game will evolve.

Nicholas: Token. Realms. Yeah.

LordOfAFew: Well, there's 2,000 holders. There's some big whales. But yes, it's pretty, it's a decent distribution. But I expect that to become more distributed as time goes on.

Nicholas: I guess also, you wouldn't really want to ruin the balance of a game that you are a whale.

LordOfAFew: No, it's kind of counterproductive to do that. So if you want the best game, everyone's incentivized to create the best game. If everyone's, in a sense, sharing ownership.

Nicholas: Okay, so that's interesting. So now we get a little bit of a feel of what the gameplay might actually be like from a player's perspective.

LordOfAFew: There's a big globe as well. We've created this 3D representation of the whole world, which kind of just interprets the unchained coordinates. But you can visually see how far you are away from other realms. It's quite proud of the globe. It's quite fun to just crawl around it and see where realms exist and whatnot. The map's fucking rad, by the way. Thank you. It's got iteration as well. We're probably going to pipe in real-time data into it, so you'll be able to see where people are traveling to in real-time, when battles have happened. So you start to sit back and watch the whole world interacting. Yeah, full of art, empires rise and fall, et cetera.

Nicholas: Okay, so this is really, really not the same kind of game, but I am a little bit in a rabbit hole lately on YouTube of watching this guy, CGPlays, play Territorial IO. Have you ever seen this game?

LordOfAFew: I have not.

Nicholas: It's like, in a way, a very stripped-down version of this with the sort of tighter constraint. It's like just a rectangular map. It looks like the map of the world. There's many, many, many players spawned all over the world, and they have a natural population growth that grows the surface area of the map that they occupy, and then they start to abut one another. shortly into the game, maybe a minute into the game, they're all touching each other. And then they can dedicate a portion of their population to attacking neighbors. And there's also a communication layer where you can right-click on another player and send them an emoji message. And there's emojis that represent peace agreement, or you can tell them to attack somebody else, or you can tell them to do a handful of other very, very basic communication features. It might be interesting just to look at as someone who likes games, but I wonder if that's something of what the dynamic will be, where people are really communicating a lot, even lots of deception, in order to... In this game, for instance, what you really want to do is grow your population so that you can do attacks, and there is some game theory to how much of an advantage you need to really be able to win. So you encourage all of your neighbors to focus on attacking each other while you build your population. And then eventually you attack strategically the ones that will allow you to vanquish them, and then collect their territory in order to grow your population faster. I wonder if this is something like what... It's not Realms, Eternum, you said it's called?

LordOfAFew: Eternum, yeah, Realms Eternum. That's the game name. That sounds like a fun game. Yeah, I mean, the idea of diplomacy is very fun. And I think some of the ideas around, you know, perhaps you can create a peace agreement with a Realm on the other side of the planet, and so by creating that peace agreement, it means that your troops can heal there, or you can fast travel there, but it also means they can fast travel to you, so that means they could also instantly attack you, which might create something interesting out of that. So you could deceptively give them a peace agreement and then just actually wreck them and then cut your peace agreement so they can't get back to you.

Nicholas: A three wave suggested on text, and I think it's a great question. I'd love to hear what has changed since the first alpha to right now, but especially I want to know, has there been like, obviously you look at something like Dark Forest, like DAOs that can coordinate, you know, larger quantities of resources can change the game, but there's like a whole other metagame that can happen, they're not individual players anymore, they're something else.

LordOfAFew: Guilds.

Nicholas: Okay, are there guilds in Eterna?

LordOfAFew: Yeah, there's guilds that are quietly doing mischievous things probably at the moment. There's a few guilds we're talking to and then there's like, just to touch on another great benefit of account abstraction is that you can do these very cool guild structures that can have any parameters you want. Actually he's part of the core team now, his name is DistractedDev and he's created a guild system that allows you to basically play co-op on-chain games. So you create a guild which is a contract and it has different permissions, so you can be the admin, you can be a member, you can just be a user or anything else. Let's say, as an admin, you can deposit your NFTs in and only you can actually withdraw them. But whilst they're in the guild, it means that members can actually use those NFTs. And so you can kind of create this guild system where maybe you can run in shifts. So like say I'm in Australia, I'll do the day shift and then when it's night, and then you can do my night shift and then it's just basically 24-hour gameplay in this guild environment which is quite cool. And then the guild could also have different parameters like let's say if it's not your NFT and you harvest resources, then you also get a little bit of those resources as a payment for managing that realm. And so I think that's how we because it is quite concentrated right now with the 2,000 helpers but the best game will be if there's like 8,000 individual people playing each realm, that'll create the most energy in the system.

Nicholas: I want to say not my NFT, not my game fi or something. Maybe there's a movement against these kind of abstraction ways of playing.

LordOfAFew: These guilds, no I think everybody likes playing co-op. It was a damn shame they started scrapping couch co-op, right? And yeah, I mean I'm going to create a guild to play influence in realms and I'll probably get some of my other friends who aren't that deep into this space to start playing through my NFTs and I'll onboard them that way. And then there's a bunch of other people that will do the same.

Nicholas: That's cool. That actually makes a lot of sense especially in terms of engagement with something that's going to be quite technical. There's a lot of people who play games by watching a close loved one play games and have a lot of experience with games that way. Or on YouTube also, I mean, jeez, Twitch.

LordOfAFew: You can like share your game NFTs now through these guild systems safely. So, you know it's a trustless environment. I think it'll really help to onboard more people.

Nicholas: Fascinating. What are Goblin Towns?

LordOfAFew: So, Goblin Towns, you spawn randomly on your realm and you have to cross the middle to earn your lords. So nothing's free. So it's not just like a click and claim lords. You actually have to build your army which you have to build a barracks for or any other military building. And then with that army, you have to go and kill your goblins. And then once you've killed the goblins, you get rewarded in lords. Cool. It's kind of like barbarians in civilization.

Nicholas: I haven't played Civ actually. But basically, there's something that's almost like mobs that you just can deal with relatively easily.

LordOfAFew: Yeah, they're not going to be that hard. They're probably going to be relative to how rare resources you have on your realm. If you have Dragonhide, you probably spawn fairly strong goblins. It's just, you know, it aims to balance the game to make it fun for everyone playing. But you still have a huge advantage having those rare resources. This is not as easy. The goblins aren't going to be like crappy goblins raiding your wood realm. You're going to get pretty strong goblins raiding your Dragonhide realm. Although they don't really raid you. They just kind of sit there and you have to kill them.

Nicholas: So I know that there's a concept of troops, different types of troops and that they can be combined into squads. Can you explain that a little bit? Yes.

LordOfAFew: So the current combat system is you build an army composition, like a squad composition of we have 16 different 12 different troops right now and so you can just create you create the army of 15 different troops and then that army can have any composition you like and then you use that army to raid goblins or raid other realms. But I think we're probably that's the first kind of combat system that we've developed because it was quite a challenge to do that in contracts because there's a lot of backing and expanding simulation between two armies going on. but we're actually already working on the next version which is probably going to be a lot deeper and allow for some more strategic type gameplay. But yeah, these things take a bit of time. But yeah, that's the kind of current combat system we have right now. It's all an iterative process, right? It's touching on this whole new constraint and you don't really know how it's going to feel until you build something. So we built this thing and it feels fine but we're thinking that we need to go a bit deeper in terms of its strategy. Kind of a measured gameplay capacity.

Nicholas: I'm curious in terms of modularity. say the troops and the squads are kind of going to be ignorant of the Crypts and Caverns module that comes forward in the future, correct? Like they won't be interconnected characters.

LordOfAFew: We might make it so squads can actually raid Crypts or we might just make the whole Crypts module really dedicated to the adventurers. I ask less to

Nicholas: like nail you down on some tech spec that's deep in the stack relative to people who haven't played the game but more because I'm curious, it seems like when you set up modularity in these games, of course anybody can read any of the public view methods or however it works in Cairo. but you're not going to let people bring their own characters where they can create their own contracts and set their own properties in order to dominate a combat system for instance.

LordOfAFew: Yeah, like any big change to the game state will have to get approved by the DAO. So they'll go through a process of auditing and some kind of balance. Get right access to any other contract and you need permissions to do that. So yeah.

Nicholas: For sure, but let's say you were to have a, I don't know. in a simple imaginary example, let's say that the combat system is something that sources player characters from another contract, the DAO would want to have control over which contracts are admissible to bring characters to the table or something like that, right?

LordOfAFew: Any cool update to the game. it can't just be a free for all. There's going to have to be some process to it. That will be controlled by the DAO. Right.

Nicholas: I wanted to ask also, I saw in the docs that there's the orders from loot are not able to fight with one another in the initial drop of the game?

LordOfAFew: Correct, yeah. So you can't attack your own order. So we really want to drive this kind of order meta gameplay. I hope that people filter into the order that they most identify with and creates these concentrated order ownership and then we can initiate big wars between the two orders and a rivalry. It adds a nice social layer when you filter people into groups, right? So that's what we've really been trying to do. And yeah, the orders exist in the original loot contract.

Nicholas: They don't exist in the realms contract, right?

LordOfAFew: They don't. We added them. So, yeah. They've been added. So there's 500 realms to each order. And they exist in proximity to one another in the world map.

Nicholas: So you were able to add metadata to the version of realms in StarCraft?

LordOfAFew: Yes. So all the realms metadata is on-chain and I've kind of got a system for right now. Contracts are upgradable in this iterative process. So we're adding we can just easily add more metadata on-chain. It's all structured. And that's how the game talks to one another. It just checks the on-chain metadata and then does the action.

Nicholas: Okay. I've been asking all of these very pointed questions but I feel like there are broader topics about gaming that you want to talk about. So what am I ignoring? What's the more interesting story here than these specifics about gameplay?

LordOfAFew: I think we've actually touched on. I think that's what he touched on about this constraint of this new medium and this shared substrate that we're all kind of deploying on is what really fascinates me in this whole on-chain space. And like I think Will Robertson did a post the other day about on-chain games and it was like there's like 20 teams doing real actual on-chain gaming. It's still such an early space and so we need to figure out what is the fun aspect of these on-chain games because it's a new medium. We can't apply old game design to this new medium. It's got to be a new kind of new type of gameplay. So to me that's the most fascinating part is that it's this new medium that we all share and so we'll probably do some kind of on-chain collab with influence perhaps some influence resources. you know, an asteroid crashes in the realm of something and you know, contracts start talking to one another. but it's only possible when you know, all your logic and your state exists on-chain. Yeah, to me that's what I'm most excited about is to see, imagine if every API in the world could talk to every other API without going through any middleware. And you know the more complex we get. you know, well as long as everyone keeps their contracts composable we'll see some really interesting things emerge.

Nicholas: Yeah, I think Threep really nailed it and you're also talking about this. what I feel is very under-represented in the conversation about what makes Web3, specifically Ethereum and sort of chains of solid repute, valuable is that you can deploy the contract once deploy software once. I mean AWS does not offer that service and that's very powerful to be able to walk away and know that something's going to keep running and composably so with other people's work, anybody who's dealt with software knows that. I mean I often talk about it more like a performance art than the analogy that's usually drawn of writing. because with writing you publish the work and you may want to do revisions at some point but the published work essentially survives as is unless it's destroyed. But network software almost never keeps working just because of changes in the ecosystem around that it needs to adapt to. so it's very exciting to have network software that is if not eternal at least potentially long-lived.

LordOfAFew: Yeah, this idea of just like this thing you deploy and it's up it's always up and it's distributed across this world computer and it's still. this is a totally new concept. I mean it's really, Ethereum's only really started to kick into gear in the last three years. so it's just going to grow and grow. and now everyone's kind of. I kind of see everybody as a gamer. some people don't like to call themselves gamers but they play some kind of game whether it's like a physical sports or it's a video game or it's the stock market or whatever it is, everyone likes playing games and I think people are a generation everyone's kind of a gamer and everybody in our generation below us everyone is definitely a gamer. Yeah, it's this really exciting space to be in especially in the kind of stocknet space. there's just a lot of really interesting teams building like Guilty Gozer and EaseAway and I know there's a bunch of other there's like this really just interesting developer community that everyone's sharing everyone's sharing code and solving problems and kind of building this new really interesting network together.

Nicholas: That was actually my last question for you what is it like building in stocknet? because I've heard you say that it was an attractive community to join. that's very supportive and I'd like to know I think one thing that maybe people don't realise so much the water that they're swimming in is the ecosystem that they're building inside of and Solidity and Ethereum broadly have a very conducive community open source actually surprisingly friendly for such a technical cutting edge community. it's not gatekeeping really. is stocknet like that? or what makes stocknet fun to work in?

LordOfAFew: Yeah, I mean the spot on with Ethereum's, I mean that's why it's so attractive to me personally and I think stocknet's just kind of followed down that path. but I think because it was stock was kind of approach to it was let's create the MVP of this network which was like stocknet 0.01 which was super primitive and that was what this time last year? I think I'm sorry it was like March last year. anyway it didn't have any tensions and they just took the approach of well let's build this with the developers. and so I don't know how they did it but they managed to spark you know a bunch of really great talented builders in the early days who started building some really interesting things which then sparked on the next chunk of builders. but I think because it had this kind of almost like a difficulty filter as in you know Solidity already had it's like five years of tooling. you know you can just like NPM hard hat and like you're ready to go. like you know stocknet's like in Cairo like it's in Python like the tooling is clunky all it was, it's getting a lot better. there's no stack overflow. so like you run into a weird error like you have nowhere to go. so you just need to figure things out. and I think that and also there was like the didn't have the mercenary mindset I think because it had that difficulty barrier. so like you couldn't just come there and like deploy something and just you know expect it to be successful. you kind of had to you have to go through the pain of learning this whole new thing and building this thing and that kind of filter just sparked this really great builder community

Nicholas: really the antithesis of Ethereum at that moment or EVM at that moment which had become so much about dropping tokens on all the chains

LordOfAFew: exactly yeah. so that's what was so appealing to me I mean I didn't know about that before. I kind of got involved like it's kind of got sniped by. actually I think I got inspired by the Dope Wars engine. originally Dope Wars built this really talented builder called Parama designed this. he was like one of the earliest darknet builders and he built this kind of dope you know like Dope Wars actual game from like your calculator. he rebuilt that in Cairo and I was looking at that and that's kind of what got me most inspired to build on. that sniped me and then I just kind of went down the rabbit hole and that was it.

Nicholas: that's so great. another path through loot through Dope Wars which is totally a different aesthetic essentially based on the fact that Denison wasn't that attracted to the aesthetic of the loot style and it was instead into the Dope Wars stuff. and it's crazy that that would bring you to ZK Darknet.

LordOfAFew: yeah that's crazy.

Nicholas: so basically cool people open source fun and this difficulty barrier made for interesting discussions very interesting discussions.

LordOfAFew: everybody just wanted to help one another and just build crazy things. it was just about. it's just about building like unhinged and like you know forget what you know about Solidity this whole new medium. just explore it. that's really the advice I'd give to anyone starting to build on Starknet. just like don't just think OpenZeppelin is what you can do like there's. maybe I've just been writing Cairo for too long now but like I prefer writing it. much to Solidity I don't know. maybe I've gone mad but it's like once you kind of get the design patterns. it's actually a very composable language and I don't just mean from like a contract point of view. it's like the same type of composability as a theory. I mean like when you're writing a complex program because you kind of write it like a Python program in a sense. but you know when you deploy this thing it's all provable computation. so it's kind of insane. but you can create very complex you know applications.

Nicholas: that is insane. so okay I don't want to keep you forever. also we're on a crazy time difference which is cool and a testament to the global nature of crypto. but if people want to play with StarkNet I was going to say what's the easiest. it sounds like just deploying Solidity contracts onto StarkNet is not really the point and they should join directly to Kernel.

LordOfAFew: anybody coming from I mean if you only know JS and Solidity you might be a bit of a barrier. but anybody that's dabbled in Python set up environments not at all. if you touch C or any kind of lower level language you'll be totally fine. you just got to get through a bit of a barrier and learn the syntax and then you realize it's quite nice. but you just got to break down that door. you just got to dive in head first.

Nicholas: what's like a Cairo hello world like what would be the basic proof of a ZK application?

LordOfAFew: just write a contract that does something. I'm just thinking that I mean we've kind of got our own container where we run everything. so I'm just thinking where you didn't start. I mean do the Cairo one on one. I mean if you do the Cairo one on one and learn the basics then you'll be totally fine and the StarkNet Discord is great and any builder like if anybody's on this call that like wants you know I'd be happy to point them to a bunch of things.

Nicholas: Is that where people hang out the StarkNet Discord?

LordOfAFew: yeah or you can join me to our Discord as well. we have a few Starks channels where people can talk about things. the Matchbox DAO Discord is a Matchbox DAO is like a DAO dedicated to on-chain gaming specifically on StarkNet. there's a lot of cool things happening there as well. we're part of that.

Nicholas: to StarkNet? yeah I mean. or to StarkWare fund development of experimental research stuff on StarkNet at all.

LordOfAFew: yes so they gave us a small grant a while ago to build that AMM and I mean I talk to them a lot and I mean if you do have like something interesting and approach them they probably will give you a small grant. probably more than likely. I mean I think they're still doing it. they're definitely still doing it. yeah they've been really good with that. I think that probably sparked a lot of their early builders. is that they just decided like the grants aren't huge but like you know it's still a nice little incentive to try and build something crazy but no strings attached. really it's just like just here's some ace go and build it.

Nicholas: Are StarkNet devs mostly Discord or Telegram kind of people?

LordOfAFew: there's a Telegram group. I don't know. I kind of get pulled in between both. I kind of wish there was just one I don't know about you.

Nicholas: are they like old DeFi hands or more from a different background?

LordOfAFew: StarkNet? Do you mean StarkWare or?

Nicholas: I guess just the people who you interact with when you're learning how to write code for StarkNet whether it's or not it doesn't matter so much. I know they're like academic math people right?

LordOfAFew: They're all math academic giga brains. I mean a lot of the developers that I talk to and there's projects popping up every day. a lot of them came from I mean I think any developer that's been around for a few years always started in DeFi. so so there's a few of that and there's some. there's a lot of new applications you can do like. I think Empiric is a. those guys are building an on-chain Oracle which is a new kind of use case that you couldn't really do on an EVM with like on-chain data. so we're actually going to use that for our Adventurers module. so we'll probably set a fixed price in USD but denominate it in LODs and we'll use the Oracle to kind of fetch the LODs price to do that. that'll be interesting. everyone's kind of DeFi devs at this point

Nicholas: If somebody is listening to this and they love the sound of that but they really have no intention of learning Cairo, if someone wants to be on StarkNet right now trying stuff or on a test net of StarkNet, what do they do? You will need to just to play around with StarkNet just as a user.

LordOfAFew: Well there's Voyager which is like the ESA scan and it acts like you can connect your wallet and you can interact with contracts so you can play around with it that way.

Nicholas: That's Voyager.online.

LordOfAFew: for the curious I think it's Voyager.online. I think it's Yeah and I'm just thinking the other games, I mean you can go and play Brick which is a voxel building application that when you and you can kind of mint composable NFTs. so you have these little bricks and you can build up things and when you mint them they get minted as an NFT on StarkNet and so that's probably the most successful app that exists right now. There's also Aspect which is an NFT market and MintSquare which is another NFT market. I don't know, Influence have their, I don't know if they're still running their Alpha, are you still on the call? No You've failed. but you can go and check out EaseAway and, sorry, Influence and they're kind of running this like Alpha at the moment.

Nicholas: And if people want to bridge, the way that they would pay gas is to use StarkGate?

LordOfAFew: Yeah you got to go to StarkGate and bridge some Ease across, some girly Ease. So you get girly from a paradigm and then bridge that onto StarkNet and then you have a bunch of speed, you don't need much to play around with, it costs us to interact with things.

Nicholas: StarkGate can also do mainnet to mainnet StarkNet right? You said go early right? In your example?

LordOfAFew: Yeah I just mean if you just want to muck around on some test node Ease. There's not that many mainnet apps that are live right now. It's kind of been a slow growth. There's a lot of things happening on TestNet because everyone's just testing a lot of things like Isaac's on TestNet. Influence is on TestNet right now.

Nicholas: So then testnet go early. is the testnet for StarkNet? Yeah you need girly Ease And when you interact with it on StarkNet it's as if you're interacting with a girly one because that is its ultimate source of truth.

LordOfAFew: Yes Exactly yeah it's running on the girly client.

Nicholas: Very interesting wow well I've learned a lot here. I don't want to keep you all day. It's Saturday for you right?

LordOfAFew: It's been great. It's 9.45. No it's fine I'm gonna be I'm gonna get some breakfast and then I'm gonna get back into some Cairo.

Nicholas: Always be Cairo Always be Cairo.

LordOfAFew: The end is in sight. to like this I mean it's just crazy when you build something for this long and like it starts the concept phase and then now it's like this visual thing and it's like working and it's just like it gives you that drive to just get to the finish line. so but I'm hoping by Monday we'll have the coordinate system complete and I want to introduce a bunch more people to the kind of closed kind of probably pre-alpha at this point.

Nicholas: So if people are interested they can get into your discord pay attention and maybe get into a future round of the alpha.

LordOfAFew: Definitely yeah it's gonna be an iterative thing and we'll just keep introducing people. and you know that's how we create this game. but I mean if anyone any devs on the call that really wants to dive in like all our React codes are open source. our indexer is open source. all our contracts are as well. it's a bit of a documentation is definitely lacking. it's been pushed down the priority list but that's something that we're improving. so the goal is to make it very easy for people to come along and build on top of this system. but we you know in a rapidly changing kind of project we just didn't want to write docs we just had to rewrite again like a month later. so we're reaching like you know version one so to speak.

Nicholas: Awesome. I'm super excited. I wanted to wish you a happy realms birthday and loot anniversary. but also it's very exciting to hear that you're nearing at least the alpha and towards the mainnet launch. it's pretty cool.

LordOfAFew: Yeah it's pretty cool. it's been a crazy year that's for sure. it's been a crazy year That it has.

Nicholas: I'm excited. I hope you'll come back when the alpha or something people can jam on directly.

LordOfAFew: Definitely Definitely no. I can't wait. I'll definitely be back on. so it was great to be here and chat about all this stuff anytime.

Nicholas: Alright thank you so much for coming through and everybody in the audience see you next Friday probably earlier in the day when I'll be talking to. I can't remember who I think Brian from nouns now about his new project address boards which is like discourse with wallet connect. so stay tuned for that. Thanks loaf this is great.

LordOfAFew: Thanks man I'll see you later.

Nicholas: Bye bye 5pm ET 2200 UTC on Twitter spaces. I look forward to seeing you there.

Show less

Related episodes

Podcast Thumbnail

JokeDAO and Governance as Entertainment with Sean McCaffery + EthRio Recap with Zeugh, 0xGogo, and Neodaoist

21 April 2022
Podcast Thumbnail

vibes.art and [the reliquary] with remnynt

24 May 2022
Podcast Thumbnail

Furqan Rydhan, Co-founder of Thirdweb

15 November 2023
ZK Gaming with LordOfAFew