Fire-side chat with Ahad Shams

Rate this content

The open interoperable metaverse and why Webaverse believe Web is the best medium for it. How this will give rise to game development / 3D on the web.

27 min
11 Apr, 2022


Sign in or register to post your comment.

AI Generated Video Summary

The Talk discusses the concept of a more spatial web and the importance of open standards, privacy, and transparency in the development of WebAverse. It emphasizes the engagement with the developer community and the breakthroughs in creating high-fidelity 3D experiences on the web. The Talk also highlights the challenges of building a browser game engine and the support for VRM Fuzz and targeting creators and communities. It mentions the advantages of building 3D experiences on the web and the development of 2D based experiences.

1. Introduction to WebAverse

Short description:

The core realization is that the next version of computing should be a more spatial web. We believe in freedom of expression and the ability for anyone to build their own spatial web. It is important to have neutral and opinion agnostic infrastructure, which the web provides. The web is the most democratic medium.

Hello, Hesar, thanks for having me. And I'm assuming that at least some of you attended the workshop, which was done by my co-founder, Avier, yesterday. It was quite extensive in which he basically gave an overview of what we were trying to do at WebAverse. But at the very core, what we were trying to do, the core realization was that, OK, it's whatever is the next version of computing, if it's a more spatial presence, we need to just take the 2D web into a 3D web, right?

And a lot of people don't think of the web as 3D because it has just gone to native applications as well as app stores, right? Like, all the 3D applications, we just associate more with that. But Aviar's, you know, life has been around the web. He was the founding engineer at Webflow, then basically went to ship the first VR browser out of Magic Leap. And then he made his own VR browser as well, Exo Kit. And at the core, what we're trying to do is we believe that whatever is the next, you know, version of computing, the more spatial, immersive one, it needs to fulfill these four or five things, which we believe the first one is freedom of expression, which means that anyone should be able to build their own stuff, which could include avatars, which could include environments. It's the same concept as the web page, right? Like, people will be able to build their websites and host it. So it's the same concept, but now it's a bit complicated. So we felt that it is extremely important for us to at least create a system so that even non-developers are able to do that, right? They are able to like build their own next version of a more spatial web.

The second one we believe is that it's important to have like neutral and opinion agnostic infrastructure, which is what web fulfills anyways. You know, once you are in app stores and platforms, then you have to live by the rules of those app stores and platforms, which could be quite opinionated sometimes, whereas, you know, whenever anything is on the web, it's completely democratized, right? And web to this day is the most democratic medium.

2. Open Standards, Privacy, and WebAverse

Short description:

The third one is very important. We believe in leveraging open standards for interoperability in both 2D and 3D development. In the world of 3D, we are seeing adoption of standards like GLB, GLTF, and VRM for avatars. Building on standard file formats allows for easy portability between game engines. Additionally, we prioritize strong guarantees of privacy and the importance of transparency in algorithms. We are building WebAverse with these principles in mind, and we have already achieved a high fidelity 3D experience on the web with open source tools.

The third one is very important. And I think anyone who does development on the web, for them it's very intuitive, is to leverage open standards for interoperability. We do it in 2D all the time. For example, we use JPEG, PNGs. The same thing needs to be just transported into the world of 3D, right? So in 3D we started this long time ago, but already we are seeing some adoption in terms of standards, for example, for 3D, the file format which is coming out is GLB, GLTF, another file format which we are pushing. And I think there's a big significant Japanese community, which is also pushing is VRM, that's for avatar. So it's like a ribbed version. It's an extension of GLTF only, but it's like a ribbed version with already humanoid movements to find, as well as emotes and et cetera. Also define. Similarly, we are using like some other extensions as well, but they're all based on standard file formats and all is open source.

One important thing which is I think a bit different is what we believe is the right of exit and that anyways, you are able to achieve if you build anything on standard file formats, because then you can just port something which you build on one game engine to the other and it's super easy to do it, right? And that's also come very intuitively to anybody who does web based development. But it might not be very intuitive to people who are building it on close party engines and like close that forms, right? Like for example, if you build an experience within roadblocks, you can't just like port it out to some other engine, right, like it doesn't work that way.

