Table of Contents

Conventions
Introduction
basics
the power of right click
geometry
mousewheel bindings
single keypress bindings
entities
interesting entities
Before you map
Editing Features Explained
Expert Editing Methods
heightfield


Conventions

If we write 'X' - key X is what you should press.
Abbreviations : MW - MouseWheel
Any and all dimensions : Width x Depth x Height ...are, of course, always relative to your current viewport, unless explicitly noted otherwise!

value ranges always start at 0, so the 1st entproperty is entproperty 0!


Introduction

Your installation folder holds some offline documentation in "docs/" - always keep it handy!
You might also want to read the Edit WalkThrough to get you going and/or verify you've got the basics down.


basics

To get started with Sauerbraten editing, you will first need to be aquainted with the key mappings.
The easiest thing to do here, is simply print out the file found in \Sauerbraten\data\defaults.cfg.
Aside from any autoexec.cfg edits you use, this file contains everything you'll need to get editing fast.
These pages will assume you are running a default keymapping if telling you about a key binding.
Take a look at the scripting section if you want to adapt your bindings.
Using a wheel-mouse is highly recommended and the default bindings assume one is used!

Some basic introduction into sauerbraten editing mode is given here Sauer Editing (by staffy on quadropolis).
A good primer to every budding mapper is Some general mapping tips (by makkE on quadropolis).

the power of right click

left clicking to mark entities or faces is straight-forward.
so too is the usage of right clicking to extend selection.

Don't underestimate the power this gives you.
E.g. after the first entity in a given set,
right click to add all the rest of the set.
Then right-click a face somewhere nearby.
Copy-Paste is now as easy as orientating from the face you chose as "handle". :)


geometry


mousewheel bindings


single keypress bindings



entities

create entities via menu or by manually calling newent NAME [arg1 [arg2 [arg3 [arg4]]]]
drag entities by their sparkly along plane closest to current FOV.
modify a certain property of your selected (or closest) entity by
entproperty 0 +10
entproperty 1 -180
entproperty 3 -1
loop p 3 [entproperty (+ 1 $p) -32]
or if you like to scroll via MW + 4 and select the appropriate property (0..3) via MW + 3 you might use this script.
Some entities constantly rotate, others can be orientated - for example mapmodels, teledest and playerstarts.
These ents will take their original orientation from your viewing angle at time of placement,
this angle will be saved in entproperty 0 (usually - check on your console to be sure!)

interesting entities

entname
param
description
jumppad
P H V
P = power of push, H and V power in direction of N/S and E/W (absolute on map).This means you could have two jumppads diagonally opposite each other and with properties 23 10 -10 and 23 -10 10,
monster
T
T = type of monster. 0 is ogro, 1 is rhino, 2 is ratamahatta, 3 is slith, 4 is bauul, 5 is hellpig, 6 is hellknight, 7 is goblin - current FOV @ placement is direction it's facing, tweak by entproperty 0
teleport
I
I = index of all teleports
teledest
I
I = index of all teleports - current FOV @ placement is direction your facing on exit


Before you map


Be warned :

when you've done tinkering around and getting to grips with your tools; tried to build some stuff -
just to really get a feel for resulting scale, after endless hours refining just one corner of your layout -
you might want to read something like this article on mapping,
or either of these two chapters gameplay and lighting.
They will help you to get the most out of your work into something being a great map.
Don't hesitate to really closely examine how architectural stuff and visual impressions are done by others.
Use 'E' on any part of a map you like to find out "how they did it".
Just don't save over the originals ;-)
Also don't forget to check out what data/default_map_settings.cfg does or how the map you're looking at might be modifying this through it's own map-CFG (for map "this_map" it would be packages/base/this_map.cfg).

You will most surely want to use a lot of gamespeed 10 up to gamesspeed 1000 to sharpen or slur your movement precision - depending on wether you need to zoom across your RPG map toward some distant location or are fine tuning minmal gridsize stuff.

The last thing a new mapper should be thinking about is releasing the early map(s). Share the maps with a few other people, just for ideas, and encouragement along the way. If you are unsure about what is actually a nice looking/playing map, just load up any map from the first maps menu in Sauerbraten. This should give you some guidelines as to what is expected out of a map.

If the editing tutorial didn't get you started,
try this DIY-walkthrough.


Editing Features Explained

You should really have some features at your fingertips - this will call for some personalized key-bindings sooner or later.
Since your view's angles have influence on the way you select e.g. faces of cubes you should think about being able to finetune your movement sensitivity by quickly switching from one gamespeed to another.
The simplest form would be have two key-bindings to toggle between "default" and a high as well as a low setting
[gamespeed 500; onrelease [gamespeed 100]]
[gamespeed 30; onrelease [gamespeed 100]]
Finer grained modifiers can be used if this is your style - either get some basic scripting from the interwebs or write it yourself,
this is too personal for there to be big packs, the meATpAk might be an exception - but it does everything it's own way, so : you've been warned!

Another important control to have at the ready: history
You should certainly have a key bound to the history command, then placing X lights of same setup is just movement and pressing that key. :)
Of course this requires you to set the first light via a console command - not via the menu, since this doesn't get added to your console history.

While we're on the topic of the console you should look at the way basic on-the-fly scripting can help you speed up your editing!


Expert Editing Methods


Map Screenshot : for use in the GUI menus, or for quadropolis-postings, or ...
Shaders : what are they?

Please help us to fill this page with more helpful information!
Simply post your suggested entries on the forum - of course your contribution will be attributed to you!
If you would like to make some contribution to one of the following special theme sections - use quadropolis.
We should probably discuss the following in more detail:
Particle Entities, Trigger Combos (for more than a simply locked door), RPG scripting (it's already possible to do a few basic things ...), and, and, and ... :)

Already planned update: Lighting - from basic lighting issues to refining your lighting to perfection :)


heightfield

Convert your current selection to a heightfield by pressing H,
then roll your mouse with J pressed to select your desired brush.
Now more over your selection and roll your mouse as usual for geometry manipulation.
Now you're manipulating the heightfield with your selected brush :)
If you press H again it will smooth your current selection. (Uses a moving avg algorithm)