Manifest Destiny

tldr; I argue for Voxels (formaly Cryptovoxels) to remain relevant and true to its roots, it must recommit to decentralization. I outline the actions I'm taking as a community member to help steer us back to the original vision, including developing open-source tools for interoperable wearables and preserving user creations on the permaweb.

Part 1:


Voxels is at a crossroads.

Born in the wild west of the early metaverse, Voxels (formerly Cryptovoxels) was a beacon of creativity, community, and crypto-fueled experimentation. The punk rock band in a sea of corporate-backed, sanitized virtual worlds.

But as the metaverse has grown, Voxels has reached an impasse. IMO the challenges are less specific technical issues, and moreso about the hesitancy to fully commit to interop when conventional wisdom for running a platform is to keep users within the walled gardens at all costs.

However Voxels was never meant to be a conventional platform. It was born out of the ethos of empowering users and decentralization. Such requires a leap of faith, a willingness to let go of the walled garden mentality. It's hard, but it's a path that stays true to the project origins, and to the punk rock spirit that made it so special in the first place.

As a community, we have the power to help shape this future. In this post I share details about recent grassroots actions I've been taking in order to preserve our history and cultural artifacts from risks of platform dependence.

Metaverse pioneers traveling with their digital artifacts across the great frontiers of cyberspace
Metaverse pioneers traveling with their digital artifacts across the great frontiers of cyberspace

File > App

When it comes to ensuring the longevity of our digital creations, I'm reminded of a powerful post by kepano titled File > App.

In it he argues that all software is ephemeral, so give people ownership over their data. If you want to create digital artifacts that last, they must be files you can control, in formats that are easy to retrieve and read. Use tools that give you this freedom and don't lock your data into a format you can't retrieve. Makes sense.

file over app
file over app

The 'File > App' approach is not just a nice-to-have, it can make the difference between preservation and oblivion. It's proven to be prescient earlier this year when the WebXR world was rocked by news that Mozilla is sunsetting Hubs after 5 years of operations. Hubs was a pioneering social VR platform that many in the community had come to rely on. However, because Hubs was built on open standards like glTF, the 115,732 custom avatars and 215,923 scenes uploaded to the platform aren't lost forever. They can live on in other compatible platforms.

Early Days of The Cryptoart Renaissance

My first impression of Cryptovoxels was it being punk rock. Its got an aesthetic reminscent of a 3D Angelfire / Geocities, soulful landmarks of a bygone era of the web. Even now, every visit yields new delights to behold in what is perhaps the biggest virtual art walk on the web.

IMO it's the Florence of the cryptoart renaissance, a gathering place for pioneering artists and collectors. For that reason I don't view it as just another project but as a pivotal, historically significant gathering place.

Voxels launched in 2018 led by Ben Nolan as a one man team. Ben always turned down investors, opting to be fully community supported instead. For historical context, Decentraland had just raised millions to build a metaverse, but the world wasn't open to the public until years later around February 2020. Even so the secondary market for parcels in Decentraland was reaching exorbitant prices, despite not having any playable experience yet.

Ben coded like a madman, quickly shipping features like .vox import support and NFT previews to display NFTs with - at which point the artists arrived in droves to setup their in-world galleries. Later Ben shipped NFT wearables for avatars, in which anybody could submit a design for and a community volunteer would then hand mint them.

Ben was even experimenting with auto-converting wearables to glTF and USDZ formats for interop and AR/VR previews, way back in 2019!

But wait, what happened? It's 2024 and the wearables NFTs still have centralized metadata, and links pointing to vox format only on centralized storage.

First NFT wearable minted on ethereum, metadata still points to centralized hosting
First NFT wearable minted on ethereum, metadata still points to centralized hosting

What happens if the server shuts down? What about our parcels? What do we really own if our creations rely upon a centrally hosted service?

The data is only in magicavoxel .vox format, so I can't bring it into many other places unless it's converted. What about the glTF stuff?

I was so excited about glTF export support happening that I made this video last year while Ben was live tweeting development. I've been looking forward to having this capability and level of detail ever since I began to experiment with Cryptovoxels interoperability 5 years ago!

Alas, it was short lived as the exporter is no longer online. The exits have been closed, and moreover the team has shrunken down while bugs are piling up. Proprietary data formats, centralized storage, and locking users into your platform is not what I expected out of a crypto project that sought to build an open alternative to the metaverse.

Either way, I feel compelled to do something in order to preserve our culture and history, cuz else if not me then who?

Metaverse Passports

Recently Decentraland released VRM avatar export ability from their main client. Meaning you can take your current avatar with all of its wearables and export it into a file format that's compatible with hundreds of other programs.

This wearables upgrade can also lead to more interop between Voxels and Decentraland. One potential issue is that afaik Decentraland has pre-determined placements for wearables whereas Voxel wearables have no opinion about where you attach them to (you use the costumer for it). https://docs.decentraland.org/creator/wearables/linked-wearables/#creating-linked-wearables-in-bulk

Right of Exit is key to crypto. You have the ability to switch wallets (BIP-39), platforms, and providers with near minimal friction. It's giving power to the users with the ability and choice to fork things or take our data with us to other services built on the same protocols. The low switching costs adds incentives for platforms to deliver the best service.

check the timestamps
check the timestamps

