How to Use the Level Editor

If you’ve ever wished you were a level designer at an obscure 1980s game company, the Plangman Level Editor is for you.

A glitchy custom level
Now you can create your own crazy, glitch-filled levels.

So put on your time-traveler’s cap, and let’s take a journey back to the days before tile editors, drag-and-drop, and WYSIWYG.

Where is it?

To launch the Level Editor, begin at the Main Menu. Press E to go to the Extras Menu, and then press E to open the Level Editor. You’ll see something that looks like this:

A screenshot of the Plangman Level Editor.
The Plangman Level Editor

Words or Story

At the top of the Level Editor is a textbox containing either:

  • A list of words or phrases to be guessed, each on its own line, OR
  • A story, with each level’s bit of story on its own line, and the words to be guessed surrounded by [square brackets]

This is where you define the words the player will attempt to guess when they play your levels. To add, remove, or change the words, simply edit the text in this box.

For example, you can enter a list of words:

time
fell
love

You can also create your own Plangman story by surrounding the words to be guessed in [square brackets]. For example:

Once upon a [time]...
I [fell] in [love].

Advanced Tip: You can include line breaks in a particular bit of story text using \n. For example, the following will span multiple lines when printed in-game:

This is the [first] line.\n\nThis is [another] line. 

Advanced Tip: You can also prompt the player to input the word to be guessed by placing the following comment command in the “Words or Story” textbox. (This is how Challenge a Friend works behind the scenes.)

//![PROMPT_FOR_WORDS]

Levels

This section may look like gibberish at first, but it’s actually pretty simple. Each symbol that you type in this text box represents a game element.

For example:

  • @ represents Plangman’s starting location
  • % represents an undroppable block
  • L represents a letter block
  • * represents a clue key
  • and so on

Using just the symbols explained above, we can recreate the first level of Plangman in the Level Editor. Here’s what that would look like:

      @
  *   %
  LLLL LLLL

%%%%%%%%%%%%%

This represents Plangman (@) standing on an undroppable block (%) with four letter blocks (L) on each side, a clue key (*) over the leftmost letter, and a row of undroppable blocks (%) underneath.

Using text like this is a simple way to define the structure of a level, and is actually how the “real” levels in Plangman are defined behind the scenes.

Here’s a list of symbols you can use when defining your own level. (Note that the symbols have changed as of v2.6.0 and are now case-sensitive.)

SymbolMeaningComment
//CommentLines that start with // are ignored and don’t affect the level (except for comment commands…see below).
~Level separatorTildes are used to separate one level from another.
@PlangmanThis defines where Plangman starts the level.
LLetterThis is a letter that can be right or wrong.
RRight letter
WWrong letter
lPart of right letter group #1See explanation below.
rPart of right letter group #2See explanation below.
%Undroppable block
=Fake undroppable block
#Block
0SphereNote that this is a zero, not an uppercase o.
|Vertical pillarPillars are seven blocks long, and are centered at the point where the symbol occurs.
_Horizontal pillar
1-9Moving blockThese blocks move up the number of spaces indicated by the number. For example, 777 creates a platform of three blocks that moves up seven squares.
*Clue key (or health star)If there’s a clue for the current word, this represents the clue key. Otherwise, it represents a health star.
+Health star
ZHealth question block
zHidden health question block“Hidden” means there’s no question mark on the block. In other words, it looks like a regular blank block until the player selects it.
!Bomb
BBomb question block
bHidden bomb question block
$Jetpack
JJetpack question block
jHidden jetpack question block
&Broken jetpack
DBroken jetpack question block
dHidden broken jetpack question block
\Letter gravity switch
HHoverboard question blockAs of v2.6.4, collecting multiple hoverboards now gives you a speed boost.
hHidden hoverboard question block
NNumber puzzle blocks
;Juliet
,Juliet (dying)
]Square enemy (“Budley”)
)Round enemy (“Dudley”)
}Triangular enemy (“Moe”)Moe operates in inverted gravity.
<Left arrow
>Right arrow
^Up arrow
vDown arrow
TVince’s ThroneThis was added in v2.6.4.

Tip: Be sure to use spaces to represent empty space, not tabs.

Advanced Tip: There are a few comment commands you can place in the “Levels” textbox to customize certain aspects of the game when your custom levels are being played.

The following randomly picks a single level for the player to play:

//![PICK_RANDOM_LEVEL]

The following randomly picks the music when loading each level:

//![PLAY_RANDOM_MUSIC]

The following randomly picks between the music for the listed levels when loading each level:

//![PLAY_RANDOM_MUSIC: 1, 5, 6, 10]

Advanced Tip: The Unity GUI text controls have a limit of around 16k characters each. If your levels are getting truncated, they’re likely exceeding this limit. To work around this, try reducing the amount of trailing whitespace in your levels, which will reduce the overall number of characters.

Advanced Tip: The lowercase symbols l and r are used when you want to ensure there’s a section of a level that contains a right letter, but don’t want it to always be in the same location. For example, the first level of Plangman is actually defined this way:

      @
  *   %
  llll rrrr

%%%%%%%%%%%%%

When the level loads, one of the l characters is randomly replaced with an R, and the rest of the ls are replaced with uppercase Ls. Likewise, one of the r characters is randomly replaced with an R, and the rest are replaced by Ls.

This ensures that the player has to traverse both sides of the starting block (which requires them to learn to use the jump button), since all the right letters won’t randomly end up only on one side or the other.

Play

Play saves your edits and starts a new game featuring your custom words and levels. To return to the Level Editor while playing, just press E.

Cancel

Cancel discards any edits you have made since opening the Level Editor, and returns to the Extras menu.

Share/Load

Share generates a compressed text payload containing your custom words and level that you can paste somewhere for safekeeping or share with friends. Load allows you to import such payloads back into the Level Editor.

Restore Defaults

This button restores the default words and levels that appear in the Level Editor when the game is first installed.

Edit as Txt Files

Don’t like editing your levels using the Unity GUI text controls? This button is for you! Clicking it saves your edits, closes the Level Editor, and opens an OS folder window containing two files: LevelEditorLevels.txt and LevelEditorWords.txt. These files are where the Level Editor saves its content, and you can edit them directly by opening them in your favorite text editor (such as Notepad++). When you want to try your edits, simply save the files, reopen the Level Editor (which should now contain the edits you made), and click Play.

That’s it!

I hope you enjoy creating your own levels and sharing them with your friends. Please send any feedback you have to ehren at vonlehecreative dot com.