And the last one is, you know, strong guarantees of privacy. And that's a bit of a more broader arching team. But basically what we're trying to do is like, for example, today, like we talk about search engines, we talk about social media, we don't really know like what are the algorithms on which these work? And I think when we have more spatial presence, like privacy is going to become much more important. So even if it's not like commercial license or MIT license based product open source, at least there should be a view source component attached to it so that, you know, like it's not a question of that. You don't want to be evil. You just can't be able to write cause like the public audit and the eyes will always be on you. So these are the things on which we started building WebAverse. And to be very honest, when I started with WebAverse, I also did not believe that, you know, we'd be able to achieve something like this on the web. But like anybody can go and check out our live demo. We're getting like a full high fidelity 3d experience on the web with full body humanoid with hair physics. And it's super easy to build stuff with it, right? Like you can literally just like drag and drop your 3d assets in, it automatically generates the collision mesh, and you can create an environment within like five minutes and the fact that it's open source, you know, you can just like go and like mod the code and you know, you can add your shaders, etc. Or do it as well. Uh, some of the experiences which we have, uh, made, uh, if I can like share it on some link, uh, I'd be like happy to share it. But like, we sh we share a lot of our stuff on our Twitter, uh, the handle is webovers. So I would like request anybody to like just go through the timeline and they could see. Uh, basically like at this point in time we have physics based everything, you know, like you can name vehicles, pets, um, variables, uh, weapons, and it's all based on a, you know, like standard, like 3d file formats. And the beauty is that when it's open source, we build like one version of it and then, you know, anybody can just go and like build a hundred different versions of it, which is already happening. Like we haven't even started.

3. Engaging with the Developer Community

Short description:

Engaging with the developer community, we believe in going back to the roots of the web as the most democratic and decentralized medium. Building on the web makes it easier to integrate external interfaces and AI-based features. Working with open standards and protocols can drive conversations and standardization.

Engaging very actively on the development developer community side. Uh, now we are focusing on it. That's why we are having these conversations as well. Uh, but it's already happening, right? Like, people are already building cool experiences and, you know, they're, they're adding, uh, other things on top of it.

Um, another thing which we have utilized, uh, which we have realized is like, it's a game changer when you start building something on the web. Like everybody thinks of, like, when you start building on the web, that, okay, you're constrained by web GL, uh, you're constrained by other performance. Fine. These are things, uh, which are real concern, but, you know, with like web GPO on the horizon, uh, as well as web assembly, uh, I think there's a. There's a huge, um, push off, like, you know, being able to run things in the browser at native speed.

Um, but, uh, the most important thing is that using anything on a web-based app, it is so easy to, uh, do like external interfaces, right? Like when you're working with other APIs and all, it's just like, much more easier to integrate, uh, for example, your AI based features, your text to speech, speech, protects, all of these things become so much easier compared to when you're using it on, on any closed party software, uh, because you know, then you need an SDK, et cetera to it.

Um, so we believe that, you know, like we, once we started that, uh, it's just about like all going back to the roots, right? Like nineties and eighties and nineties, it was all about the web. Uh, and that is like the web at the end of the day is the most democratic and the decentralized medium, right? Like we went the route of platforms. For whatever reasons in two thousands. Um, and the advantage of it is, I think that with, with whenever you try to build anything on the web, uh, getting standards to be approved is a bit difficult because you need at least, you know, like three or four major browser vendors to agree on it. Um, whereas when it's a closed party platform, you're the only decision maker, right? Like, that's why it's so easy to, like, for example, WhatsApp was encrypted within one year of its launch. Uh, whereas, you know, like email is still unencrypted to this day.

Um, and that is one of the reasons why we felt that, uh, you know, we want to just like show the way that, okay, you can work with these open standards, open protocols, and you can assemble something like this, so that at least it's a model for people. And then, you know, when, once people start adopting these things and there's huge, significant adoption and traction from everyone around, it just helps drive these conversations in these standard committees, um, around standardization of formats, et cetera. So, yeah, that's, uh, basically, uh, a quick intro about us, uh, you know, happy to open the floor for any kind of specific Q and a, uh, and we can take it from there. Thank you.

