This document is a user manual for the Kandria in-game editor. You can open up the editor at any point in time by hitting the section key (typically the top left key on your keyboard below Escape). Opening the editor will pause the game and open a bunch of editing tools. You can unpause and resume the game by hitting the section key again.
Changes made in the editor will reflect immediately in the game – you are literally editing the current game state. In order to persist the state, hit the save button. Using the load button you can reset your state to a previous load or load another region entirely.
Before we move on to editing tools, it's important to understand how Kandria is built up and establish concepts used by the game and documentation.
At the most basic, everything in Kandria is made up of "entities", which are within a "world". The world contains stuff like the camera, the editor, UI, story data, and so forth, but also most importantly it contains a "region". There's only ever one region active in the world at a time, and switching regions forces an expensive load. This means that content in Kandria should be divided up into several major regions, the size of which is only constrained by the processing speed.
Within a region resides the actually visible content that the player can see – characters, items, and "chunks". A chunk is a rectangular tilemap that contains solid geometry. The camera is always forced to stay within the bounds of the chunk the player is currently in, and the player can move between chunks that are adjacent. If the player tries to move beyond the left or right boundaries of a chunk without an adjacent chunk, they will be stopped. If they fall below the chunk boundary, they will die.
A player should not be able to see beyond chunks, but you can break this barrier in the editor.
The basic controls of the editor are shown in the image below:
In order to select an entity, hit Tab and click on one of the things encircled by a rectangular selection area.
Once an entity has been selected, entity properties and a toolbar should pop up:
The toolbar only shows tools that are suitable for the current entity. By default the browse tool is equipped, which lets you drag the screen to move the camera. For more tools see below.
The properties of an entity are specific to that entity. The meaning of some common properties is outlined below.
Some entities like the chunk may also offer additional UI elements in a right side panel. The panel may start contracted, so you'll have to drag it open.
There's a total of five layers on every chunk, with the middle layer being "solids". Higher layers will appear in front of characters, and lower layers behind them. The layer other entities are on is usually determined automatically by the entity itself. Each chunk also comes with a special layer that describes the tiles that are "solid". The row of solid, interactable tiles is always the bottom row in the tile set. The meaning of the tiles is described below.
When selecting a sprite entity, mostly for things that are interactable, you'll get a tile picker similar to the chunk sidebar. Selecting a tile there will set the bottom left corner of the tiles to display for the entity. Shift+clicking a tile will set the upper right corner of the tiles to display. It'll automatically adjust the size of the entity to fit your selection.
Several keyboard shortcuts are also available:
Tab Change the selected entity
F1 Save region
F2 Load region
Delete Delete selected
Insert Insert new entity
h Move the player to the center of the current view.
c Clone selected
b Select browse tool
f Select freeform tool
p Select paint tool
l Select line tool
r Select rectangle tool
w Move camera up
a Move camera left
s Move camera down
d Move camera right
+ Zoom in
- Zoom out
The editor comes with a number of different tools to manipulate different kinds of entities.
This tool is always available. When active, dragging will cause the camera to move. Shift-dragging will change the zoom level. In most cases you can also invoke this tool while another tool is active by holding down Alt.
This tool allows you to move or resize entities. Dragging the border of a resizable entity will resize it. Dragging anywhere else will move it. Ctrl-clicking will place the entity at the current point.
This tool allows you to draw tiles into a chunk. With left click, the currently selected tile is placed. With right click, the tile is erased. Middle-clicking will pick the current tile. While drawing tiles, other layers will be drawn transparently to make it easier to see and to minimise the risk of accidentally drawing on the wrong layer.
When Shift-clicking, a bucket fill of the current tile is performed.
When Ctrl-clicking, an auto-tile is performed. This will attempt to intelligently fill in a full shape according to how the solids are laid out. Auto-tile does not care about the tile you have currently selected, but it must be performed within a completed shape. Auto-tiling may also fail on certain configurations of solid tiles that it doesn't know how to interpret.
You can also place multiple tiles at once to form a sort of stamp, by first selecting a tile in the tileset to select the lower left region of the stamp, then shift-clicking on another tile to form the upper right region of the stamp.
This tool allows you to quickly draw up lines of solids. Depending on the direction you drag the line it will automatically generate slopes and solid blocks.
Allows dragging up rectangular regions of tiles. You can also use stamp a region of tiles, by selecting multiple tiles just like for the paint tool. When holding shift while dragging, it will only fill whole regions of the selected tiles, rather than allowing partial ones.
This tool is used to edit the combat data. When selected it'll open up a floating window which lets you select an animation and edit the per-frame properties of it. The following shortcuts are active:
space Play/pause the animation
right Step frame back/forward
delete Clear frame info
Dragging with right click also lets you draw up a hurtbox region for the current frame.
Every tile sheet must include a bottom row of tiles that are used for special tiles. This row contains tiles that designate different kinds of surfaces. From left to right, these are:
This tile is "nothing" and there's no interaction.
This tile is solid and acts as ground. It is solid from all directions.
This tile is only solid from above and the player can jump through it from below.
This tile is a death trigger.
The remaining tiles are all slopes of different angles and should be fairly self-explanatory.
Note that slopes are only solid from above.