What is the Croquet Metaverse Web Showcase?
The Croquet Metaverse Web Showcase is a fully immersive Metaverse world that can be embedded interoperably in any 2D website to dramatically enhance site experience, improve engagement and increase sales.
What does the Croquet Metaverse Web Showcase cost?
The Croquet Metaverse Web Showcase is 100% FREE!
How do I customize the Croquet Metaverse Web Showcase?
The Croquet Metaverse Web Showcase is customizable with your Company’s assets such as images, videos and presentations along with a Call to Action by changing links in a code snippet provided in the Developer Portal.
Read DocsHow do I install the Croquet Metaverse Web Showcase?
The Croquet Metaverse Web Showcase is easily installed by copying a snippet of code into your webpage.
Learn MoreHow do I invite others to my Metaverse Web Showcase?
Visitors can be invited from within the Metaverse Web Showcase using the Invite option from the menu in the upper right of the space which brings them into the same session for a multiplayer experience.
What is Croquet OS?
Croquet OS is the operating system for the Metaverse that provides a shared virtual machine with replicated computation operating in the browser of the devices of all participating users that delivers bit-identical calculations for synchronous computing.
How does Croquet OS work?
When a Croquet app starts, it automatically connects to a nearby cloud-based reflector in our worldwide fleet. The reflector mirrors user inputs to a virtual computer running on each user’s local client. Croquet makes sure these virtual computers stay in bit-identical synchronization. Every user has the same shared experience, even though no central server is coordinating things.
What is the Croquet Microverse World Builder?
The Croquet Microverse World Builder is a development environment built on Croquet OS that empowers designers and developers to collaboratively build and iterate on worlds and spaces in order to rapidly create interoperable, web based virtual experiences. The World Builder is designed to make it easy to construct high performing multiuser applications for the Metaverse in Javascript. Create, modify and share your worlds.
What is a reflector?
A reflector is a special type of public server located in the cloud. It’s very simple and lightweight. All it does is forward events from Croquet clients to other clients that are connected to the same multiuser session. Reflectors are completely generic. Any app can use any reflector. This means that it’s easy for us to deploy lots of reflectors across the globe, so everyone is close to a low-latency multiuser experience.
Where are reflectors deployed?
Croquet reflectors are currently deployed in data centers on every continent except Africa and Antarctica. We’re also in discussions with telecom providers to deploy them on the 5G edge for even higher performance and lower latency. It’s also possible to deploy site-specific reflectors in places like stadiums or factories for ultra-low latency. Contact Us for more information.
How does an end user launch a Croquet app?
Users can connect instantly to a Croquet multiuser experience without any installation or login. All that’s required is an internet connection, a device with a modern web browser, and the URL to a Croquet session. Sessions can be served from any normal webserver. They can be hosted inside an IFrame on an existing webpage, or shared between mobile devices with QR codes.
What is the typical latency of a Croquet session?
It varies from client to client, depending on how far they are from the session reflector. Typical roundtrip latency (to the reflector and back) is 20ms for fast connections, and up to 100ms for slow connections. The first user to join a session determines connects to the nearest reflector.
How do I use a portal?
Portals are doorways to connect multiple microverse spaces.
How do I create a new world?
Begin by writing a simple "start file" in JavaScript. You can then drag and drop 3D models and objects into the world. To create and modify object behaviors, you can write a JavaScript program called "behavior modules" to add actions for those objects To learn more, read our docs.
What are behaviors?
These define how the card acts when a user or another card interacts with it. Behaviors computation is replicated on all user systems, providing a perfect, bit-identical shared experience.
What is a card?
These define how the card acts when a user or another card interacts with it. Behaviors computation is replicated on all user systems, providing a perfect, bit-identical shared experience.
How many users can connect to a single Croquet session?
It depends on how frequently each user interacts. (i.e., sends a message to the reflector.) High-interaction applications can support dozens of simultaneous users per session. Low-interaction applications can support hundreds.
What platforms does Croquet support?
Croquet runs on any platform that has a modern web browser (such as Chrome or Safari) and an internet connection. It works on desktop systems, tablets, and mobile devices, and the same application can run cross-platform on a variety of different devices simultaneously. You can even use your phone as a real-time input device for an app running on your desktop.
What language are Croquet apps written in?
Most Croquet OS developers use JavaScript or TypeScript; however, the Croquet libraries are also compatible with WebAssembly. For information about other language options, talk to us on our Discord Channel.
What is a model/view architecture?
Croquet OS apps are based on a model/view architecture. The model handles the synchronized simulation, and the view handles input and output. The model is always bit-identical for every client in a session, but the view can be different (for example, if two users are looking at a shared 3D scene from different angles). Because the model is local to the client along with the view, the view can read from it at any time. (It just can’t write directly to it.)
What is speculative execution?
Because the model and the View are both local, the View can speculatively respond to user inputs immediately, and then correct itself later if the model contradicts it. (For example, if two characters in a virtual world collide with each other.) Speculative execution makes apps more responsive. Croquet OS has no rollback. The model is always the “truth” of the shared experience, and the View references it to determine what to show the user.
What is publish/ subscribe?
Internal communications in a Croquet OS app are handled with a publish/subscribe mechanism. Objects publish events, and any other object that subscribes to an event will receive it. Events can be passed within the model or the View, or between the model and the View. Events sent from the View to the model go through the reflector to ensure every instance of the model receives the same event stream.
What is a snapshot?
Croquet OS periodically captures the state of the app’s model and saves it to the cloud. When new users join the same multiuser session, they load the latest snapshot to quickly get synched with everyone else. Snapshots are persistent, so even if everyone leaves and rejoins, the model will still be in the same state. Snapshotting is completely automatic. The developer doesn’t have to do anything to get seamless dynamic joins and session persistence.
How long are snapshots saved for?
Currently, indefinitely. (They don’t take up much storage.) As our client base grows, we will likely impose of cap of six months to a year. Snapshots that haven’t been accessed in that time period will be deleted. If you need longer storage of snapshots, contact us.
Can one slow client ruin the experience for other users in the session?
No. Croquet OS is not a lock-step system, and fast clients don’t wait for slow clients. The user with the slow client will themselves have a worse experience (a lower frame rate, and less responsive interactions) but the other participants in the session won’t notice any change to their experience.
What is simulation time?
To make sure that Models stay synchronized, Croquet OS doesn’t make use of normal system time. Instead, it uses simulation time. Simulation time exists only inside the virtual computer. The Croquet reflector sends a steady stream of heartbeat ticks to its clients so that simulation time continues to advance, allowing you to create dynamic simulations that unfold even without user input.
How does Croquet OS handle randomness?
Croquet OS Models use their own deterministic procedural random number generator. So even though the model is executing independently on each client, the sequence of random numbers will be the same, and the simulation will stay in sync.
How many dynamic entities can a Croquet simulation contain?
Because model state doesn’t need to be transmitted from a central server, Croquet OS doesn’t have an upper bound on the number of dynamic entities it can handle. You can easily create a multiuser simulation containing hundreds of dynamic objects. The main upper limit is snapshot size—once the data stored in a snapshot grows to several megabytes, there may be a noticeable hitch when the snapshot is taken.
Is Croquet OS compatible with other web libraries?
Croquet OS just handles synchronization. It doesn’t make any assumptions about what other libraries and tools you’re using. Anything that can go in the unsynchronized View is fully compatible with Croquet. However, if you want to integrate outside libraries into the synchronized model, there may be additional work to make sure the outside code is fully deterministic and capable of being snapshotted. For more information, talk to us on our Discord Channel.
How does Croquet OS resolve conflicts? What happens if two users try to do something simultaneously?
The reflector strictly orders the input events coming from every user in the session, so there’s no such thing as “doing something simultaneously”. One user always goes first. Croquet itself doesn’t impose any arbitration scheme for resolving conflicting actions. The right thing to do in any given situation is very context-dependent, so Croquet OS merely provides an ordered sequence of input events and lets each individual app decide how to handle collisions.
Is Croquet OS secure?
Croquet OS fully encrypts all network traffic, including reflector messages and snapshots. And because the reflector doesn’t need to read the messages it’s reflecting, developers can even replace our encryption protocol with their own.
What happens if clients desync?
If a desync happens, it’s a bug. Usually, its because either the View has written directly to the model, or because the model accessed a non-replicated service like local system time. The reflector checks for possible desync events at snapshot time. It compares the snapshots it receives from each client, and if they don’t match, it forces the divergent client to restart the session with the correct snapshot.
How does Croquet OS handle application updates?
Every client in a Croquet OS session must be running the same version of model code to guarantee that everyone stays in sync. If an application needs to persist state across a code update, we provide a persistence mechanism in addition to the automatic snapshot.
How much does Croquet OS cost?
The Croquet OS Microverse World Builder is free to use. Use of the Croquet OS which provides a foundation to the Microverse World Builder is based on OS Initiations and minutes used with a generous amount of each provided for free every month. See the full pricing details here.
What happens if I use all of my free Croquet OS Initiations?
If you use all of your free minutes, you can continue to develop locally but will have to upgrade to a paid tier in order to allow others to experience the application built with the Croquet OS.
How do I purchase a Subscription for Croquet OS?
To subscribe to Croquet OS, sign up via the self-service portal. If you’re a developer with little use, we offer a FREE tier providing a generous amount of minutes to use the Croquet OS each month to share your application with others.
How do the Launch and Business tiers work?
You pay a flat fee every month, plus a small charge for OS initiation and each million events that the Croquet OS reflectors transmit to your applications.
What is a OS initiation?
OS initiation is when the Croquet OS is loaded onto a browser and a user enters a space.
What are the different Croquet products and licenses?
Croquet offers multiple products and services bound by different license agreements.
Product | Source | License | Pricing |
---|---|---|---|
Croquet Metaverse Web Showcase | Closed | Croquet Commercial License | Free |
Croquet Microverse World Builder | Open | Apache License Version 2.0 | Free* |
Croquet Worldcore Engine | Open | Apache License Version 2.0 | Free* |
Croquet OS | Closed | Croquet Commercial License | Usage Based |
Croquet Mediaverse | Closed | Croquet Commercial License | Contact Us |
Croquet Fan Experience Builder | Closed | Croquet Commercial License | Contact Us |
* Requires Croquet OS
Am I allowed to include the Microverse World Builder in my software?
Absolutely! We selected the permissive Apache License Version 2.0 to enable developers to fork, modify and distribute the Microverse World Builder in proprietary software for commercial or other purposes.
Is Your Software Open Source?
The Microverse World Builder is open source, as well as the Worldcore engine it uses, and various related packages. Our other components are under different terms.
What do I need to include if I use the Microverse World Builder in my software?
Do I need to release my code if I modify/use the Microverse World Builder?
Although we would love to have you contribute your code, there is no requirement to release any of your code under the Apache License Version 2.0
How are events counted?
Events are counted downstream from the reflector (The total event count consists of user events plus heartbeat ticks, multiplied by the number of users in the session).
If I contribute my code to Microverse World Builder, what will you do with it?
Any contributions to the Microverse World Builder will be under the Apache 2.0 license, so it is free for anyone, including us, to use for any purpose.
The Multiplayer Platform For Web and Gaming
Developers