4. Development and Breakthroughs

Short description:

Aviar has been working on web-based technologies for the past seven years, collaborating with the 3D web-based community. The major breakthrough came in the past two years with the development of a full-functioning avatar system, showcasing the potential for high-fidelity 3D experiences on the web.

I had, um, you'll have explained really completely, I guess. But I also have some questions for you. Like, uh, how long have you been doing this? So this is, uh, I mean, Aviar has been working on web based technologies adjacently for the past seven years. Uh, so as I said, right, like finally engineer webflow and then, you know, he's worked very extensively with the WebXR API as well, uh, as part of like W3C standard committees, et cetera, for that as well, um, so it is like seven years in total, but it, it is not just like Aviar's work. It does a lot of work, which is done by the 3D web based community as well. Right? Like for example, three JS, uh, and like, you know, other, uh, 3D, uh, web based libraries such as Babylon, et cetera. But, um, it all started coming together in the past two years when, you know, at least, uh, the major breakthrough was I think when Aviar made a full functioning avatar system, so you know, the avatar system is, uh, is a first class system compared to, you know, any, any other place you can get it's a full body avatar system with hair physics, spring bones, uh, and I think that was the first proof of concept that, okay. You can have a full high fidelity 3D based, um, experience on the web. So I think for the past two years, we can say that, like, we've been laser focused on it, but the experimentation has been going on for the past seven years. Yeah.

5. Building 3D Experiences on the Web

Short description:

To start building their own 3D experiences on the web, future developers can either drag and drop assets or use a three JS JSON file template. The assets are defined using web-based URLs for 3D files and can be placed spatially. The upcoming level editor will allow exporting from Unity into WebAverse. Contributions to the engine side are welcome, and interested individuals can reach out through Discord or create issues and pull requests on GitHub.

Um, thank you. And also I have another question for you. It's that, do you have any words for future developers, um, how to contribute or start building their own 3D experiences on the web? Yeah. So, uh, I think it really depends if like, depending upon the level of expertise anyone has and how much do they want to like, go deep in the woods. Uh, but for example, if somebody wants to just create an experience, they can go and, uh, uh, just, you know, read our user documentation and you'll figure out that right now there are two ways to build an experience. So either you can drag and drop them in, or it's a, uh, it's a, uh, simple, you know, like, uh, three JS JSON file template in which you can define your assets in like different places. Uh, and it all reads just like web based URLs, right? Web based URLs for 3d files and you can place them spatially and, you know, the experience is there. Uh, upcoming is that we will have a level editor, so, you know, like a 3d viewer. Uh, and then, you know, we'll also be able to like export anything out of like unity and maybe later on, like unreal as well, but unity is what we are working on right now. So like, whatever you're creating unity, you'll just be able to export it out into a reverse as well. Uh, but yeah, I would definitely encourage everyone to like, just go onto the documentation and just check out. Uh, but that is for the most, you know, like any kind of person who's interested to build it. Um, if somebody wants to like, uh, you know, contribute into the engine side of, uh, of things, then we're also open for contributions, external contributions, as well as like, uh, if somebody wants to work with us as a team. Um, I would say that, you know, like our readmes are not the best at this point so it's better best is if like, somebody like just comes in our discord and it hits us up and you know, we can, we can like talk to them, but at the end of the day, you can create an issue. Uh, everything is on GitHub. Uh, you can create a pull request if you want any, you know, any extra features or anything else to be added as well.

6. Sharing Code and Inspiring Innovation

Short description:

Sharing our code openly before launching the product may seem unwise, but we believe in the school of thought of abundance. It creates goodwill and proves that our farfetched idea of building a game on the web, working in VR and AR, is possible. Being open source is not a disadvantage, but a way to inspire others and drive a paradigm shift in the 3D spatial web. We see it as a huge opportunity and welcome anyone to take inspiration, contribute, and create variations. Competition is not a concern at this stage.

