Files

127 lines
6.8 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Build your own level
A step-by-step path from "I have the game" to "my friends are playing my level". Each step is short
and links to the chapter of the [editor manual](../manual/index.md) that has the details.
The manual is also built into the editor: press **F1** over any panel, tool or dialog.
| Step | |
|---|---|
| 1 | [Set up LlamaMod](#1-set-up-llamamod) |
| 2 | [Learn the editor in ten minutes](#2-learn-the-editor-in-ten-minutes) |
| 3 | [Plan the level](#3-plan-the-level) |
| 4 | [Build the ground](#4-build-the-ground) |
| 5 | [Start, checkpoints and the exit](#5-start-checkpoints-and-the-exit) |
| 6 | [Objects, enemies and cameras](#6-objects-enemies-and-cameras) |
| 7 | [Look and feel: textures, fog, music, light](#7-look-and-feel-textures-fog-music-light) |
| 8 | [Play-test](#8-play-test) |
| 9 | [Share it](#9-share-it) |
| 10 | [Go further](#10-go-further) |
Before you start, skim [Design rules](design-rules.md): the numbers (jump distances, draw
distance) and the handful of rules that keep the game from crashing.
![The level editor](../img/editor.jpg)
## 1. Set up LlamaMod
1. Get **your own copy** of the game: the CD or an ISO image of it (*The Emperor's New Groove* PC,
2000; German: *Ein Königreich für ein Lama*). LlamaMod contains no game files.
2. Download the **full** package for Windows or Linux, unpack it and start `LlamaMod.exe` /
`./LlamaMod` (Linux needs Wine to run the game). Or build it from source – see the
[main README](../../README.md#build-from-source).
3. The first-start wizard copies the game into LlamaMod's data folder. The original CD or ISO is
never changed.
4. Click **Play** once to check that the unmodded game runs.
Manual: [Installing LlamaMod and the first start](../manual/02-installing.md).
## 2. Learn the editor in ten minutes
Click **Level Editor** in LlamaMod and follow
[Your first level in 10 minutes](../manual/tutorial-first-level.md): a new level from the
*Island* template, a ramp, a coin trail, play it. Then read
[Introduction and concepts](../manual/01-introduction.md) – tiles, brushes, objects, zones, base
levels, chapters – and [Navigating the viewport](../manual/04-navigation.md).
## 3. Plan the level
* **New or edited?** A *new level* starts empty on a **base level** (default: Village 1) that
provides the object types, textures, sky, fog and music. *Editing an original level* changes the
real Village, River … in place ([tutorial](../manual/tutorial-original-level.md)).
* **Choose the base by its objects.** Only the base's object types are available directly; more
can be imported from any world ([Importing objects](../manual/09-objects.md#importing-objects-from-other-worlds)).
* **Size.** The village grid is 96 × 96 cells; the llama is 0.6 tall and jumps about 1.3 cells.
A small, dense level plays better than a big empty one – the draw distance is only 8–16 cells.
* **Where it goes.** New levels live in the hidden world 9, *TestLevel*, on chapter 1 or 32–49
([why](../reference/testlevel.md)). The editor picks a free chapter.
## 4. Build the ground
* **Brushes** (B) draw boxes, ramps, stairs, cylinders and more; they are cut into tiles when the
level is built ([Building geometry](../manual/06-geometry.md)).
* **Tiles** (T) place the base level's own tile models for an original look.
* **Meshes** from Blender or any 3D program come in as OBJ or glTF
([Importing meshes](../manual/07-meshes.md), [Blender tutorial](../manual/tutorial-blender.md)).
* **Collision** (K) decides what is solid: walls, floors, invisible walls, death floors, the exit
floor. The llama cannot step up even small edges – use slopes, or walls without collision.
![A level exported as glTF and opened in Blender](../img/gltf-blender.jpg)
## 5. Start, checkpoints and the exit
Use the one-click setups in the Objects panel ([Objects](../manual/09-objects.md#one-click-setups)):
* **Player start** – the llama plus its start camera node behind it. Keep the space behind the
llama free, or the camera jumps aside.
* **Checkpoint** – where the llama respawns after a fall.
* **Exit** – a LevelDoor *and* a floor with collision material 16 in the same grid cell. Without
that floor the exit does nothing ([why](../reference/objects.md#the-exit-leveldoor--certain)).
Its target is the next level; in TestLevel never "world finished" (7, 7, 7).
* **Death plane** – a death floor below everything, so falling off respawns instead of falling
forever.
## 6. Objects, enemies and cameras
* Place coins with the **Coin tool** (O), anything else from **Assets → Objects**
([Objects](../manual/09-objects.md)).
* Enemies and moving things often need a **waypoint chain** – some guards even need a pair of
waypoint boxes and an event bit, or the game removes them. The Inspector and *Check for problems*
tell you ([Waypoints](../manual/10-waypoints.md)).
* **Cameras**: camera zones, cut scenes and the start camera
([Cameras and triggers](../manual/11-cameras-triggers.md)).
* Change how an object behaves – a number in its script or a whole new type: see
[Strats](../strats/README.md) and [manual chapter 22](../manual/22-strats.md).
## 7. Look and feel: textures, fog, music, light
* **Textures**: the base's textures, imported PNG/JPG pictures, painting onto faces, flip-book
animations ([Textures](../manual/08-textures.md)).
* **Environment zones** set fog (= draw distance), sky colour and **music**; teleport zones move
the player between areas ([Environment](../manual/12-environment.md),
[music ids](../reference/audio.md#music)).
* **Light**: tiles get baked vertex colours (*Bake lighting*), lights only light objects.
* **Visibility regions** hide areas the camera cannot see – needed for big levels
([Visibility](../manual/13-visibility.md)).
## 8. Play-test
**F5** builds the level and starts the game directly in it; **Shift+F5** starts at the camera
position. *Check for problems* (also run on every build) lists errors and warnings – double-click
one to select the culprit. **Escape** in the game quits straight back to the editor.
Manual: [Building, problems and play-testing](../manual/15-build-play.md).
## 9. Share it
**File → Save** writes a small `.llamalevel` project: only your changes, no game data. Send that
file; the receiver copies it into LlamaMod's `levels` folder (or opens it in the editor and uses
*Level → Add to LlamaMod…*), ticks it in the *Levels* category and clicks *Apply*. It is built from
their own game copy. Manual: [Sharing levels](../manual/17-sharing.md).
## 10. Go further
* Build levels from code instead of the mouse: [Levels from scripts](levels-in-code.md).
* Understand the data: [Reference](../reference/README.md).
* Write object behaviour: [Strats](../strats/README.md) and the
[Alligator Arena walkthrough](../strats/arena.md).
* All tools at a glance: [Tools](../tools.md).