Blender Worlds is a mixed reality metaverse. In this world content creators, musicians and other artists can perform to their audiences, trade Non fungible token art or even meditate. It is an interesting mesh of concepts, creating new environments in the online entertainment industry.
With a team of creatives, coders, artists, and neuroscientists we are developing a metaverse platform, a mixed reality universe where users can attend events and exhibitions, connect with other users and content creators, travel and explore worlds or create opportunities for people to build communities and showcase your work. Our aim is for Blender Worlds to be a mixed reality universe which means, users will be able to attend events in real life, buy drinks and food using the Blender App and coins, but anyone logged into Blender worlds will also be at the event online. The world will have a meditation hall, an art gallery, helicopter rides, nightclubs, portals to other realms all this and more nestled in beautiful scenery of mountains, forests, beaches, cities, and towns.
Process of making The Blender Worlds MVP
First we were working on figuring out Unity and using terrains, paths and decoration. At the beginning we ran into a lot of problems which initially we didn’t know how to solve. The process is complex and even though something may look good, you realise a lot of the time that there are things that should be considered before the good stuff comes along. So we had to change a lot since the project started. For instance, we had to start again a few times and other things like realising some assets although they looked good, weren’t working very well. We then realised that we needed far more land and used a tool called terrain stitcher. This seemed to cause problems as it was difficult to prevent holes between the terrains forming. The world was very difficult to run on the computer and it lagged quite a bit. We needed a better idea so this is where we used Terrain Loader which basically replaces terrains with imposters when you aren’t close to them. This means only the closest terrains are loaded in full and the ones in the distance are just ‘images’. This helped with the lagging and we were able to move on.
We created a new world using Gaia which allowed us to create a bigger world that would be decorated with trees, grass and other things like shorelines and moutains. Once we were able to figure out what assets we wanted to use from the Unity Asset store, that worked and that suited the world, we made a general placement of all our assets and then worked around them to create the world. We worked on each building and started making them fit into the environement, by adjusting the terrain, adding decorations and pathways.
The UI
After this our next step was to create a menu page, loading screen and UI for the game. Using designs from Blender Worlds, we created a basic UI starting screen, where you can Log in, pick a character, and edit the resolution and screen size etc. From this point, there was a lot programming and writing scripts to make sure these things functioned and also connected with the main game and server. Making the world multiplayer isn’t just connecting it to the server, but making sure the server gets updated and other users and you can see the live updates as they happen. Furthermore, we wanted users when logged in somebody logs in to be able to view their wallet and money that they have so they can use it in-game.
We later added a map and logout option. Pressing ESC pulls up the option for you to log out or exit the game. In addition to this, you are able to view where you are on the map via a red dot. There is also instructions for the controls on the bottom left of the screen along with instructions on how to fly the helicopter.
Assets and Environment
Back in the main world, we did a lot of work to the buildings such as, making it possible to open and close doors, adding exterior walls to some of the buildings which were made to only be viewed from the inside originally. There was also a lot of houses that needed the walls and floors to be ‘solidified’ so your character didn’t fall through. This Process of keeping our eye out for bugs and things that don’t work, is something that from the start we needed to do. Testing and saving our work as we went was important to make sure everything was working. Sometimes for instance scripts would stop working and we’d have to figure out why or sometimes, there would be grass growing inside houses. Every time we ran into a problem, we’d solve it before moving forward onto the next thing.
Once the buildings and other assets were exactly where we wanted them to be. We went around and for every asset/building, we placed it in the correct terrain that it was located at. In the Hierarchy you could load the terrains, and this would load them up in edit mode. Each terrain when you expand the drop down, would then have all the buildings and assets that it carries in the game. This made sure that, as the world is being loaded depending on where you are, only the buildings that are near you are loaded in full and the ones far away are still loaded as imposters. This helped with the lagging of the game as some of the buildings such as the nightclub, have so many components that loading it up when you are nowhere near it is unnecessary.
Next steps were blending our buildings in and adding paths, town squares, benches, pathways, and parks to give the world a better flow. This took a while to get it right. There was a lot of coming back and testing. For example, I might put some trees down and a bench in edit mode on Unity, it would look fine. I test it by logging into the game and walking around with the character. A lot of the times, I’d notice where the tree was floating above the ground or there was grass spawned on the pathway that I didn’t realise, or that the bench was slightly tilted and wasn’t perpendicular to the ground. I had fun designing and working on each area and making sure it looked as good as it could with the limitations I had with the MVP.
Multiplayer, avatars and spawning
We were able to use an App to create a virtual 3D avatars that look exactly like your human self. We wanted to test if it was even possible to, actually put ourselves into the world and have personalised avatars. With the App the camera is able to scan your body and makes a digital copy of the way you look. For the majority of the characters, we used Mixamo as real-life characters aren’t necessary for the MVP. Mixamo is a website where you can download an already programmed avatar, with skins of your choice. Animating avatars isn’t straightforward, so where we might in the future make our own skins and personalize character creation, we can still use the animation of the avatars, that comes pre-made with Mixamo. There are many different movements, not just walking and running, but sitting, dancing, waving, you name it, and it is possible.
We had added characters already but we the next step was to make them work in our world. First step was to be able to make sure multiplayer worked. Once we set up the accounts and server, we were able to test if two of us could log on and be in the world together live and see the other character animated. Initially, the multiplayer aspect worked but the other players wouldn’t be animated from the perspective of others, they would just hover around. So, this is something we had to fix. Once this was done, our clients wanted to add more animations. So, we used Maximo, and added key to each command so that the character now would dance and sit. This was where we stopped in the MVP as we had proved that it was possible and that we could expand in the future.
Another thing we looked at was Portals. We wanted for users to be able to travel between realms. This is important in the future when we look at expanding the world. We tested our portal and connected it to this Neon World. It wasn’t the easiest to get this to work at first. One example of something we had to consider when developing this idea, was when the avatar would spawn after going through the portal. Initially, the character would spawn anywhere in the area and sometimes, would fall through the world. We had to add some lines of code to stop this from happening and make sure the avatar spawned in the right area each time.
Talking about spawning, when you first log in, the avatar will spawn. However, we don’t want every user to spawn in the exact same coordinates. To solve this, we added code that tells the game to spawn the avatar within a range on the map. This way we won’t have the problem of clusters of users standing in the exact same area at one time when logging in.
Finishing the MVP
We are now working on finishing and polishing the metaverse. When it comes to function, we have shown what can be done and what works. Getting some feedback from our team, we have a list of things that we are prioritizing to get Blender Worlds MVP looking, feeling, and working its best. Some of the things we need to do in the next couple weeks is adding in bots that will make the world look more alive. So, bartenders, people standing around, walking around, and sitting. We need to add life to the world. Furthermore, we will be creating an area where users will spawn, and it will have signs and paths to lead them through the world. It’s important that the character loads somewhere where the user can learn about where they are, where they can go and what is happening. These are just a few adjustments and finalizations we need to make to finish the MVP and get ourselves ready for the next stages.
The Website
We have built a website, where you can read articles, read about content creators and artists, and buy and sell NFT’s. The App will be used for venues and events to have a place where members of Blender Worlds who are at these events can buy and view event tickets, drinks, and food.
Below you can see a couple examples, of how events would be showcased on the website. You can view where and when the event and would be held in the metaverse and in real life. You can buy tickets here.
The App
Below you can see some screenshots of our app. Every User is able to order tickets through the app, view them, see what venues are holding which events. There is also access to your wallet and other any other orders of food and drink. Each Venue and event will have its own menu list. You can order through the app or through a smart watch using the money from your wallet and collect your drinks in the venue, no need for ques.