3.1 KiB
KBLE, a KeyBoard driven Level Editor
A work in progress level editor with extensive keyboard support. Designed for tile based 2D platformers. This is a work in progress program in unusable state.
Short term design decisions
Subject to change.
- Efficiency, simplicity and clarity are key goals.
- Fully keyboard driven modal editing. Mouse support is secondary.
- GUI software made in Zig with raylib.
- Configurable (editing
src/conf.zig
).
Installation
Runtime requirements: raylib.
Precompiled binaries
https://builds.sr.ht/~kikoodx/kble
Manual compilation
Build requirements: Zig master branch,
raylib. For Arch users, I made
kble-git
available in the AUR.
$ # Clone this repository
$ git clone https://git.sr.ht/~kikoodx/kble && cd kble
$ zig build
$ zig-cache/bin/kble
Press escape to close the program.
Command line argument
Not available on Windows. Accept a path to KBLE file to open.
If the file doesn't exist, the given path will be used for saving.
Defaults to level.kble
if no argument given.
$ kble #level.kble
$ kble sample.kble
$ kble $HOME/projects/kble/sample.kble
Configuration.
In src/conf.zig
, edit values from BEGIN USER CONFIG
.
The configuration is applied at compile time. You have the possibility to:
- Disable mouse support.
- Swap mouse buttons.
- Disable backups.
- Change default grid size.
- Change default scaling level.
- Disable adaptive window size.
- Change and add colors.
- Edit keybindings.
Default keybindings
Repetition/parameter:
0
→9
: behavior similar to Vi.
Movement:
h
: leftj
: downk
: upl
: righty
: up-leftu
: up-rightb
: down-leftn
: down-right
Verbs:
<space>
: clear selectiond
: delete selectionr
: replace selection with parameter+
: increase scale (zoom)-
: decrease scale (dezoom)=
: reset scale
File (read/write):
e
: read (load) levelw
: write (save) level
Seekbleformat.md
for technical informations.
Parameter buffer (change default value of verb calls):
p
: set parameter buffer to current parameter (defaults to 1)P
: set the tile ID the keyboard cursor is on as parameter buffer
Modes:
<return>
: normal mode, defaulti
: free selection modev
: rectangle selection modeI
: free unselection modeV
: rectangle unselection modec
: camera mode [not implemented]
Default mouse control
- Right click: free selection.
- Shift + left click: rectangle selection.
- Right click: libre unselection.
- Shift + right click: rectangle unselection.
- Left or right click while un·selecting: end selection.
Backups
Safety backups are made when:
- Reading operation is started (
backup_read.kble
) - The program exit (
backup_exit.kble
)
License
Copyright (c) 2021 KikooDX
This project is under the MIT license. See LICENSE for more details.