Okay, great. That sounds really cool. Actually. Um, so you said that just that that the verse shares is code, um, source code but is it wise to share your code openly before even launching the product? So why don't we talk about that. Um, so I think it's, it's about, um, it's a school of thought, right? Like we, we believe in the school of thought of like abundance. Uh, and I think, uh, at the end of the day, um, it's, it, it, it creates, uh, a lot of goodwill, uh, as well as, you know, when we started this off, it was such a farfetched idea. Like when I, when you would like tell somebody that, okay, you will build a game on the web, which is going to work in VR as well as AR, and it's going to be, you know, open world based game, anything which you basically play natively on a console or on desktop, I think at that point in time, it's almost impossible to I think at that point in time, it was such a farfetched idea that it was like having an open source was not a disadvantage. In fact, you know, it was just more like a proof that, okay, it exists. And, you know, like you can look under the hood that, you know, we're not basically running an export or on, on any other engine, right. Uh, it's natively on WebGL. Um, and even to this day, I think we are such at such a nascent state. there's so much to be done. Uh, that, uh, we would just, you know, want other people to like take inspiration from it, either been on top of it, uh, contribute to it, or as well as, you know, come up with different flavors and variations. I think the way we see it, it's going to be a huge, um, you know, market or like huge paradigm shift. And there is, we are just seeing like the start in the beginning of it. Uh, I think 3D spatial web, the, the opportunity is so huge that there, and like when you're creating a category, you don't think about competition, right? Like I think at this point in time, anybody, anybody who is, uh, who wants to come in and, you know, take it as an inspiration, uh, it's good for the ecosystem. Thank you. It's actually very nice way of talk. Um, so really ideal way. Thank you.

7. Challenges of Building a Browser Game Engine

Short description:

The challenges of building a game engine to run entirely in the browser include skepticism and self-doubt. However, once the framework and foundations are created, code sharing on the web becomes more open. There are restrictions on bringing avatars and environments, primarily based on client-side computation and GPU load. However, the avatar system allows for a wide range of avatars, and there are no restrictions on environments. The main constraint is WebGL, but efforts are made to optimize and utilize the right design patterns.

And also what have been the challenges of building a game engine to run entirely in the browser? Oh, I think, uh, many challenges. Um, the first challenge was just to be able to like convince people in the first place. Right? Like, when we used to talk about it, like, even, even internally to within our team as well. Uh, there's such a skepticism, right? Like, will you be able to, like, like, is it possible to like, just even do that? So within, within internally as well, uh, you know, lots of self doubts. Um, that is, uh, the first thing.

Second thing is that it's definitely more difficult to build an engine as well as an experience on top from ground up right. Like, uh, when you're, you're using any, uh, any of the established engines, uh, they have like decades of work. So you can, you know, utilize a lot of libraries. You can utilize, uh, a lot of like work done by other people. Um, but what we realized is that once you actually create the framework and the foundations on the web, actually code sharing on the webs, uh, as well as JavaScript side of things is much more open. So, you know, it's very easy for you to like find any shader. Uh, it's very easy to like, you know, find, and there's so much open source stuff on the web. Uh, I think initially it was difficult to like, just get the, in the initial game engine side of things, uh, connected. But after that, we do feel that there's a lot of advantage of building on the web in terms of the open, uh, culture of, of code sharing, which already exists in the web community.

Oh, thank you. I know you talked about how easy it was to bringing your avatars or environments into developers. But I can talk a bit more about, are there any more restrictions on it? Can you bring in any kind of avatars or environments? Yeah. So, uh, I think, uh, the way to, so what we have done is that the restriction is definitely going to be on the client side, uh, because it depends upon, you know, the, the, the computation, the CPU and the GPU load at the end of the day. Right. Um, but in terms of the avatar system, it's. That's a brilliant thing about the avatar system, right? Like you can either using the same file format, you can have a full, uh, high fidelity humanoid avatar, or you could just bring in, you know, any other kind of avatars, uh, with this and that's the beauty of open standards, um, in terms of environments as well. No restrictions as such. Uh, except obviously the restriction, which would be on the client side of as to like how much CPU and the GPU load can be handled. Um, other than that, uh, at this point in time, uh, we, uh, we use three JS as a rendering engine. Uh, but we, we move a lot of our physics calculation to PhysX by NVIDIA, which we have combined to WebAssembly. Um, so we literally at this point are constrained primarily by WebGL, you know, uh, but, uh, as I said, like with WebGPU coming in and with even with WebGL, we try to like optimize as much as possible, uh, to be able to, you know, use the right design patterns for WebGL as well. Um, but, uh, yeah, I, I would say, you know, the only restriction right now would be WebGL other than that. No, no restriction as such. Uh, there are some like browser-based restrictions, which, uh, they are sometimes they're like, for example, sometimes the browsers turn off hardware acceleration or all, but those are settings which can easily be, um, you know, modified by the user at their end. Cool.

