Introducing MML: An Open Source Metaverse Markup Language for Multi-User Interactive 3D Experiences
MML was designed to empower creators like you to build multi-user, interactive Metaverse experiences by dynamically combining diverse creations made by various contributors.
Although MML is at v0.1, it’s expected that both the format and network protocols will evolve through backwards-incompatible changes until the eventual v1. Nevertheless, the MML project invites you to dive into MML v0.1, experiment with it, and contribute your insights to shape its future.
What is MML?
The key points of MML include:
- Familiarity and Ecosystem: MML is based on HTML, making it approachable for a wide range of creators already familiar with web development.
- Portability: MML documents can run in any modern web browser, and game engine support can be achieved using MML integrations.
- Composability: Virtual worlds can be composed of multiple documents running on different servers, simplifying the creation of complex virtual spaces.
What is Networked DOM?
Central to MML’s applicability for multi-user virtual world applications is the Networked DOM networking model. This model separates the logic for a document from the “world” server, enabling documents to interact with web service APIs (such as generative AI) and be portable across various worlds and engines. Moreover, it allows for greater computational complexity while avoiding challenging race conditions.
The Networked DOM works by establishing a WebSocket connection between the document and the client. The document sends Document Object Model (DOM) updates to the client to update the client’s state, and the client sends DOM events back to the document to interact with it.
This approach enables multi-document compositions and flexible deployment options, ranging from peer-to-peer setups to massive-scale experiences that can run on diverse infrastructure.
[Interactive editor demonstration here]
This live editing experience also works in WebSocket-networked environments, allowing you to live-update a document while others see it and interact with it.
Getting Started with MML
To start exploring MML and create your own live MML document accessible to others, head over to the MML Starter Project repository. The repository includes a link to run a simple MML document on CodeSandbox, providing a hands-on introduction to MML’s features and capabilities.
[Screenshot of MML Starter Project]
You can also browse the MML Examples to see a few creations and refer to the MML Documentation to learn more about the MML HTML elements and how to use them.
Integrating MML into a 3D Web Experience
Discover how MML documents can be integrated into a 3D web experience by exploring the MML Playground Repository. The README contains a link to run a 3D multi-user web experience on CodeSandbox, demonstrating MML documents running on one server being brought into a 3D web experience on another.
[Screenshot of MML Playground]
The Future of MML
The vision for MML extends far beyond its current capabilities. While the existing elements and functionality form the core concept, there are exciting plans for much more, including animated attributes, world-sensing documents, identity/authentication, and beyond.
MML has the potential to be used across a plethora of virtual world experiences, including augmented reality.
The project aims to enable an even broader range of creators to participate in developing interactive, multi-user experiences by making content creation more accessible and adding more powerful capabilities.
By fostering diverse creators and creations, MML can help expand the scope and variety of virtual content, providing flexible deployment options for a wide range of experiences, from close-proximity peer-to-peer settings to massive-scale environments with thousands of participants.
Resources and Support
For more information about MML and access to its source code, visit the MML GitHub Repository. Engage in GitHub discussions to share your ideas, showcase your creations, and provide feedback on MML to help refine and enhance its features.
MML holds the promise of offering a versatile, yet familiar way for creators like you to develop interactive, multi-user 3D experiences. The MML project encourages you to dive into MML v0.1, prototype its incorporation into your virtual worlds, and share your experiences with the thriving community!