Metaverse for Remote Collaboration
How Visartech helped to create an enterprise metaverse for bringing the remote teams together to collaborate in an immersive virtual 3D world that makes onboarding and team-building experiences fun and simple.
Metaverse for remote collaboration is a Silicon Valley startup funded by an investment company that allows enterprise employees to immerse into corporate culture, team-building activities, and become a real part of the firm thanks to engaging 3D practices.
Partnership since: March 2021 - Present
Google, Microsoft, and other giants started using it 2 months after launch.
200+ users in an app simultaneously.
A whole new metaverse for remote collaboration between distributed team members.
|In the new era of remote collaboration, the existence of a convenient product that simplifies connections and engages staff is a must-have. Besides, the pace of innovations these days makes the here-and-now concept a real competitive edge.|
You should act fast, develop and deploy right away. That was the pattern our software development team adopted while making a metaverse solution for our client thanks to the trunk-based development approach.
The client came up with the idea of developing a virtual location for collaboration between remote co-workers. The inspiration was taken from a competing product and got enhanced with its own features and improvements.
Compared to the competitors built for PCs, the newly designed product was meant to run directly in a web browser making it accessible from any device at any time.
The whole app development team was engaged in the brainstorming sessions trying to develop the best possible implementation of the client’s idea. Some features were not obvious from the start. A lot of research and experiments were carried out before the production of even basic functionality. A thorough analysis of PC-built competitors allowed us to re-create similar functionality in a web browser and improve upon new requirements.
First, we’ve created an MVP that allowed us to test the feasibility of an idea. Once successful, we’ve carried out the fully-fledged product development and continued the further deployment in real-time.
Real-time metaverse project delivery withstanding high loads.
IT Infrastructure Development
How to make a high-load web application stable and shift to a new paradigm of remote collaboration.
The Visartech team had the challenge of developing a whole new idea from scratch. When we initially started the metaverse project development, we didn’t even know if it would be possible to implement all the client’s requirements in the original form. After the initial research and analysis, we’ve started with the minimum viable product development.
The prototype was not overloaded with multiplayer. The avatar moved along the flat surface. The whole product was created with simplicity in mind just to be able to test the viability of the metaverse idea.
At first, the deployment was manual and conducted once a week.
Along the way, we’ve had several challenges that required us to:
Once the MVP part was ready, it proved to be viable and promising. However, it had a lot of room for improvement.
|The product was launched pretty fast. The events were taking place, but we had to make a stable infrastructure as only one server worked where both the production and development environments were raised. So we had to make a fault tolerance to avoid server failure.|
As the project grew and was already used for real events, the team ran into problems that were very difficult or impossible to reproduce in a test environment. Some real users could connect from weak devices, do not connect headphones, etc. Besides, multiplayer app testing required a large group of live users.
There was an urgent need to implement a detailed logging system to detect users who are experiencing difficulties and see exactly what the problem was. The new logs helped us understand and subsequently fix a lot of issues.
Besides, when getting ready for a certain event, just one non-working feature could delay the release date until the issue is fixed. After introducing feature flags, the team can independently configure the composition of features for the release and “turn off” unnecessary ones.
From a rough MVP to a fully-grade metaverse solution with continuous delivery in real-time.
Our app development team has managed to develop all the solutions that were planned:
We have put much effort into creating fault tolerance through a failover strategy. That’s when there are two simultaneous servers and only one is actively working. Replacing from a static EC2 machine to AWS Beanstalk (ELB + ASG + Automatic Deployments) and using a load balancer have allowed the servers to swap between each other once an interruption appears.
In case of a server interruption, the health check gets activated and the server switches website traffic to the second server within 15 seconds. They are located in different data centers/availability zones in AWS which makes it impossible for both of them to fail at the same time.
- 3D Art
The avatars, terrains, and accessories were initially created through Unity Terraine. However, eventually, to match them with WebGL we have optimized them manually thus making custom solutions. As a result, the whole texture, terrains, avatars, shaders, clothes, and other visual objects became clearer and more detailed.
- Product Deployment
Considering the usage of Unity and WebGL, in the end, we’ve decided to employ Jenkins and Kubernetes for product deployment which has substantially fastened the product delivery.
Besides that, we have implemented the following innovations:
- different types of locations: with summer and winter weather;
- logging of the used services;
- an algorithm that bypasses the maximum number of clients in Agora, a service for voice calls;
- authorization transition from PlayFab to Firebase Auth for speed-up and stable work of authentication, emails, and password saving.
- a microservice on a Node.js server and a DynamoDB from AWS as a database for flexible data storage.
As a result, the initial idea of the metaverse product was improved and enhanced by new functionality and custom-made solutions.
of US users prefer social get-together in game world occasionally. Obviously, the game-world hangouts are far less popular compared to traditional social media, however, they are getting used with an increasing frequence.
A fully-scaled metaverse product with a custom development approach.
|Our product development team was challenged by a brand new idea that was perfectly implemented after thorough research, brainstorming, and MVP development.|
Once the concept has proven its viability, we have optimized all the sides of app development. Thus, the custom approach in 3D art production has resulted in pixelization-free graphics and an increase in graphics performance by 100%.
A solid infrastructure is of significant importance to any metaverse solution that is fully loaded with 3D objects, visual parts, avatar movements, and lots of users leveraging a platform simultaneously.
The continuous improvements in infrastructure have shortened the delivery process from 4 hours to 1,5 hours for the initial deployment and 25 minutes for each concurrent deployment. Now we can make around 10 builds per day with new functionality delivered in real-time. Besides that, the failover strategy has resulted in stable work of the product under heavy loads.
Metaverse for Remote Collaboration Today
- 2 months
- after launch started using by Google, Microsoft
- 200 users
- in an app simultaneously
- 25 minutes
- for a single app update