Last I checked in with "Markcreator" in 2020, the indie developer had somehow figured out how to recreat a Minecraft-like experience in VRChat, inevitably dubbing it VRCraft. This week, he's taken several leaps on that innovation, and is now making it possible for anyone to import their Minecraft worlds into VRCraft. (Watch above.)
"One of the things that VRChat added this year is the ability to load data from trusted sources like GitHub," Mark tells me. "So I got motivated to use that to load a list of community-submitted worlds into VRCraft for people to enjoy! It's also a nice way to give people that love building in VRCraft a platform to showcase their cool builds.
"As for how it's possible to convert Minecraft worlds to VRCraft: I personally wrote the file format for VRCraft worlds. If people are curious about the file format and know how to read code, they can look at it here. But long story short: Because I developed the file format I was able to rewrite it from Udon code to Java code pretty easily. Before I came to VRChat I actually wrote plugins for Minecraft servers full-time! So this was a fun throwback for me."
Start exploring in VRChat here. It's just the latest jaw-dropping example of the VRChat community ingesting older virtual worlds into the ecosystem (here's another one from last month), and hopefully Microsoft has a good sense of humor about this project.
As for how Mark created VRCraft, here's what I told me a few years ago:
Minecraft in VRChat (also known as Udon Minecraft) is one of my hobby projects and is the accumulation of about 100 hours of work.
The technology that was used is called UdonSharp, an experimental compiler with a small community that has enabled the creation of Udon (VRChat's scripting language) scripts using regular C# code, allowing for much more complex functionality than the regular Udon Graph Editor.
It is currently still a very young but promising technology with little documentation, but has inspired some programmers such as myself to push the limits of VRChat's exposed programming interface.
Some of the biggest challenges making the world were getting it to run fast and play well, as well as synchronizing the world between the connected players.
Instead of using solid blocks to represent the world, my implementation builds meshes out of triangles (vertices) using a lot of math magic to get as much performance out of VRChat and your computer as possible, making it the first interactable Minecraft world of its kind that actually plays well.
Building these meshes is actually very computationally expensive, and Udon does not support multi=threading (which means any code that has to run will freeze your game temporarily), so getting the meshes built as efficiently as possible was crucial to make the world run as smoothly as possible.
As for networking, Udon and UdonSharp are very limited when it comes to synchronizing data between the different players, so I had to invent a custom protocol to allow for up to 10 players to change a block at the same time without any blocks not getting shared with the other players in the world.
Currently the world is comparable in functionality to Minecraft Classic, and old and nostalgic version of the original game.
In the future I hope to add more functionality to this world, as well as starting up new challenging projects to push the envelope even further
Comments
You can follow this conversation by subscribing to the comment feed for this post.