Custom levels documentation

Overview

I have included a few level editing features and tools in Parabox, as a cost-effective (in terms of development effort) alternative to making a fully-featured in-game level editor. I hope these tools are useful! And I'm looking forward to seeing the levels people make! :)

Finding and sharing levels

These places may be nice to share and find custom level files:

Parabox itch.io forum: https://patricktraynor.itch.io/patricks-parabox/community

Parabox Steam forum: https://steamcommunity.com/app/1260520/discussions

Back to top

Loading levels

  1. Open the game's save file folder.

    On Windows, it will be something like: C:\Users\<userprofile>\AppData\LocalLow\Patrick Traynor\Patrick's Parabox On Mac, it will be something like: ~/Library/Application Support/com.PatrickTraynor.PatricksParabox OR ~/Library/Application Support/Patrick Traynor/Patrick's Parabox On Linux, it will be something like: ~/.config/unity3d/Patrick Traynor/Patrick's Parabox Note: This folder is Unity's Application.persistentDataPath. For more information, see this and this.


  2. Place your level .txt files into the custom_levels folder there. You are allowed to make additional folders inside custom_levels to organize your levels.

  3. In the game's menu, go to Extras -> Custom Levels, and you should see the levels there!

Back to top

Unity project (making levels)

A Unity project is included in the game's files, which lets you create custom levels. It is kind of inconvenient to have to install Unity to make levels, but it was cost-effective for me to include this stripped-down version of the game's Unity project, instead of creating a whole user-friendly level editor.

How to get set up

  1. Install Unity 2020.3.18f1 or later.

    Note you may want to install the Unity Hub program if you have or will have multiple Unity versions on your computer. Also note the editor project may not work with higher Unity versions.

  2. Open the game's executable folder to find parabox_editor_project.zip.

    If you bought the game from itch.io, you should hopefully know where you put the folder.

    If you bought the game from Steam, you can right-click on the game in your Steam library, then Properties -> Local Files -> Browse Local Files. These instructions may also help you.

  3. Unzip parabox_editor_project.zip to someplace safe, probably outside of the game's executable folder.

  4. Open the project in Unity.

  5. Duplicate one of the existing scenes.

  6. Edit the scene. Useful shortcuts are documented below.

  7. Press Ctrl-S to save, which will save the .unity scene file, and also export a .txt file into the exported_levels folder.

  8. For convenience, you can use the "Square -> Set export dir" toolbar option to make .txt files be saved directly to your game's custom_levels folder.

  9. In the actual game, load up the level to test it out!

  10. For convenience, you can press F5 in game to do a quick reload of the last loaded custom level path.

"Square" toolbar menu

Hotkeys

Color palette

If you set the level's color palette to something other than -1, the game will convert blocks with certain special colors to use one of the game's built-in color palettes. Here are the special colors:

Tips

Back to top

File format

Level files have a simple text-based format. You don't need to read this unless you want to make your own level editor tool, or are just curious! Here is an example level:

version 4 # Block -1 -1 0 9 9 0.6 0.8 1 1 0 0 0 0 0 0 0 Ref 3 3 0 1 0 0 0 0 -1 0 0 0 0 0 0 Ref 3 5 0 0 0 0 0 0 -1 0 0 0 0 0 0 Wall 3 7 0 0 0 Wall 4 1 0 0 0 Wall 4 7 0 0 0 Wall 5 7 0 0 0 Block 5 3 1 3 3 0.4 0.8 1 1 0 0 0 0 0 0 0 Ref 1 1 1 1 0 0 0 0 -1 0 0 0 0 0 0 Floor 1 0 PlayerButton Floor 2 0 Button Block 5 5 2 5 5 0.9 1 0.7 1 1 1 1 0 0 0 0

Header

The header is all lines before "#". "version" is the only required item. Here are all available items, and comments in parentheses:

Objects

After the # line, objects are listed. Tab indentation indicates block children.

Unity project code

You may find it helpful to look at the Unity project's C# code for saving and loading levels, to see how various properties work.

Back to top



Patrick's Parabox homepage