3D virtual spaces for
raves, watch parties and hangouts
What is this thing?
Cyberdoof is a platform for publishing small 3D spaces where invited participants can hang out and chat with each other, perform or listen to music, watch streams and that sort of thing. This can all be done from a web browser. Cyberdoof runs on all modern desktop browsers, and most mobile browsers.
How do I make a space?
Spaces are built using MagicaVoxel, a free 3D pixel art creation tool by @ephtracy. You can use one of the existing templates to get started, or build something entirely new from scratch. Once you have created your VOX file, you can upload and publish your space to the internet!
There is no need to create an account. You will be given a special secret URL that grants host permissions and another URL to share with your guests.
How much does it cost?
Publishing a space is free! However, if you want to allow more than 5 people to join the space, it must be boosted. Any participant can boost the space at any time.
Who made Cyberdoof and how do I contact them?
How many people can join a space?
By default, there is a 5 participant maximum per Cyberdoof space. This can be increased by boosting the space (see "Boost" button at top of the screen when inside the space, $5 USD gets you another 5 participants).
There is no hard limit on the number of participants, but as this platform is still super new and experimental, you will encounter more issues as the participant count increases. At this stage, it is not recommended to have more than 100 participants.
Please get in touch if you experience weird issues.
Why not? See https://en.wikipedia.org/wiki/Doof
Hosting / Streaming Help
📺 Streaming from Webcam & Microphone
All hosts get access to the Stream Panel inside the space. This allows streaming from your webcam, microphone and external inputs into the space using stream targets set up by the space builder.
Many people can stream into the world at the same time, however only one stream can be attached to a stream target at a time. Streaming to an already in use target will replace the previous one.
🎉 Hosting a watch party (Twitch, YouTube and more)
It's possible to stream any website into a Cyberdoof Space using the Desktop / Tab Capture option. This can be found inside the Stream Panel under Local Sources. Once selected, you will be prompted by your web browser to choose the sharing source.
If you want to share another website (such as Twitch or YouTube), use the Tab option and make sure "Share Tab Audio" is selected. If you are streaming from a video website, you can press the full screen button on the player to make it fill the entire window.
Not all options are available in all browsers. It is recommended that you use Google Chrome (or similar) when streaming from other websites.
👥 Space Moderation
It is recommend that you do not post the guest invite links publicly and only share inside of communities or with individuals.
However if required, hosts can select problematic guests by clicking on their avatar (or chat message) and choose to kick the guest from the space or suspend access for up to 24 hours. Please note that these timeouts will apply to all guests that share the same IP address.
Space Building Quickstart
Getting started with MagicaVoxel
MagicaVoxel is a free 3D pixel art creation tool that can run on Windows and Mac (or under Wine on Linux). It is currently the only way to build content for Cyberdoof.
- First you need to download and install from ephtracy.github.io
- If you are installing on a Mac and experience a blank screen when first opening, follow these instructions to fix
- If you want to jump straight in, download a template space from the publish page, and open it in MagicaVoxel and have a play around
- However, you'll probably want to watch some tutorial videos about how the software works. Check out these awesome tutorials by Pedro Casavecchia
- Once you have something you want to try out in Cyberdoof, visit the publish page and select Upload Vox File and browse to your MagicaVoxel project
🧍 Building at correct scale
Cyberdoof uses a fixed scale of 10 voxels (volumetric pixel or vx) per meter. This means that a single voxel in your build will be equivalent to 10cm world size. An avatar height averages between 1.4m and 2m (14-20vx), so it is recommended that you add an 18vx high placeholder object to your scene for reference when designing structures that need to fit people.
The maximum build size supported by MagicaVoxel is 2048vx wide by 2048vx deep by 1024vx high. Cyberdoof also supports up to this size, however depending on build density, you may encounter performance issues on builds this size. Please get in touch to report any such issues.
📺 Adding video screens and audio (stream targets)
In order to stream video or audio into your space, you need to add Stream Targets. These are added just like any other object inside of MagicaVoxel, but use a special naming convention.
To create a screen:
- Create an object inside of MagicaVoxel (using + button in world view)
- Select this object by double-clicking and then change the dimensions of the object and position where you want the screen to be (the actual voxel content will be ignored and replaced with a box with video on all sides)
- Find the object using Project > Show Scene Outline
- Name the object with prefix
video:followed by whatever you would like the target to be named inside of the Cyberdoof Stream Panel (e.g.
Adding an audio source is very similar:
- Name the object with prefix
audio:followed by whatever you would like the target to be named inside of the Cyberdoof Stream Panel (e.g.
- Unlike a video target, this object will render normally, except you will be able to stream spatial audio from the position. You can choose to leave it empty or make an object design that represents an audio source (e.g. speaker)
If you create multiple targets of the same name, they will share a single source. This allows you to add multiple video screens that all display the same thing!
🌞 Lighting and atmosphere
Cyberdoof tries to match the sky, sun position and lighting of your MagicaVoxel scene as much as possible. However, since they use very different rendering systems, there will be a number of differences that will require experimentation to get just right.
If you want to update your space, visit the Publish Page and select Publish Another Space and then make sure Republish to existing space is selected.
The following environment and scene options are supported:
- Sun Angle and Intensity
- Sky modes Uniform (intensity and color) and Atmospheric Scattering (Rayleigh and Mie options, but currently not color or ozone)
- Display Settings > Ground Color and Ground Material (Alt+Click on ground in Render Mode to edit material)
- Fog Density (this effect is quite different in Cyberdoof, so you'll need to experiment to get the desired result in your space)
- Color palette materials Metal, Emit and Glass materials have limited support (the individual settings don't do anything right now, but selecting metal will make things shiny, emit will make things glow and glass will make it semi-transparent)
- If ground material is set to Metal, the ground will be rendered and treated as water (including ripples, reflection and swimming avatars)
Emissive materials cast light much like they do in MagicaVoxels. However there are a few differences:
- The power (radiant flux) option is not currently supported. All lights will render at a power level of 2 no matter what has been selected.
- Cyberdoof uses a simplified lightfield model where light has volume but not direction (whereas MagicaVoxel does full raytracing for all emissive materials).
✨ Controlling where avatars spawn
By default avatars will spawn in a random location near the center of your space. However if you prefer, you can use special objects to set locations for avatars to spawn.
- Add a new object to the scene representing the location you would like avatars to spawn
- Find the object using Project > Show Scene Outline
- Name the object
spawn:default(in the future, you will be able to create named spawn points which can be linked to in the invite URL)
- Create as many objects named
spawn:defaultas you like -- when people join using the invite link, they will spawn randomly at one of these locations