8. Support for VRM Fuzz and Target Audience

Short description:

We are targeting creators and communities, not companies. We haven't officially launched yet, but there is great traction and lots of interest. Our target is to enable anyone to build their own experience, like the next evolution of ROBLOX. Creators are already building on it, including our own team. Check out our Twitter for more.

Um, I have one question from the audience. So Daniel is asking, how is the support for VRM Fuzz across the industry currently? Are there major companies already using it? Uh, so we are not targeting, uh, companies to be using it. We are targeting like creators and communities. Uh, and we haven't like officially launched yet. So the traction is great. Like we do have like lots of interest in us. But as I said, right, like it's like 80%, 90% there. And we are working on the final tooling layer, uh, cause we are. Like our target is basically any person should be able to come in and build their experience, right? Uh, build their own MMO of it. Uh, you can think of it as like the next evolution of ROBLOX. Um, so, uh, yeah, I mean, the target is not companies, but like creators, are they building it? Yes. They're already building it. We have like around, I would say it's sporadic, but I would say, you know, somewhere around like 40 to 70 people who have like built their own experiences on top of it and that's other than our own, our own team, right? Like we also built a lot of experience. And like, if you go on our Twitter, you'll see like lots of stuff in there. Thank you.

9. Building 3D Experiences and Interoperability

Short description:

Building your own 3D experience and game on the web has advantages in terms of accessibility and ease of use, as it only requires opening a URL. However, developing the engine can be time-consuming. We will provide a boilerplate experience for creators and communities to build their own experiences, including 3D environments, avatars, interactions, quest systems, and AI NPCs. We are also working on interoperability and compatibility between 2D and 3D experiences, allowing users to seamlessly transition between different worlds with the same avatar and inventory.

And also what are the advantages and disadvantages to building your own 3d experience and game on the bed versus native and using existing engines? I think I covered it, but, uh, the, the most disadvantaged part of was building the engine, right? Which is the hard work, which we have done after that. I think they're only advantages from the creator side, uh, because it's, you know, super easy. It's just a URL. You just open the URL. Uh, so the accessibility aspect is also a huge, um, Yeah, I think the disadvantage was that it just takes a lot of time on developing the engine side of things, which we have done. Thank you.

And also another question from your mystery. Um, you're saying, or she's saying a great product. Is it possible to have a boilerplate for anyone who wants to fork to make their own light race? Sorry. Uh, can you repeat again, please? Yeah, sure. Um, they're saying that, is it possible to have a boiler freight for anyone who wants to force to make their own life rates whatever. Oh, I don't really know what, uh, everybody means by a boiler plate. Uh, but I think the best way to do it, like, yeah, you can forget re-enter MIT license, uh, for sure. And if you want to build an experience, uh, you know, the way we want to do it is that we'll be building a lot of our own experiences and we just wanted to be. Um, Kind of like a, like setting the benchmark, right? So whatever we will be building, like, just have a look out at us. And a lot of these repos will be also open source. Uh, so, you know, like anybody can like, look at these examples and then, you know, they can start remixing it, uh, to, to create like more different varieties But I think the whole idea of what we will be launching with is that boilerplate experience that, you know, like anybody is a creator or community would be able to like build their experience. And when I say an experience, it's not just like building, like, like having the 3d environment and the avatars, but also interactions, right. They are also like a quest system. Also so that you are able to like program your AI NPCs, uh, so that you can actually define a question a way, so that it is a meaningful game and it is all done through like low code or drag and drop widgets by anyone. So that's the, uh, that's the, you know, uh, the category which we are targeting. Uh, but any developer who wants to like contribute on the deep engine side of things as well, that's also. Thank you for answering that. Um, also I have one more question. I know you said this, but can you explain a bit more about, um, are you thinking about interoperate interoperate operability and X compatibility between 2d and 3d experiences too? Yes. So this is something which, um, we are currently in the works. So, so, okay. So one of the things about like the way we built it, uh, so right now, you know, you can have a full 3d, uh, immersive version, or you can have like a 2.5 D version, something like world of Warcraft. And, you know, you can move between these words with your same avatar, which is your same identity, as well as your same inventory. Um, right now we have a, for the avatar, uh, we have a version in which we take, uh, a full 360 degree render, uh, uh, and, and we, we take a 360 degree render spritesheet, uh, based render.