We can play it safe by keeping borders closed for custom avatar import, but I believe holders should be able to export our avatar costumes as VRM files which can help spread our culture across the metaverse. This would also help with expanding market reach for creators as well because currently the Voxel wearables economy only caters to a captive audience of a few thousand people, whereas through interoperability it can be millions!

Plus voxel wearables just look cool on other avatars
Plus voxel wearables just look cool on other avatars

Actions Being Taken

Openvoxels can help write a tool that utilizes the costume save files to generate VRM files with the OG mannequin which also makes it easier to add wearables to other avatars.

In a way the mannequin is a perfect placeholder for other avatars
In a way the mannequin is a perfect placeholder for other avatars

M3 has been working on an open source VRM avatar toolkit called Character Studio which we can provide integration with Voxels through upgraded the wearables: https://m3-org.github.io/characterstudio-docs/

New Smoothvoxels CLI Tool

Although the magicavoxel .vox format is popular in truth there is no standard voxel format and I needed to convert 34,015 wearable files to glTF. I discovered there are tools like Vengi VoxConvert, but it was too slow. Previously I used svox-tools by gfodor which worked great but was out of date with Smooth Voxels which is now at version 2.2.0, and caused an off-by-one error when using the vox2svox tool.

In order to fix, I made a puppeteer script to automate converting vox-to-svox with the latest version of Smooth Voxels, which is now on github. It is also about ~9x faster than svox-tools when converting files. I also made it export glbs, but have another off-by-one issue that we can fix later.

How it looks when converting vox files to svox and glb
How it looks when converting vox files to svox and glb

node index.js input_folder output_folder

You can still use svox2gltf program from svox-tools which still works perfectly fine and is what I did to continue progress. .svox is a pretty cool format as well that I plan to experiment with in the feature for onchain experiments. See Immortalizing Wearables post if interested.

Provenance + Permaweb

So now all of the wearables have been converted to glTF binary, encoded with metadata from each NFT, and uploaded to Arweave via ardrive-cli. Even if the wearables are downloaded or imported into a platform without crypto integration, we can preserve authorship information within the 3D model files themselves. It's astonishing how a bit of metadata context can make an object more meaningful.

Metadata adds so much more historical context / soul to what may look like a random object without it
Metadata adds so much more historical context / soul to what may look like a random object without it

See the finished script here: https://github.com/M3-org/cryptovoxels-wearables/blob/main/scripts/convert_json.sh

I used this tool from KhronosGroup to programmatically add JSON to glTF: https://github.com/KhronosGroup/glTF-Metadata-CLI

example command: cargo run -- -i 1.glb -o out8.glb -j 1_new.json

If interested in this reading more about this part check out some of the dev logs on m3org.eth mirror page such as Boomboxheads V2: Extra Metadata.

New Thumbnails

Current Cryptovoxel Wearables are about 1.2 MB each

This is where I could use some feedback from the community. There are various tradeoffs involved in each thumbnail variation, mainly to do with filesize / quality.

Note: it is hard to predict the best angle for static transparent pngs, so spinning the model is worth it IMO. This is called a turntable animation btw.

Plain background = Smallest filesize

Average file size of these are about 170 KB when converted to gif, which is drastically smaller. It's clean, but so clean it lacks soul. I have all of these already generated and ready to use

Thoughts? File size is small, looks good, but is it too plain?
Thoughts? File size is small, looks good, but is it too plain?

Add more soul via backgrounds?

According to the Voxels API there 5 years each collection was minted (2020-2024). I used the VRChat worlds I ported Origin City into for capturing 4K 360 photography that I also generated HDR maps from.

Each one pertains to a different year, 2020-2024 in order
Each one pertains to a different year, 2020-2024 in order

I currently have a script that can read the metadata for each wearable in order to generate a custom HTML page pertaining to the year of the collection it was minted in. This adds some visible provenance within the previews. I also used a grounded skybox so it looks like the wearables are chilling on the surface.

Issue: gif filesizes increases to ~1.2 MB each due to moving background

We could optimize the gifs down to about 320-660 KB each.

I was also thinking about adding the thumbnail for each collection the wearable is from in the corner of each preview. So then wearables have background for year collection minted + collection thumbnail on all the previews. Not all wearables have the thumbnails, but for those that do it does add something to it. Thoughts?

These options look great, but is it worth it? The average filesize of each glb is about 235.76 KB, making thumbnails potentially heavier than the files themselves. It costed about $350 in AR tokens to upload the glbs to arweave, so if thumbnails are 2-3x bigger then we're looking at maybe up to ~$1k in storage fees.

We could also just have a static background, which would keep the filesize very low while adding some interesting context. I could modify the equirectangular projected background, just thought having the 360 photography looks cool:

If you have any ideas, hit me up in the Voxels discord. After we decide on the final thumbnail look, I can begin rendering these.


Conclusion

For Voxels to fulfill its original vision of a metaverse owned by its users, it needs to recommit to principles of interoperability, open file formats, and true data ownership. File > App

I think it's time that Ben Nolan don his war time PFP, and get serious about putting the Punk back into Voxels. Also give jin repo access to the parcel glTF exporter and let me cook :D

The community will keep doing what we can. I took a snapshot of all voxel wearables creators + collectors that I will talk about in the next post as well as more information about the archive itself.

Support

Subscribe to Openvoxels.eth
Receive the latest updates directly to your inbox.
Mint this entry as an NFT to add it to your collection.
Verification
This entry has been permanently stored onchain and signed by its creator.