Difference between revisions of "How to make a level"

From Open Surge Engine Wiki
Jump to: navigation, search
m (Getting started)
m (Updated link)
(21 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{Other languages|title=How to make a level}}
 
 
 
== Getting started ==
 
== Getting started ==
This tutorial explains how to make a basic level using the built-in Level Editor. At the time of this writing, the latest version of the game is 0.5.0, but the topics covered here can be applied on newer versions as well.
+
=== Overview ===
 +
This tutorial explains how to make a basic level using the built-in Level Editor. At the time of this writing, the latest version of the game is 0.5.1, but the topics covered here can be applied on newer versions as well.
 +
 
 +
This is a quick practical introduction to the built-in Level Editor. You'll be able to make your own level in just a '''few minutes''', but only with basic features like simple platforms and items. Advanced topics like custom scenery, new characters, scripting and bosses will be covered later.
  
This is a quick practical introduction to the built-in Level Editor. You'll be able to make your own level in just a '''few minutes''', but only with basic features like simple platforms and items. Advanced topics like custom scenery and bosses will be covered later.
+
'''NOTE:''' when making a game with Open Surge, you should use its latest '''stable release''', which can be found at [http://opensurge2d.org opensurge2d.org]. Do not use the development builds, unless you're an advanced user and have a specific reason to do so.
  
[[File:Level-editor.png|852px|thumb|left|Welcome to the Level Editor!]]<br clear="all">
+
[[File:Editor050.png|852px|thumb|left|Welcome to the Level Editor!]]<br clear="all">
  
 
=== Level Files ===
 
=== Level Files ===
Levels are plain text files with a few instructions written on it. They are .lev files stored in the levels/ folder.
+
Levels are plain text files with a few instructions written on it. They are .lev files stored in the '''levels/''' folder¹.
  
To begin our tutorial, please open the folder containing Open Surge (the executable). Then, open file levels/base.lev using a simple text editor like Notepad. You'll see something like this:
+
To begin our tutorial, open file '''levels/empty.lev''' using a simple text editor like Notepad. You'll see something like this:
  
 
  // ...
 
  // ...
Line 18: Line 19:
 
  name "Empty Level"
 
  name "Empty Level"
 
  author "YOUR_NAME_HERE"
 
  author "YOUR_NAME_HERE"
 +
license "CC-BY 3.0"
 
  version "1.0"
 
  version "1.0"
 
  requires "0.5.0"
 
  requires "0.5.0"
 
  act 1
 
  act 1
  theme "themes/brickset.brk"
+
  theme "themes/waterworks.brk"
  bgtheme "themes/default.bg"
+
  bgtheme "themes/template.bg"
  spawn_point 210 9910
+
  spawn_point 128 9920
 
  music "musics/template.ogg"
 
  music "musics/template.ogg"
  startup ".default_startup"
+
  setup "Default Setup"
  players "Surge" "Neon" "Charge"
+
  players "Surge" "Neon"
 
   
 
   
 
  // ...
 
  // ...
  
Save a copy of the file to levels/hello.lev
+
Save a copy of the file to '''levels/hello.lev'''.
  
Additionally, change the name of the level from "Empty Level" to "Hello".
+
Additionally, change the '''name''' field from "Empty Level" to "Hello".
  
'''Tip:''' if you're using Notepad (Windows), you must double quote the filename, so the program won't save your file as hello.lev.txt . For example, if you're on the levels folder, you should type "hello.lev" instead of hello.lev. Make sure to save it on the levels/ folder.
+
'''Windows users:''' if you're using Notepad, you must double quote the filename, so the program won't save your file as hello.lev.txt. You must type "hello.lev" instead of hello.lev. Make sure to save it to the '''levels/''' folder!
 +
 
 +
----
 +
 
 +
[[File:Levelsfolder.png|384px|thumb|right|An example: .lev files in the levels/ folder. Your actual setup may vary.]]
 +
 
 +
¹ Where is the '''levels/''' folder? On Microsoft Windows, '''levels/''' is stored in the game directory:
 +
* it's the same place where Open Surge (the executable) is located
 +
* open the game directory and find the '''levels/''' folder there
 +
On Linux, it may be (you can use any of these places):
 +
* in the game directory (if you installed opensurge somewhere inside your home)
 +
* in the installation directory (if you made a system-wide installation)
 +
** usually, this is /usr/share/games/opensurge/
 +
** this is a read-only directory! To save a new file, see below
 +
* in $XDG_DATA_HOME/opensurge2d/opensurge/ (this is read-write)
 +
** usually, this is ~/.local/share/opensurge2d/opensurge/
 +
** using Flatpak? find '''levels/''' at ~/.var/app/org.opensurge2d.OpenSurge/data/opensurge2d/opensurge
 +
** using Snap? find '''levels/''' at ~/snap/opensurge/current/.local/share/opensurge2d
 +
*** note: other user-space files (e.g., settings & screenshots) are found at ~/snap/opensurge/current/.config/opensurge2d and ~/snap/opensurge/common/.cache/opensurge2d
 +
On MacOSX, the folder can be found:
 +
* in the game bundle (inside Contents/Resources/)
 +
* in ~/Library/opensurge2d/opensurge/
 +
* you might also use the Unix installation folder (e.g., /usr/share/games/opensurge)
 +
 
 +
<br clear="all">
  
 
== The Editor ==
 
== The Editor ==
=== Starting the Editor ===
+
=== Opening the Editor ===
 
Go to the Stage Selection screen (at the options menu) and choose the "Hello" level. After the level loads, press the F12 key to enter the level editor (remember to disable fullscreen, so you can easily follow this tutorial). If "Hello" doesn't show up in the list, check your .lev file. Please go back to the previous section and try again.
 
Go to the Stage Selection screen (at the options menu) and choose the "Hello" level. After the level loads, press the F12 key to enter the level editor (remember to disable fullscreen, so you can easily follow this tutorial). If "Hello" doesn't show up in the list, check your .lev file. Please go back to the previous section and try again.
 
[[File:S033.png]] [[File:S034.png]] [[File:S035.png]]
 
  
 
'''Tip:''' you can edit almost every level by pressing F12 during the game. If you're editing an official level (the levels that come with the game), please do '''*not*''' save your changes, as this operation is irreversible!
 
'''Tip:''' you can edit almost every level by pressing F12 during the game. If you're editing an official level (the levels that come with the game), please do '''*not*''' save your changes, as this operation is irreversible!
  
=== Edit modes ===
+
[[File:Options1.png|426px|thumb|left|Main menu: selecting Options]]
[[File:Level-editor-ex.png|512px|thumb|right|The Level Editor]]
+
The editor has three edit modes: brick mode, built-in item mode and custom object mode. Basically a brick is a reusable scenario piece; a built-in item is something like a life box or a checkpoint; and a custom object is something made via scripting, like an enemy or a boss (these are covered later).
+
  
To play with the Level Editor, use the mouse to place objects on the screen and the directional arrow keys to move the camera.
+
[[File:Options2.png|426px|thumb|left|Options screen: entering the Stage select]]
  
Now, choose the brick mode (Ctrl+N, Ctrl+B or Ctrl+Mouse wheel). Choose the bricks you want by pressing N, B or simply by using the mouse wheel.
+
[[File:Stageselect.png|426px|thumb|left|Stage select: choosing the Hello level]]
 +
<br clear="all">
  
Notice the text on the left-top corner of the screen. What does it mean?
+
=== Basic usage ===
* '''brick 0''' - you're in brick mode, and 0 is the ID of the current brick (it's an internal identification number);
+
The editor basically works with two types of elements: bricks and entities. Basically a brick is a reusable scenario piece. An entity is something that you can put in your level, such as: a spring, a collectible or a baddie. Entities are created with [http://docs.opensurge2d.org SurgeScript] (scripting for games; this is covered later).
* '''property: OBSTACLE''' - the type of the brick, specifying its solidity. This is covered in [[Bricksets]];
+
* '''behavior: DEFAULT''' - the brick behavior. This is covered in [[Bricksets]];
+
* '''size: 128x64''' - the dimensions (width x height) of the brick, in pixels;
+
* '''zindex: 0.50''' - the zindex of the brick. This is covered in [[Bricksets]].
+
  
'''Tip:''' in the editor, press F1 to see a table containing all commands you need to make a level.
+
To play with the Level Editor, use the mouse to place objects on the screen and the directional arrow keys to move the camera. Now, press 1 to open the brick palette or 2 to open the entity palette. Choose the item you want to place on the level and have fun!
  
== Making your level ==
+
'''Tip:''' press F1 to see a table containing all commands you need to make a level.
  
This is where creativity comes in. Now you should make your level by placing bricks and other objects on the screen. When you're done, press Ctrl+F12 to save your level.
+
'''Note:''' when placing a brick on the level, you'll see many properties on the top bar of the editor (such as: type, behavior, size, etc.). These are covered in [[Bricksets]].
  
[[File:S057.png|512px|thumb|left|Wiipeeee!!!]]<br clear="all">
+
[[File:Editorpalette0.png|512px|thumb|left|Brick palette]]
 +
[[File:Editorpalette2.png|512px|thumb|right|Entity palette]]
 +
<br clear="all">
 +
 
 +
== Creating your level ==
 +
 
 +
=== Enjoy creating! ===
 +
 
 +
This is where creativity comes in. Now you should make your level by placing bricks and entities on the screen. When you're done, press Ctrl+S to save your level.
 +
 
 +
For tips on how to create amazing levels, read our [[Level Design Document]].
  
 
'''Congratulations! '''
 
'''Congratulations! '''
  
You have created your first level! If you have any questions, feel free to ask on the community forums.
+
You have created your first level! Level editing, however, is just the tip of the iceberg.
  
In order to continue your studies, please read [[Introduction to Modding]].
+
Open Surge is a '''full game engine''' that allows you to create many types of 2D games, including: platformers, shooting & racing games, arcades, and so on. You can really go wild with your creativity and build up anything. In order to continue your studies, go to [[Introduction to Modding]].
  
Thank you for reading!
+
If you have any questions, feel free to ask on the [http://forum.opensurge2d.org/ community forums].
  
 
=== A challenge ===
 
=== A challenge ===
  
Open '''themes/''' folder and look for files with the .bg extension. These are level [[Backgrounds]] that are ready to be used in Open Surge. Pick one of them and replace the ''bgtheme'' attribute of the levels/hello.lev file. See what happens!
+
Open '''themes/''' folder and look for files with the .bg extension. These are level [[Backgrounds]] that are ready to be used in Open Surge. Pick one of them and replace the '''bgtheme''' field of the levels/hello.lev file. See what happens!
 +
 
 +
[[File:Editoramazing.png|852px|thumb|left|Create amazing things!]]<br clear="all">
  
 
[[Category:Users]]
 
[[Category:Users]]
[[Category:Level development]]
+
[[Category:Level design]]

Revision as of 18:38, 23 November 2020

Getting started

Overview

This tutorial explains how to make a basic level using the built-in Level Editor. At the time of this writing, the latest version of the game is 0.5.1, but the topics covered here can be applied on newer versions as well.

This is a quick practical introduction to the built-in Level Editor. You'll be able to make your own level in just a few minutes, but only with basic features like simple platforms and items. Advanced topics like custom scenery, new characters, scripting and bosses will be covered later.

NOTE: when making a game with Open Surge, you should use its latest stable release, which can be found at opensurge2d.org. Do not use the development builds, unless you're an advanced user and have a specific reason to do so.

Welcome to the Level Editor!

Level Files

Levels are plain text files with a few instructions written on it. They are .lev files stored in the levels/ folder¹.

To begin our tutorial, open file levels/empty.lev using a simple text editor like Notepad. You'll see something like this:

// ...

// header
name "Empty Level"
author "YOUR_NAME_HERE"
license "CC-BY 3.0"
version "1.0"
requires "0.5.0"
act 1
theme "themes/waterworks.brk"
bgtheme "themes/template.bg"
spawn_point 128 9920
music "musics/template.ogg"
setup "Default Setup"
players "Surge" "Neon"

// ...

Save a copy of the file to levels/hello.lev.

Additionally, change the name field from "Empty Level" to "Hello".

Windows users: if you're using Notepad, you must double quote the filename, so the program won't save your file as hello.lev.txt. You must type "hello.lev" instead of hello.lev. Make sure to save it to the levels/ folder!


An example: .lev files in the levels/ folder. Your actual setup may vary.

¹ Where is the levels/ folder? On Microsoft Windows, levels/ is stored in the game directory:

  • it's the same place where Open Surge (the executable) is located
  • open the game directory and find the levels/ folder there

On Linux, it may be (you can use any of these places):

  • in the game directory (if you installed opensurge somewhere inside your home)
  • in the installation directory (if you made a system-wide installation)
    • usually, this is /usr/share/games/opensurge/
    • this is a read-only directory! To save a new file, see below
  • in $XDG_DATA_HOME/opensurge2d/opensurge/ (this is read-write)
    • usually, this is ~/.local/share/opensurge2d/opensurge/
    • using Flatpak? find levels/ at ~/.var/app/org.opensurge2d.OpenSurge/data/opensurge2d/opensurge
    • using Snap? find levels/ at ~/snap/opensurge/current/.local/share/opensurge2d
      • note: other user-space files (e.g., settings & screenshots) are found at ~/snap/opensurge/current/.config/opensurge2d and ~/snap/opensurge/common/.cache/opensurge2d

On MacOSX, the folder can be found:

  • in the game bundle (inside Contents/Resources/)
  • in ~/Library/opensurge2d/opensurge/
  • you might also use the Unix installation folder (e.g., /usr/share/games/opensurge)


The Editor

Opening the Editor

Go to the Stage Selection screen (at the options menu) and choose the "Hello" level. After the level loads, press the F12 key to enter the level editor (remember to disable fullscreen, so you can easily follow this tutorial). If "Hello" doesn't show up in the list, check your .lev file. Please go back to the previous section and try again.

Tip: you can edit almost every level by pressing F12 during the game. If you're editing an official level (the levels that come with the game), please do *not* save your changes, as this operation is irreversible!

Main menu: selecting Options
Options screen: entering the Stage select
Stage select: choosing the Hello level


Basic usage

The editor basically works with two types of elements: bricks and entities. Basically a brick is a reusable scenario piece. An entity is something that you can put in your level, such as: a spring, a collectible or a baddie. Entities are created with SurgeScript (scripting for games; this is covered later).

To play with the Level Editor, use the mouse to place objects on the screen and the directional arrow keys to move the camera. Now, press 1 to open the brick palette or 2 to open the entity palette. Choose the item you want to place on the level and have fun!

Tip: press F1 to see a table containing all commands you need to make a level.

Note: when placing a brick on the level, you'll see many properties on the top bar of the editor (such as: type, behavior, size, etc.). These are covered in Bricksets.

Brick palette
Entity palette


Creating your level

Enjoy creating!

This is where creativity comes in. Now you should make your level by placing bricks and entities on the screen. When you're done, press Ctrl+S to save your level.

For tips on how to create amazing levels, read our Level Design Document.

Congratulations!

You have created your first level! Level editing, however, is just the tip of the iceberg.

Open Surge is a full game engine that allows you to create many types of 2D games, including: platformers, shooting & racing games, arcades, and so on. You can really go wild with your creativity and build up anything. In order to continue your studies, go to Introduction to Modding.

If you have any questions, feel free to ask on the community forums.

A challenge

Open themes/ folder and look for files with the .bg extension. These are level Backgrounds that are ready to be used in Open Surge. Pick one of them and replace the bgtheme field of the levels/hello.lev file. See what happens!

Create amazing things!