10. Developing 2D Based Experience

Short description:

The next step is to take this render and use the sprite sheet to create a 2D based experience. It's currently in the pipeline, and we're working on it.

Right. Um, so something like if anybody remembers doom, you know, like how you character in doom, right? Um, so the next step is to actually, you know, take this render and use that sprite sheet to be able to like, take you into a 2D based experience as well. Um, and, uh, that is also, you know, which is on the, on the pipeline. Uh, it's not something which we have fully done yet, but yeah, we have the 2D based, uh, sprite. Uh, now we just have to like, you know, do a few more things and then we'll have that as well.

Check out more articles and videos

We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career

JS GameDev Summit 2022JS GameDev Summit 2022
33 min
Building Fun Experiments with WebXR & Babylon.js
During this session, we’ll see a couple of demos of what you can do using WebXR, with Babylon.js. From VR audio experiments, to casual gaming in VR on an arcade machine up to more serious usage to create new ways of collaboration using either AR or VR, you should have a pretty good understanding of what you can do today.
Check the article as well to see the full content including code samples: article. 
React Summit 2023React Summit 2023
32 min
How Not to Build a Video Game
In this talk we'll delve into the art of creating something meaningful and fulfilling. Through the lens of my own journey of rediscovering my passion for coding and building a video game from the ground up with JavaScript and React, we will explore the trade-offs between easy solutions and fast performance. You will gain valuable insights into rapid prototyping, test infrastructure, and a range of CSS tricks that can be applied to both game development and your day-to-day work.

Workshops on related topic

JSNation 2023JSNation 2023
116 min
Make a Game With PlayCanvas in 2 Hours
Featured WorkshopFree
In this workshop, we’ll build a game using the PlayCanvas WebGL engine from start to finish. From development to publishing, we’ll cover the most crucial features such as scripting, UI creation and much more.
Table of the content:- Introduction- Intro to PlayCanvas- What we will be building- Adding a character model and animation- Making the character move with scripts- 'Fake' running- Adding obstacles- Detecting collisions- Adding a score counter- Game over and restarting- Wrap up!- Questions
Workshop levelFamiliarity with game engines and game development aspects is recommended, but not required.
JS GameDev Summit 2022JS GameDev Summit 2022
121 min
PlayCanvas End-to-End : the quick version
In this workshop, we’ll build a complete game using the PlayCanvas engine while learning the best practices for project management. From development to publishing, we’ll cover the most crucial features such as asset management, scripting, audio, debugging, and much more.
JS GameDev Summit 2022JS GameDev Summit 2022
86 min
Introduction to WebXR with Babylon.js
In this workshop, we'll introduce you to the core concepts of building Mixed Reality experiences with WebXR and Balon.js.
You'll learn the following:- How to add 3D mesh objects and buttons to a scene- How to use procedural textures- How to add actions to objects- How to take advantage of the default Cross Reality (XR) experience- How to add physics to a scene
For the first project in this workshop, you'll create an interactive Mixed Reality experience that'll display basketball player stats to fans and coaches. For the second project in this workshop, you'll create a voice activated WebXR app using Balon.js and Azure Speech-to-Text. You'll then deploy the web app using Static Website Hosting provided Azure Blob Storage.