Quick start
The Level Editor is used to build custom maps, test them inside the game and prepare them as community maps.
- Open Jumpfall and press the Level Editor button in the main menu.
- Place ground with
LMBand erase withRMB. - Move the spawn point with
Tor with move-spawn mode usingM. - Test the map with
F5. - Save an editable map with
F7. - Compile a playable map with
F8.
F7 so you do not lose the editable map.
Important concepts
Main controls
| Input | Action |
|---|---|
LMB | Paint or select depending on the current mode. |
RMB | Erase. Some protected objects require Ctrl + RMB. |
Q / E | Rotate the selected piece, or configure a selected object when Object Edit is enabled. |
[ ] | Cycle between available pieces. |
1..9 | Select pieces quickly. |
T | Set the player spawn point at the cursor. |
M | Toggle move-spawn mode. |
F3 | Add or edit a custom background. |
F4 | Toggle Object Edit mode for moving, resizing and configuring items. |
F5 | Start or stop playtest mode. |
F6 | Toggle trigger placement mode. |
F7 | Save an editable .jmap. |
F8 | Compile a playable .jfue. |
F9 | Open LoadMapEditor for editable maps. |
F10 | Add custom soundtrack entries. |
Ctrl + F10 | Configure soundtrack mode and loop behavior. |
B | Lock or unlock the selected object to avoid accidental edits. |
Ctrl + C / Ctrl + V | Copy and paste selected editor objects. |
Ctrl + mouse wheel | Change editor precision while Object Edit is active. |
Object Edit with F4
Object Edit mode is for precise object work. Use it when you need to move, resize, select multiple objects or configure object-specific settings.
- Click an object to select it.
- Drag to move the selected object.
- Use the visible handles to resize it when supported.
- Hold
Ctrlto select or work with more than one object. - Drag a rectangle with the left mouse button to select multiple objects.
- Press
Eto open the configuration window for supported objects and triggers.
Ctrl and use the mouse wheel to change the editor precision.
Lock objects with B
Locking prevents accidental delete, movement or resize operations. This is useful for triggers, checkpoints, backgrounds and important layout pieces.
- Enable Object Edit with
F4. - Select the object.
- Press
Bto lock it. - Press
Bagain to unlock it.
Spawn and playtest
Move the spawn
The spawn marker shows where the player will appear. Place it exactly where the character should start.
- Press
Tto set the spawn at the cursor. - Press
Mto toggle move-spawn mode if you want to drag it. - The preview character represents the actual spawn position.
Playtest the map
Press F5 to enter player mode. In player mode, the camera follows the player unless a static camera trigger changes the view.
PNG backgrounds with F3
Custom backgrounds are stored in the local assets folder and can be moved or resized in Object Edit mode.
Documents\jumpfall\levels\assetslocal\backgroundimg
If no name is provided, the default file name can be background.png. Named backgrounds should use clear file names.
Backgrounds should render behind the player. If a background hides the player, move it back or adjust its sorting settings through the editor configuration.
Ctrl + RMB for removal.
Custom soundtrack with F10
Custom map music and sounds are stored in:
Documents\jumpfall\levels\assetslocal\sound
- Press
F10to add soundtrack entries. - Press
Ctrl + F10to configure loop mode and playback behavior. - If several tracks are configured with loop enabled, the list can be used as the map soundtrack queue.
Triggers with F6
Triggers are invisible gameplay areas. They are shown in the editor so you can configure them, but they should not appear as normal sprites in play mode.
| Trigger | Use |
|---|---|
limit_map | Marks map limits or safe boundaries. |
deathzone | Kills or resets the player when touched. |
changelevel | Loads another compiled .jfue map. It must not be used to load the main menu. |
finish_level | Finishes the custom level. In editor playtest, it shows a message and returns to edit mode. |
static_camera | Locks the camera to a configured view while the player stays inside the trigger. |
trigger_wall_jump | Creates a wall-jump or climbing-wall gameplay area. |
lua_event | Sends an event name to Lua without changing level or ending gameplay. |
To configure a trigger, enable Object Edit with F4, select the trigger and press E.
Configure static_camera
A static_camera trigger keeps the camera in a fixed view while the player is inside the trigger area.
View modes
- Current area: the camera stays centered on the configured trigger view.
- Custom offset: use the trigger parameters to move the camera view to another point.
Useful parameters
- Camera position or offset.
- Camera size or zoom.
- Whether the player can leave the static view normally.
Lua events for maps
Lua is optional. A normal map can work without scripts. Use Lua only when you need custom behavior that the default triggers do not cover.
Recommended entry file:
Documents\jumpfall\levels\assetslocal\lua\main.lua
Example:
function on_lua_event(event_name, x, y)
if event_name == "open_door" then
jf.log("Open door event")
end
end
Save, compile and share
Save editable
Press F7 to save an editable .jmap. This is the file you should keep while working.
Load editable
Press F9 to open LoadMapEditor and load editable maps from the creations folder.
Compile playable
Press F8 to compile a playable .jfue. The editor asks for a map name before compiling.
Create a Workshop package
The game does not create .jsm packages directly. Use the external JSM compiler tool to package a compiled .jfue, assetlocal, manifest.json and preview.png.
.jmap inside the Workshop package. The public package should contain the compiled playable map.
Where files are saved
| Folder | Purpose |
|---|---|
Documents\jumpfall\levels\creations | Editable .jmap maps. |
Documents\jumpfall\levels\compilator | Compiled .jfue maps. |
Documents\jumpfall\levels\assetslocal | Local assets used by the current map. |
Documents\jumpfall\levels\assetslocal\backgroundimg | PNG backgrounds. |
Documents\jumpfall\levels\assetslocal\sound | Custom sounds or music. |
Documents\jumpfall\levels\assetslocal\lua | Lua scripts for maps. |
Documents\jumpfall\levels\workshop\{workshopid} | Installed Workshop map folders. |
Dev console
The development console can be enabled for testing builds with the launch parameter:
-dev_console
When enabled, open it with F11. Use it only for testing custom maps and diagnostics.
Common issues
I cannot see my map in LoadMapEditor
Check that the file is a .jmap and is located in Documents\jumpfall\levels\creations.
The player falls when testing
Check the spawn position and make sure there is a solid piece below the character.
An object is too big or too small
Enable Object Edit with F4, select the object and resize it visually. Check the original asset resolution if it is a custom PNG.
I cannot move, delete or configure an object
The object may be locked. Select it and press B to unlock it.
Music does not play
Confirm that the file is in assetlocal\sound and that the soundtrack list has an entry configured.
My Lua event does not run
Confirm that the trigger is lua_event, that its event name matches the script and that main.lua exists.
Checklist before sharing
- The spawn point is clear and visible.
- The map can be completed in playtest mode.
- Important objects are locked if needed.
- Custom backgrounds, sounds and scripts are inside
assetlocal. - The map is compiled as
.jfue. - The Workshop package does not include the editable
.jmap.