Map Making

Map Making

Getting Started

To create a map, you need a software called “Magica Voxel”. It is a free voxel editor tool which saves files in the ‘vox’ format, which sectors edge can open.

Once you have magicavoxel, you need to go to AppData\vercidium

To access appdata, press Windows Key + R, then type “%appdata%” and hit enter
Then you can go to the “vercidium” folder

Create a folder named “custom”. Everything for your map will go into this folder.
All you need to load a map is two files named “map.vox” and “map.json”. The vox file is your actual map, and the json file is config data telling sectors edge where to put textures, sounds, water level, etc.

Once both of those files are in the custom folder, you can boot up the game. Your regular ship will be replaced with the map. If something is wrong, then the game will fail to load. You can try to debug the problem, or you can go ask for help either here or on the official discord server in #magicavoxel-maps.

Example Files

Here is an example of a vox and json file to go with it.
map.vox (332.8 KB) map.json (626 Bytes)

Editing the Map

When you are in game, there are a few helpful keybinds to remember while admiring your map.

I = Teleport
shift + F6 = Reload map.vox
shift + F7 = Reload map.json and map.vox
shift + F8 = toggle fall damage

These can make working on a map much faster as you don’t have to reboot the entire game every time you change a block.

map.json

The map.json lets you customise the look of your map, changing skybox, textures, etc.
This section will have the different sections of map.json
All RGB values can include decimals and go from 0-255

    "Name": "Tutorial",

Name of the map.

    "Skybox": "ST",

Name of the skybox, accepts any of CF, AD, ST, MC, IS, Space

    "MapSize": [512, 512, 512],

Map size in .json can exceed the .vox objects size but not 512.

    "Brightness": 1.0,
    "WaterLevel": 9.4,
    "WaterColour": [58, 58, 46],
    "FogColour": [135, 160, 174],
    "SunColour": [203, 214, 221],
    "RenderDistance": 9000,

Various pretty values with obvious use to tweak around.

    "Lights":
    [
        5, 8
    ],

Block indices that will produce a light with the magicavoxel color of that index.

    "Textures":
    [
        {
            "index": 48,
            "name": "cfhazard",
            "size": [3, 3]
        }
     ]

List of textures to put on the corresponding indices.

Custom Textures

Currently, adding custom textures and skyboxes is supported in game.
Place name.png into the custom folder. Textures must be 1024x1024px
You also have to place namenormal.png to add a normal map to the texture.
You can reference these textures the same as you would a normal texture or skybox. With “skybox” or “name” in map.txt. You can replace “skybox” or “name” with anything you want (as you can have multiple) but it needs to be referenced in map.txt with that custom name.

Block indices

Picking a different magicavoxel color index produces a different block ingame as follows:

Invisible: 2
Glass: 3
Floating: 4
Explosive: 5
Magma: 6
Reserved: 7
Reserved: 8
Player blocks: 9
Reserved custom player block textures: 10-16
Normal: 17-63
Invincible in Arena: 57-63

MagicaVoxel Guide

This section is a guide for using MagicaVoxel (which will be referred to as MV).

The Interface


MV has 6 main sections in it’s interface. The Palette (Left), The Tool Menus, The Project Panel (Right), The Main Editor, and The Console (Bottom).

MV also has 3 main modes: edit mode, world mode, render mode. This page will not be covering the render mode as it is unnecessary for creating maps.

The map is made up of different objects in the world. The maximum size of an object is 256x256x256 blocks. A 512x512x256 map will therefore take up four max size objects. The map is not limited to just being those 4 objects, you can add more objects as long as they stay within the map.

To go between edit mode and world mode, select an object and press TAB. Edit mode allows you to modify an object, while world mode lets you move objects around. It is recomended to only use world mode for moving things as sectors edge does not fully support object modifications (such as rotate). Instead go into edit mode and rotate the contents of the object.

All objects must be in positive space (positive is where the arrows point when an object is selected. As in the template file, you can see that the objects are above the grid, and the corner is where the main grid lines meet.

The console will show the index of a color in the palette if you are hovering over it, and can also be used to activate “shaders” which are commands that you can use.

Next to the console is “Pers Free Orth” and these are different camera options. Free lets you control with WASD QE (up down). Pers and Orth stand for perspective and orthographic, perspective lets you orbit the selected object with your mouse, and orthographic does the same except it looks different (no technical explanations here).

The Project Panel lets you select vox files which are in the vox folder where MV is installed. It has 3 modes, project, pattern, and scene. The project mode lets you switch between vox files in that directory. The pattern mode lets you place vox files like structures ingame using the pattern tool in edit mode. And the scene mode lets you see all the objects that are in the scene.

The Palette is a list of all the colors. When you hover over one of them you can see it’s index on the console. You can change their colors by selecting one and adjusting with the color tab at the bottom.

BrushPanel

In edit mode the Tool Menus change to a list of helpful map making tools. Most of these are self explanatory, or nothing a quick test or google search won’t show. You can always use ctrl+z to undo if you do something wrong (but you should test them out on a separate object to your main map).

You can see what directions each of the axis are by looking at the cube in the bottom right. Mirror will mirror across that axis, from the centre of the object.

Shaders

Shaders are commands that you can enter into the console. You can find them in the “shader” folder of your MV install.

Creating terrain and flowing water and such can be achieved through shaders downloaded from the internet. Look to the source for example usage.

You call a shader with xs shadername shader arguments.
To run the shader multiple times you can type xs -n runs shadername shader arguments
Where ‘runs’ is the number of times you want it to run.

Here are two repositories of shaders which can make life easier. Just download them, and put the shaders into your MV/shader folder.


1 Like

I’ve made a converter tool so you can get old Ace of Spades maps into MagicaVoxel and use them for map making. You can find it here:

https://github.com/StrangeSandvich/VoxelMapConverter

2 Likes

I’ve made a palette map where the magicavoxel colour represents the ingame textures.

This one is for Aegis Desert, Crashed Freighter and Soltrium Temple textures:
map.json (4.6 KB) map.vox (76.4 KB)

This one is for Magma Chamber and Ice Station textures:
map.json (1.9 KB) map.vox (75.0 KB)

If you want to mix textures you will have to combine palettes yourself

1 Like

How do I make a map.json file? Are they automatically created through MagicaVoxel, or do I just grab the example file and edit it accordingly? Also, what do the Skybox letter names mean?

Dude, you are awesome! Thank you soo much!