Building infrastructure for MUD worlds by Ludens | Devcon SEA
Devcon·Thu, Oct 9, 2025, 12:00 AM
Thanks to advances in tooling and frameworks such as MUD, autonomous worlds have come a long way in the past few years. But technical barriers such as latency and onboarding still plague the space. In this talk, the Lattice team shares some learnings and work done on minimizing latency and improving onboarding for MUD worlds. Speaker(s): Ludens Skill level: Intermediate Track: [CLS] MUD Community-Led Session, by 0xPARC Keywords: Tooling, Autonomous World, infrastructure, Developer Infrastructure, Gaming Follow us: https://twitter.com/efdevcon, https://twitter.com/ethereum, https://warpcast.com/devcon Learn more about devcon: https://www.devcon.org/ Learn more about ethereum: https://ethereum.org/ Visit the https://archive.devcon.org/ to gain access to the entire library of Devcon talks with the ease of filtering, playlists, personalized suggestions, decentralized access on Swarm, IPFS and more. Devcon is the Ethereum conference for developers, researchers, thinkers, and makers. Devcon SEA was held in Bangkok, Thailand on Nov 12 - Nov 15, 2024. Devcon is organized and presented by the Ethereum Foundation. To find out more, please visit https://ethereum.foundation/
Transcript
[Music] so uh cool doors are being closed hello folks good afternoon welcome back from lunch um I'm Justin one of the co-founder of ltis um some people know ltis as the company that started mud um and then later the company that launched Redstone chain in other words what we've been doing is building infrastructure for autonomous worlds um but as you might have seen from alvarus opening talk this morning we actually started off by building our an onchain gain ourselves about like two years ago uh I was personally fascinated by the idea of building multiplayer games on the world computer following the footsteps of gbep in Dark Forest we're super interested in the IDE of ethereum as a computer that know single party controls that allows immutable physics and roles that enbl massive Valuable Player based economy and has an open code based in API by default for anyone to extend and while these properties are pretty damn magical um the computer also had some significant downsides first it had no development framework there is no Ruby un rails no Unity no Unreal Engine and so that's why we basically build mud from the ground up to make it possible to develop onent games in the first place without spending two two like two years like dark firstes to get like a few a few few features up we were hoping to see the next 10 dark firstest emerge from this work and the amount of projects that we're demoing this morning is a Testament to the success of these thesis so second the issue with the the word computer is it cost a ton of money to run um I actually dark frest was first running on robone test net and then they broke the test net and then they moved to U noses chain formerly called XI uh because running on Main it was not possible and this was before l2s and so running any decently complex game would cost you hundreds of dollars every day even with blobs basically so the second large infrastructure project we we we we worked on is building Redstone and the underlying LDA and op plasma protocol with the op stack team um in order to reduce cost dramatically without impacting the guarantee of the world computer too significantly and so with these two upgrades we saw the design space open up like massively many many games are being worked on as you have seen in demos this morning this is a snapshot of of the logos of the people that presented so far but a computer still lacks some pretty significant capabilities um and we've been kind of thinking what further improve movements can we make to the computer to benefit all of these existing projects and further up open up the design space and I mean we have some leads on what needs to be fixed next so first the computer is still slow as hell um actions are being confirmed after two plus second delays on most l2s and half a second on the lowest latency ones like this is about as close as you can get and even then with all this the other kinds of overhead from tools usually reach like 1.5 seconds to 2 seconds the second biggest issue is creating an account is also like extreme extremely complicated you thought going to the game store and buying World of Warcraft and putting your CD key in was hard we found something harder so after you create an account on the world computer you have to like add money to it and because otherwise you can't make further actions it's a whole issue and there's a bunch of people working on that uh we're not saying we're the only one doing this but it has been difficult to find Integrated Solutions that don't bring other kinds of problem when you start adding this stuff up um and so earlier today uh you know already if you're too online cuz we tweeted about it if you don't know about it I'm I'm proud of you guys for not spending all of your time on on on Twitter we announced Quarry which is an upgrade to the computer that tackled both of these issues so the biggest thing from qu is we basically decreased the latency 99% from the now to Common 2C block time to as low as 7 milliseconds we also made it possible to have oneclick Pass Key enabled account Creation with sponsored gas so behind this mumbo jumbo what this means is your players can just start playing immediately and then on board progressively um and in order to show you uh cuz we hate the of like just build a bunch of infrastructure and hope people are going to be able to make sense of what you've put together we actually spend a lot of time building a bunch of demos so um the first one is Doom we'll see if that plays there we go so this is um Doom specifically chocolate Doom a fork of chocolate doom and it's running on Quarry um so this runs at about like 35 FPS because of the net code of Doom transactions are sent to um quarry confirm in about like 7 to 15 milliseconds come back and reflect the state update on each client so this is running in real time there are no tricks there are no like optimistic updates or like a lot of client code to make this work this is basically just Doom with like a little bit of mud State synchronization on top um and some interesting things to point here is every second each client is sending 35 transactions so inputs and state update to the chain from which the other clients receive the information to synchronize what's shown on the clients and because of the way Doom was written which is very poorly I mean we we forgive them they're the first kind of like multiplayer firstperson shooter um it's before any modern net code implementation so there's no uh predictive net code there's no roll back so any little amount of latency gets reflected immediately because the whole game freezes so as we've been optimizing quiry of the last two months Doom became kind of our Benchmark there was a notorious problem where every two second there would be a little blip that we didn't catch when we were working on Quarry but that was like pretty significant when playing Doom so yeah it has been great to to kind of use that as a as a target for hey if we can run doom and Quarry then we can run anything we want um the second demo I have um if it plays yes is move the fly so move the fly oh no no don't spoil it okay uh move the fly is um a game where you can either move a fly or you can move a frog frogs eat flies flies don't eat anything they just get eaten um and you can start playing move the fly by pulling out your phone um either doing face ID if you're on an iPhone or um the Android web with and protocol and you can just like get into the game immediately with a smart account wallet and play with the same kind of latency as Doom so this same thing this doesn't have any optimistic update this basically plays like a web to iio game you know um and in order to build this we pulled out the normal mud template and we added like two three lines of code to connect it to query um and one last thing I want to show you folks is this which is basically fortnite so uh we took the codebase from opcraft uh we added guns and walls um alvaris who is the worst person on making names at the company called it m shoot we all hate it it's such a stupid name but it's called M shoot um and there's a lot of interesting things in this game so first all the physics is on chain so jumps movement Etc Ray casting as well so you can't just like declare hey I'm hitting that player there's actually like a full Ray cast happening on it and all of this just runs same thing without tricks when we built opcraft you actually had a lot of tricks to make it feel good doesn't have any tricks because oh we just like removed a ton of code so these are the three demos we have uh you'll be able to try them at the gaming corner at at 3 p.m. I think later today now I want to talk a little bit about like how we made this so um common across the three projects is the need for low latency without sacrificing on boarding so we'll talk about how that works so this is um a traditional block building algorithm so transactions come into the men pool they get ordered right before the payload gets built by the consensus node and then people get their confirmation if the trans action l in the blocks after about 2 seconds the way query works is the block building algorithm does not span 2 seconds it operates on much smaller micro batches and so you stream the block as it's being created we're not creating the blocks every 17 milliseconds that would be really silly because it would overwhelm different kind of infrastructure like block explorers wallets Etc you would also spend most of your time Computing Merkle Roots which is the very expensive action one putting together a block so the blocks get streamed to you as you play um and you and because we don't actually need things like the block hash in order to reflect a state update in the game you don't actually need to wait for the full block to be built to to be able to see what happen and this does not like introduce any additional kind of like security assumptions in a rollup the way rollups work with centralized sequencer is basically there's a window of time of about 20 minutes where the sequencer has s authority over how how the blocks get built so this is not this does not add essentially like any guarantees at all sorry any assumption at all to the whole system um so the hot path of query which is users sending a transaction adding into the bending block and getting a stream update happens in about 7 millisecs so we were able to do this by essentially rebuilding the whole stack so we rebuilt the load balancer we built a custom block Builder on top of the ref model architecture from The Ref team and we also rebuild our indexer so everything is very tightly optimized uh we also spend a lot of time on the networking and you can see that as these spending transactions get streamed back to the users an actual block is being built build and then send back to other kinds of infrastructure whether they're block Explorer or or other periphery um the other interesting thing is most tooling outside out there for like stuff like ERC 437 and on boarding actually creates a lot of latency because it's just another part of the hot path if you want to send a 437 user operation and you have to go through a bundler even if you have fast block time you end up spending like 1 to 1.5 seconds doing that so we built a bundler and an pain Master inside query itself so the 7 Mill second Loop Remains the Same um even if you use these kind of onboarding features so it's pretty neat because you can have something like move the fly where you basically scan your face it's a bit dystopian but you scan your face you become a fly and you can move the fly around and do all of that stuff by using like everything you would expect if you're a developer like I want to have my users like log in with an email and I want to be able to like sponsor their gas and all that you can do all of that with query without um increasing additional uh latency so the way this works from a networking perspective is we have built um kind of like a a a series of edge regions on bare metal with servers all around the world where we have copies of the state that get synchronized with the central sequencer and copies of yo or block Builder So currently the thing that's live is a single wire so chain so there's a single place in the world where things get built um over 2025 we want to build a system we have already started working on it but it's not really yet where the state of a mud world can be partitioned into different geographical location such that you can have different matches as an example of Sky strive or of different regions of biomes where the computer doing the ordering can be in Asia North America Etc because even if we have 7 millisecond latency you still have the pay the cost of light sadly we have not worked on that yet we'll probably do that later um so yeah we we hope that this both benefit existing Mud Games and significantly expand the design space of Onan games and worlds it's basically put plug and play you just have to add five lines of code to your system so I had some biome shell but I will I will skip it sorry guys um so that's it for me today to learn more you can scan this QR code or go to this link l xquery it's available on devet basically starting now uh you can already build on it and at 3:30 p.
m. at the gaming Corner we'll have a doom tournament so thank [Applause] you all right we have three minutes for questions apparently let's just stay here oh man okay right if you have question the MC so I can't MC myself so about flow if you have a question you can either scan this QR code or um if people have a question also they can just raise their hand then I can run and give yo uh if I'm doing local development can I run quar like this whole system locally or do I I have to do it on devet at all all times yeah currently yes so you can put envil in automine but actually funny enough envil automine is slower than query so yes we don't have great de local development environment yet but we'll probably work on this next because this is a distribut system it's kind of a pain to run yourself all right we have another question here from somebody in the audience what about Doom logic is it being validated on mod great question so out of the three demos you've seen um the Doom demo only uses query for event relaying so what we do is we take key strokes from Doom which is how the P2P Network the P2P protocol of Doom works and we relate through a single m table we actually attempted to rebuild all of Doom in mud but there were so many like weird problems because John karmac is insane that we kind of like gave up and that's where we built M Shoot actually so M shoot runs fully inside mud it's not just using mud for event kind of like coordination but for the Doom demo specifically we only use it for sending events around mostly As A Benchmark for latency next question is what is wsaw wiaw is a Blog Builder the reason it's called wiaw it's because we have um our internal theme for names is uh blue color workers so we have Quarry warso Redstone rolite so it's out Stone stuff to cut stones with or things related to Stones next question please people in the audience really want to know how your last name is pronounced my last name is it's kind of funny because it says is it pronounced glibert or glibert it's pronounced gibert so you were right nice can you expand more on the features around gas sponsorship yeah so the way it works is we have a p Master that's part of query that that like gets evaluated within the sequencer and so this uh pay Master exposes rules you can tap into as a game developer saying like I don't like users can get their first 20 actions spored by the game developer or under these certain conditions so you kind of have like a whole system you can tap into to have flexible sponsoring all right I don't see any new questions on here if you have another question you can also raise your hand real quick and I can hand you the mic all the way back okay somebody else is running hello have you tested how many players can it support on this update yeah so the bottleneck currently I mean it will always be the bottleneck is the size of your blocks so query doesn't really add like the the query doesn't really have currently doesn't get Bott by stuff like CPU on RAM if you use good enough machines the issue becomes how big big your blocks are so as example if you have transactions that have that consumes a tiny amount of gas you can actually put a lot of players if you have actions that use a ton of gas you end up being bottlenecked by block size so it really depends on what you're doing but I mean I'd say you can probably have like depending on what you do you probably can probably get like 200 concurrent players per chain probably like doing actions all at the same time all the time in a hot Loop that's is pretty cool but for Doom specifically it's not the case like Doom is just a beast of a demo and I you can't get to 200 players all right another question that we have is can we use non-m networks underneath no uh because we have not built that like this whole thing is deeply integrated in the way ethereum works all the way from the clients to the sponsorship to the block building Etc so no cool all right somebody's asking will we be able to use pods with quy absolutely so pods uh which stands for provable object data uh also known as frogs all of your frogs are pods pods or frog are not pods but all pods are actually some pods are frogs and some frogs are pods it's not an exact mapping but yes you'll be able to bring pods on chain and and and settle them because spots can be verified in evm all right and I don't see any more questions here we have 30 seconds if somebody wants to raise a super quick inperson question but I think we're good all right well thanks again
Automatic transcript — names and jargon may be misspelled.