Keyboard driven 2D level editor https://sr.ht/~kikoodx/kble/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
KikooDX bd9cbf44a3 Configurable default window size ; default is "intelligent". 6 days ago
src Configurable default window size ; default is "intelligent". 6 days ago
.build.yml Add build manifest. 1 week ago
.gitignore Configurable default window size ; default is "intelligent". 6 days ago
LICENSE Level uses memory allocation + LICENSE file 1 month ago
README.md Backup project on read and exit (#3) 6 days ago
build.zig Added docstrings to structure functions. 1 month ago
kbleformat.md Add versioning byte. Remove bloat goal from README.md 1 week ago
sample.kble Add versioning byte. Remove bloat goal from README.md 1 week ago

README.md

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

builds.sr.ht status 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.
  • Change and add colors.
  • Edit keybindings.

Default keybindings

Repetition/parameter:

  • 09: behavior similar to Vi.

Movement:

  • h: left
  • j: down
  • k: up
  • l: right
  • y: up-left
  • u: up-right
  • b: down-left
  • n: down-right

Verbs:

  • <space>: clear selection
  • d: delete selection
  • r: replace selection with parameter
  • +: increase scale (zoom)
  • -: decrease scale (dezoom)
  • =: reset scale

File (read/write):

  • e: read (load) level
  • w: write (save) level
    See kbleformat.md for technical informations.

Modes:

  • <return>: normal mode, default
  • i: free selection mode
  • v: rectangle selection mode
  • I: free unselection mode
  • V: rectangle unselection mode
  • c: 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

Can be disabled in the configuration. 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.