Skip to content

Commit

Permalink
Merging my fork to main
Browse files Browse the repository at this point in the history
* added json pages for some attributes
* added Old attributes, for deleted or now unused attributes
* added readme.md; probably not needed
* updated some images on Getting Started
* better index
* split up the Resources page into subpages
* lots more
  • Loading branch information
RainlessSky authored Jul 2, 2024
1 parent 5784c96 commit d24b7d8
Show file tree
Hide file tree
Showing 32 changed files with 555 additions and 96 deletions.
16 changes: 15 additions & 1 deletion docs/.vitepress/config.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,21 @@ export default defineConfig({
sidebar: [
{
text: "Map Making",
items: [{ text: 'Getting Started', link: '/index.md' }, { text: 'JSON Reference', link: '/json.md' }, { text: 'Multiplayer', link: '/multiplayer.md' }, { text: 'Community Guides', link: '/community.md' }, { text: 'External Resources', link: '/resources.md' }]
items: [
{ text: 'Getting Started', link: '/gettingstarted.md' },
{ text: 'JSON file', link: '/json.md', items: [
{ text: 'BlockTexturesV2', link: '/json/blocktexturesv2.md' },
{ text: 'Game modes', link: '/gamemodes.md' },
{ text: 'Particles', link: '/json/Particles.md' },
{ text: 'Removed attributes', link: '/oldattributes.md' },
{ text: 'Salvage attributes', link: '/json/salvageattributes.md' },
{ text: 'TeamSpawns', link: '/json/teamspawns.md' },
{ text: 'Weather', link: '/json/Weather.md' }
]
},
{ text: 'Multiplayer support', link: '/multiplayer.md' },
{ text: 'Resources', link: '/resources.md' }
]
}
],

Expand Down
3 changes: 3 additions & 0 deletions docs/communityguides/pdf.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Old Map Making guide

`Caspooky` and `Realkill` created a [guide for Map Making](/docs/public/MapMaking.pdf). This guide is out of date, but still covers basics on MagicaVoxel.
14 changes: 1 addition & 13 deletions docs/community.md → docs/communityguides/worldpainter.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,4 @@
---
title: "Community Guides"
---

# Community Guides

We share here guides that the community has created if you would like to to get involved and discuss Map Making with others, please join our [Discord Server](https://discord.gg/sJA3cs4DEV)

## World Painter
# World Painter

What you will need:
- World Painter - https://www.worldpainter.net/
Expand Down Expand Up @@ -55,7 +47,3 @@ float map( vec3 v ) {
```
Guide created by `Vhauss`
## Map Making
`Caspooky` and `Realkill` have created a guide for [Map Making](/MapMaking.pdf)
48 changes: 48 additions & 0 deletions docs/gamemodes.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
# Game modes
Back to: [`Json file`](/docs/json.md)

There are currently 11 game modes in Sector's Edge. This page lists the minimum requirements for all game modes.

## [Control Shift](./gamemodes/cs.md)
- At least 2 `LinearZones`

## [Breakthrough](./gamemodes/brk.md)
- At least 2 `LinearZones`
- 2 valid `TeamSpawns` with the `brk` or `all` GameMode attribute

## [Static](./gamemodes/sta.md)
- Map X and Z size is 96, 160, respectively

## [Capture the Flag](./gamemodes/ctf.md)
- 2 valid `TeamSpawns` with the `ctf` or `all` GameMode attribute
- One valid `FlagSpawns` for both teams

## [Escort](./gamemodes/esc.md)
- 2 valid `TeamSpawns` with the `esc` or `all` GameMode attribute
- One valid `FlagSpawns` for both teams

## [Rush](./gamemodes/rush.md)
- At least 2 Rush Objectives in at least 1 stage

## [Head Hunter](./gamemodes/hh.md)
- A valid `WeaponSpawns` setup

## [Gun Game](./gamemodes/gg.md)
- ???

## [Free for all](./gamemodes/ffa.md)
- Literally anything

## [Team Deathmatch](./gamemodes/tdm.md)
- ???

## [Salvage](./gamemodes/sal.md)
Although Salvage is no longer playable, the attributes remain in the `json` file.

- `MeteorBottom` attribute is set correctly
- `MeteorTop` attribute is set correctly
- `MeteorBreachChance` attribute is set correctly
- `MeteorSpawnSpread` attribute is set correctly
- `MeteorLineStart` attribute is set correctly
- `MeteorLineEnd` attribute is set correctly
- An index with the `meteor` attribute
7 changes: 7 additions & 0 deletions docs/gamemodes/brk.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Breakthrough

Breakthrough has 2 teams compete for control over set zones. Unlike Control Shift, the zones don't move.

## Minimum Requirements
- At least 2 `LinearZones`
- 2 valid `TeamSpawns` with the `brk` or `all` GameMode attribute
6 changes: 6 additions & 0 deletions docs/gamemodes/cs.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Control Shift

Control Shift is like Breakthrough, but there's only one zone and it moves depending on the teams' control.

## Minimum Requirements
- At least 2 `LinearZones`
7 changes: 7 additions & 0 deletions docs/gamemodes/ctf.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Capture the Flag

Capture the Flag has 2 teams try to steal and bring back each others' flags.

## Minimum Requirements
- 2 valid `TeamSpawns` with the `ctf` or `all` GameMode attribute
- One valid `FlagSpawns` for both teams
7 changes: 7 additions & 0 deletions docs/gamemodes/esc.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Escort

Escort is pretty much a reversed Capture the Flag. 2 teams attempt to deliver their own flags to each other.

## Minimum Requirements
- 2 valid `TeamSpawns` with the `esc` or `all` GameMode attribute
- One valid `FlagSpawns` for both teams
6 changes: 6 additions & 0 deletions docs/gamemodes/ffa.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Free for all

Free for all explains what it is in it's name.

## Minimum Requirements
- ???
6 changes: 6 additions & 0 deletions docs/gamemodes/gg.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Gun Game

Gun Game has players kill each other to change weapons, scaling with difficulty of weapons and ending on the Digger(?).

## Minimum Requirements
- ???
6 changes: 6 additions & 0 deletions docs/gamemodes/hh.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Head Hunter

Head Hunter has players kill each other to earn Soltrium, which they rop 50% (rounded up) of on death.

## Minimum Requirements
- A valid `WeaponSpawns` setup
6 changes: 6 additions & 0 deletions docs/gamemodes/rush.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Rush

Rush has 2 Rush Objectives, which one team attempts to arm and protect. The other team attempts to keep the Rush Objectives from exploding by protecting or defusing an armed Rush Objective.

## Minimum Requirements
- At least 2 Rush Objectives in at least 1 stage
12 changes: 12 additions & 0 deletions docs/gamemodes/sal.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# Salvage

Salvage was a game mode in which 2 teams fight over harvesting meteors that fall mid-game. Salvage no longer works because meteors no longer spawn.

## Minimum Requirements
- `MeteorBottom` attribute is set correctly
- `MeteorTop` attribute is set correctly
- `MeteorBreachChance` attribute is set correctly
- `MeteorSpawnSpread` attribute is set correctly
- `MeteorLineStart` attribute is set correctly
- `MeteorLineEnd` attribute is set correctly
- An index with the `meteor` attribute
6 changes: 6 additions & 0 deletions docs/gamemodes/sta.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Static

Static has 2 teams of 3 battle it out in a small arena with randomized loadouts.

## Minimum Requirements
- Map X and Z size is 96, 160, respectively
6 changes: 6 additions & 0 deletions docs/gamemodes/tdm.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Team Deathmatch

Team Deathmatch has 2 teams kill each other. That's it.

## Minimum Requirements
- ???
71 changes: 71 additions & 0 deletions docs/gettingstarted.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
# Getting Started

This is a simple guide to getting a first map functional.


## Requirements

The first step is to download the voxel editor [MagicaVoxel](https://ephtracy.github.io/). That's it!


## Preparation in MagicaVoxel

The corner of your map must be aligned with the center of the grid in MagicaVoxel, with the green arrow pointing forwards and the red arrow pointing to the right:

<div style="justify-content: center; display: flex; margin-top:10px; font-size: 13px; margin-bottom: 40px">
<p align="center">
<img src="/alignment.png" alt="MagicaVoxel Alignment"/>
<br/><i>Top-down view of a map</i>
</p></div>


## Make your map playable

To add a map in-game, go to `Play → Singleplayer` and click on the folder icon to the right of the search bar. This will open the workshop folder.

<div style="justify-content: center; display: flex; margin-top:10px; font-size: 13px; margin-bottom: 40px">
<p align="center">
<img src="/folderbutton.png" alt="In-game workshop folder icon"/>
<br/><i>workshop folder icon</i>
</p></div>
<br/>
Create a new folder and give it a name, then place your `.vox` file in it. Maps must also have an accompanying `.json` file, which contains metadata for textures, lights, spawn regions, etc.
You can find a template `json` file in the **Create your first map** section.

If there are any errors or missing fields in your `json` metadata file, they will appear in game on the map list. Clicking the refresh icon will cause all files to be reloaded and the error list will update.

<div style="justify-content: center; display: flex; margin-top:10px; font-size: 13px; margin-bottom: 40px">
<p align="center">
<img src="/errors.png" alt="JSON errors"/>
<br/><i>JSON errors</i>
</p></div>


## Uploading maps

To upload a map folder to the workshop, it must have a `.json`, `.vox` and `preview.jpg` file. The `preview.jpg` file should be a screenshot you've taken of your map.

<div style="justify-content: center; display: flex; margin-top:10px; font-size: 13px; margin-bottom: 40px">
<p align="center">
<img src="/folderexample.png" alt="Map folder example"/>
<br/><i>Map folder example</i>
</p></div>


When you have these files ready, the **upload** button will light up. Select a visibility (private, friends only, unlisted, public) and then click the upload button.

<div style="justify-content: center; display: flex; margin-top:10px; font-size: 13px; margin-bottom: 40px">
<p align="center">
<img src="/uploadbutton.png" alt="Upload button"/>
<br/><i>Upload button</i>
</p></div>

Note that each map file can be changed after your map is uploaded to the workshop. To re-upload your map, simply click the upload button again.


## Template files

Download these template files and place them in the `/workshop/maps/myFirstMap` folder:

* [map_template.vox](/Map_Template.vox){target="_self"}
* [map_template.json](/map_template.json)
69 changes: 8 additions & 61 deletions docs/index.md
Original file line number Diff line number Diff line change
@@ -1,68 +1,15 @@
---
title: "Getting Started"
---

# Getting Started

## Requirements

The first step is to download the voxel editor [MagicaVoxel](https://ephtracy.github.io/). That's it!

## Preparing maps

The corner of your map must be aligned with the center of the grid in MagicaVoxel, with the green arrow pointing upwards and the red arrow pointing to the right:

<img src="/alignment.png" alt="MagicaVoxel Alignment"/>
<div style="justify-content: center; display: flex; margin-top:10px; font-size: 13px; margin-bottom: 40px">
<span>Top-down view of a map</span>
</div>

## Testing maps

To play a map in-game, go to `Play → Singleplayer` and click on the folder icon to the right of the search bar. This will open the workshop folder.

Create a new folder and give it a name, then place your `.vox` file in it.

Maps must also have an accompanying `.json` file, which contains metadata for textures, lights, spawn regions, etc. [map_template.json](/map_template.json) file is the template file listed below.


<img src="/folderbutton.png" alt="In-game workshop folder icon"/>
<div style="justify-content: center; display: flex; margin-top:10px; font-size: 13px; margin-bottom: 40px">
<span>In-game workshop folder icon</span>
<img src="./docs/public/se-wiki-edit.png" alt="Sector's Edge Wiki"/>
<div style="justify-content: center; display: flex; margin-top:10px; font-size: 5px; margin-bottom: 40px">
</div>

This wiki is **very** incomplete, and under heavy development. This fork only exists because Vader decided to leave for a week before giving me access to the main repo.

If there are any errors or missing fields in your `json` metadata file, they will appear in game on the map list. Clicking the refresh icon will cause all files to be reloaded and the error list will update.

<img src="/errors.png" alt="JSON errors"/>
<div style="justify-content: center; display: flex; margin-top:10px; font-size: 13px; margin-bottom: 40px">
<span>JSON errors</span>
</div>


## Uploading maps

To upload a map folder to the workshop, it must have a `.json`, `.vox` and `preview.jpg` file. The `preview.jpg` file should be a screenshot you've taken of your map.

<div style="justify-content: center; display: flex;">
<img src="/folderexample.png" alt="Map folder example"/>
</div>
<div style="justify-content: center; display: flex; margin-top:10px; font-size: 13px; margin-bottom: 40px">
<span>Map folder example</span>
</div>

When you have these files ready, the **upload** button will light up. Select a visibility (private, friends only, public) and then click the upload button.

<img src="/uploadbutton.png" alt="Upload button"/>
<div style="justify-content: center; display: flex; margin-top:10px; font-size: 13px; margin-bottom: 40px">
<span>Upload button</span>
</div>
[Getting Started](./docs/gettingstarted.md)

Note that each map file can be changed after your map is uploaded to the workshop. To re-upload your map, simply click the upload button again.
[Json file](./docs/json.md)

## Create your first map
[Game modes](./docs/gamemodes.md)

Download these template files and place them in the `/workshop/maps/myFirstMap` folder:
[Multiplayer support](./docs/multiplayer.md)

* [map_template.vox](/Map_Template.vox){target="_self"}
* [map_template.json](/map_template.json)
[Resources](./docs/resources.md)
24 changes: 18 additions & 6 deletions docs/json.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,22 @@
---
title: "JSON Reference"
---
# JSON file
Todo - Finish adding full JSON Schema

# JSON Reference
[`Game modes`](gamemodes.md)

Todo - Add full JSON Schema
[`Removed Attributes`](oldattributes.md)

## Attributes
[`BlockTexturesV2`](./json/blocktexturesv2.md)

[`TeamSpawns`](./json/teamspawns.md)

[`Particles`](./json/particles.md)

[`Weather`](./json/weather.md)

[`Salvage Attributes`](./json/salvageattributes.md)

[`AmbienceSound`](./json/ambiencesound.md)

## Tips
* You can use `\n` in the map description to start a new line. This is useful if you want to add additional sections to the map details. An example is adding `\nCreated by: username1, username2` to the end of the map description.
Expand All @@ -19,5 +31,5 @@ Todo - Add full JSON Schema
* Gun Game, Free for all, and Head Hunter game modes cannot be seperated
* You cannot upload a map to the Steam Workshop without a `preview.jpg`

## Example file
## Example json file
[map_template.json](/map_template.json)
Loading

0 comments on commit d24b7d8

Please sign in to comment.