]> de.git.xonotic.org Git - xonotic/xonotic.wiki.git/commitdiff
Mapping tutorial step 1
authorFreddy <schro.sb@gmail.com>
Tue, 22 May 2018 17:53:44 +0000 (19:53 +0200)
committerSebastian Schmidt <schro.sb@gmail.com>
Tue, 22 May 2018 17:58:54 +0000 (19:58 +0200)
Creating-Maps.md
Mapping-FirstMap.md [new file with mode: 0644]
Mapping-Introduction.md
Mapping-NetRadiant.md
Mapping-Optimizing.md [new file with mode: 0644]
Mapping-Setup.md
Mapping-Waypoints.md [new file with mode: 0644]
Mapping-packaging.md [new file with mode: 0644]
assets/images/radiant-layout-selection.png [new file with mode: 0644]
assets/images/radiant-layout.png [new file with mode: 0644]

index 09e415fa06e7cc992ca4a93f14c82d0bc9f8d126..817a5c1d8ddd046865364fb966bff97bba90a9ed 100644 (file)
@@ -1,19 +1,19 @@
 Creating Maps
 =============
 
 Creating Maps
 =============
 
-Main Tutorial
--------------
+Basics
+------
 
 
-**— Prologue —**  
-[mapping-Introduction](mapping-Introduction)  
-[mapping-Setup](mapping-Setup)  
-[mapping-NetRadiant](mapping-NetRadiant)  
-[mapping-FirstRoom](mapping-FirstRoom)  
+[Introduction](mapping-Introduction)  
+[Setup](mapping-Setup)  
+[NetRadiant](mapping-NetRadiant)  
+[First Map](mapping-FirstMap)  
+[Packaging and releasing](mapping-packaging)
 
 Advanced Mapping Tutorials
 --------------------------
 
 
 Advanced Mapping Tutorials
 --------------------------
 
-...
+[Optimizations](mapping-Optimizing)
 
 Advanced Texturing Tuorials
 ---------------------------
 
 Advanced Texturing Tuorials
 ---------------------------
@@ -42,13 +42,18 @@ Entity Tutorials
 Links to Even More Tutorials
 ----------------------------
 
 Links to Even More Tutorials
 ----------------------------
 
--   Alpha Blended Terrain — by tZork http://forums.xonotic.org/showthread.php?tid=3237
+- [Alpha Blended Terrain](http://forums.xonotic.org/showthread.php?tid=3237) by tZork
+- [Basic Tutorials by Ingar](http://ingar.intranifty.net/gtkradiant/index.html)
 
 Help
 ----
 
 
 Help
 ----
 
-\#xonotic.editing on irc.quakenet.org — live chat  
-http://forums.xonotic.org -- the forums .  
+- live chat: \#xonotic.editing on irc.quakenet.org
+- [Xonotic forum](http://forums.xonotic.org)
 
 
-[Old_Creating_Maps](Old-Creating-Maps)  
+
+Other resources
+---------------
+
+[Old Creating Maps](Old-Creating-Maps)  
 [Français](Creation-de-cartes)  
 [Français](Creation-de-cartes)  
diff --git a/Mapping-FirstMap.md b/Mapping-FirstMap.md
new file mode 100644 (file)
index 0000000..b857ce4
--- /dev/null
@@ -0,0 +1,100 @@
+Mapping - First Map
+===================
+
+Types of Maps
+-------------
+
+There are three types of xonotic maps.
+
+-   Indoor (stormkeep)
+-   Outdoor (space elevator)
+-   Mixture of the above (solarium)
+
+Regardless of the type, every map needs to be completely enclosed. No entity should be able to escape from your map.
+The map compiler will tell you if your map is *leaking*.
+
+Per-Map Setup
+-------------
+
+To keep things organized, every map should be created in its own folder in your userdata folder (see [Setup](mapping-Setup)).
+This folder's name needs to end with `.pk3dir` for Xonotic to recognize it. The convention is to name this folder `map-<mapname>_<version>.pk3dir`.
+In this folder, you need to save your map in a `maps` subfolder. For example, on Linux it should go into `~/.xonotic/data/map-<mapname>_<version>.pk3dir/maps/<mapname>_<version>.map`.
+
+The `<mapname>` should be alpha-numeric, lowercase with dashes.
+
+Keeping every map in its own folder also simplifies [Packaging and releasing](mapping-packaging).
+
+Building blocks
+---------------
+
+There are three types of building blocks for every map:
+
+### Brushes
+Brushes are the main building blocks for every map. They need to be [convex](https://en.wikipedia.org/wiki/Convex_polytope).
+If you need concave shapes in your map, either break them down into multiple convex brushes or use a model (see Entities).
+Brushes are defined by a number of faces.
+
+Brushes are used to create the layout of your map.
+
+To create a new brush, make sure that you don't have any object selected (`Esc`) and simply Click+Drag in any 2D pane.
+To move a brush (or even multiple brushes), select it and drag it around in either a 2D or 3D view.
+If you initially click outside of any selected brush, dragging will resize these brushes.
+
+### Patch meshes
+Patch meshes (or curves) are one-sided surfaces. They are defined by two types of points (use `V` to activate vertex selection):
+-   Green points: describe points that are on the surface
+-   Pink points: Control points that describe how the surface curves between the green points
+
+The detail/smoothness of patch meshes is controlled by the ingame settings.
+
+### Entities
+Entities are used for everything that needs special handling ingame. This includes spawn points, game models, doors/moving brushes, control logic and more.
+
+First room
+----------
+
+First of all you should select a big grid size (Grid64 by pressing `7`). Leftclick and drag in a 2D view to create a reasonably sized brush
+(at least 128 Units high - player models are a bit more than 64 Units high). With this brush selected, select a smaller grid size (Grid16 - `5`)
+and use the `Make Room` tool. The selected grid size will determine the wall thickness. Only make thin walls if absolutely needed! 
+If your NetRadiant build is too old to have the `Make Room` tool, you can use the `Make Hollow` tool and move all the resulting walls out a bit
+so that they no longer overlap.
+
+Next, the room needs to be textured. For this, with your brushes selected, open the Texture browser (`T`) and select a Texture.
+Note that for optimized maps only faces that are visible should be textured, all non-visible faces should use the `caulk` shader.
+For more information, see [Optimizations](mapping-Optimizing).
+
+Every map needs at least one entity. To place one, a right-click in a 2D pane will make a menu appear. Player spawnpoints have names that start with `info-player-`.
+For now, choose `info-player-deathmatch`. Make sure you don't have anything selected as this will replace your selection.
+If the spawnpoint is not inside the room, move it just like you move a brush.
+
+Compiling and Testing
+---------------------
+
+Before a map can be tested ingame, it first needs to be compiled. There are several presets in the `Build` menu. To simply test the layout,
+`Single: -bsp` is a good choice. It will also not add any lighting information, making it possible to test the map without placing lights or light emiting shaders.
+The `Final` presets take much longer to compile and should only be used once you're confident in your layout and lighting.
+
+Once the build is finished without errors, you can start Xonotic. To test your map, type `chmap <mapname>_<version>` in the ingame console (`Shift+Esc`).
+**TIP**: You can use `Tab` to autocomplete commands and mapnames.
+
+The engine will automatically generate a `<mapname>_<version>.mapinfo` file in your userdata folder under `data/maps/autogenerated/`,
+e.g. under Linux `~/.xonotic/data/data/maps/autogenerated/` (yes, `data` **twice**). You should move this file next to your `.map` file
+and adapt it (- it's just a text file).
+
+Adding a second room
+--------------------
+
+You can create a second room just like you did with the first one. To make a doorway, select a wall brush and use the `Clipper` tool (`X`).
+With the Clipper tool, you can define a plane that will cut the selected brushes. Define up to three points by leftclicking in any 2D pane.
+You can also move these points by dragging them around. Once you have at least two points defined NetRadiant will preview the cutted brush.
+The infinitely long line (red in 2D panes, white in the 3D view) show the cutting plane's normal. By pressing `Enter` the selected brushes will be cut,
+removing all the parts on the side of the normal. If you want to keep both sides, you can press `Shift+Enter` instead.
+
+Create new brushes to create a hallway connecting the two rooms. You can also use `Ctrl+C` and `Ctrl+V` to copy&paste brushes. Make sure that the map is
+completely enclosed and brushes are not overlapping, otherwise textures might flicker (so called *Z-fights*).
+
+
+\<\< [NetRadiant](mapping-NetRadiant) 2 [Packaging](mapping-packaging) \>\>
+
+… [Creating_Maps](Creating-Maps) …
+
index dfe72e216311f5c78ac5363599401804771d2e49..c63515ad52f3487fc774f102991acc7867f4db51 100644 (file)
@@ -1,15 +1,15 @@
-Mapping-Introduction
-====================
+Mapping - Introduction
+======================
 
 
-Welcome to the wonderful world of mapping, this tutorial will lead you through the fundamentals of mapping for xonotic. Many of these tutorials may also useful for other games that use the quake3map2 map format.
+Welcome to the wonderful world of mapping, this tutorial will lead you through the fundamentals of mapping for xonotic.
+Many of these tutorials may also useful for other games that use the quake3map2 map format.
 
 REQUIREMENTS
 ------------
 
 -   a computer that can run Xonotic
 
 REQUIREMENTS
 ------------
 
 -   a computer that can run Xonotic
--   the mapping support package from the main xonotic web site (for 0.6 version clicky the link) http://dl.xonotic.org/xonotic-0.6.0-mappingsupport.zip  
-    also if the main site doesn’t have a download you can always get it from http://beta.xonotic.org/autobuild/ … username xonotic … password g-23
+-   the [mapping support package](http://dl.xonotic.org/xonotic-0.8.2-mappingsupport.zip)
 -   time
 
 -   time
 
-0 [mapping-Setup](mapping-Setup) \>\>
+0 [Setup](mapping-Setup) \>\>
 
 
index 56caa5797a9c834e8bb5cf29951158866acbaa1e..9833bbe3848cf1cad3be240bc9fceeceeee76fb3 100644 (file)
@@ -1,40 +1,43 @@
-NetRadiant
-==========
+Mapping - NetRadiant
+====================
 
 
-There is no way around it, lets just jump in and start with netradaint.
------------------------------------------------------------------------
+Layout
+------
 
 
-![](comp-netradiant-plainnumbered.png)
+NetRadiant offers different layouts, however the layout with three 2D panes and one 3D view is recommended.
+![Layout Selection](assets/images/radiant-layout-selection.png)
 
 
-### This is Netradaint
+NetRadiant will now look like this:
+![Layout](assets/images/radiant-layout.png)
 
 
--   Windows users, yours will be much uglier but should still have the same layout.
--   For linux users the look depends on the theme you chose. ! NOTE ! using a global (mac style) title bar may not work. consider yourself warned (unity users) !
--   Mac … I have no idea…
-
-### The 4 panes
-
-Now, Netradaint has 4 main pains
-1.  First there is the main top-down view. It will show the map’s blueprint.
-2.  Second there is the 3d view. It will show a realtime 3d preview of the map. However, it wont render lights, or any special effects.
-3.  Third there is the texture pane. It should show a list of textures on the left side (if empty refer to previous page). It also should have a title bar on the top (for linux users who don’t see one refer to second bullet point above.)
-4.  Finally at the bottom of the window is the console pane. All sorts of information will be piped through this pane.
-
-note :: all of the panes can be resized by dragging on their borders. If you have issues with the current layout, it can always be changed by going to *edit-\> preferences*
+Note: All of the panes can be resized by dragging on their borders.
 
 
+Controls
+--------
 ### Navigational Controls
 
 ### Navigational Controls
 
-Basic controls for the blueprint window involve
+Basic controls for the 2D panes:
 -   scroll wheel to zoom (shift rightclick also works)
 -   hold rightclick will move around the scene
 -   pressing number keys 1-9 will change the grid size (0 will hide/show the grid)
 
 -   scroll wheel to zoom (shift rightclick also works)
 -   hold rightclick will move around the scene
 -   pressing number keys 1-9 will change the grid size (0 will hide/show the grid)
 
-Basic controls for 3d view (although we havn’t put anything in it yet, so its kinda boring)
+Basic controls for 3D view:
 -   scroll wheel is zoom (ctrl + shift + rightclick also works)
 -   scroll wheel is zoom (ctrl + shift + rightclick also works)
--   rightclick triggers look mode
--   while in look mode move the mouse to look around and the mousewheel to fly around the 3d scene
+-   rightclick toggles freecam mode
+-   while in freecam mode move the mouse to look around and the mousewheel to fly around the 3d scene
+
+### Important Keyboard shortcuts
+
+-   `T` will toggle the Texture browser
+-   `N` will toggle the Entity pane
+-   `L` will toggle the Entity list
+-   `S` will toggle the Surface Inspector
+-   `Esc` will deselect any selected objects
+-   `Shift+left mouse button` will add the object under the mouse cursor to the selection (or remove it if it's already selected)
+-   `Shift+left mouse button drag` will add the objects in this box to the selection (or remove them if they're already selected)
+-   `backspace` will delete all selected objects
 
 
-\<\< [mapping-Setup](mapping-Setup) 2 [mapping-FirstRoom](mapping-FirstRoom) \>\>
+\<\< [Setup](mapping-Setup) 2 [First Map](mapping-FirstMap) \>\>
 
 … [Creating_Maps](Creating-Maps) …
 
 
 … [Creating_Maps](Creating-Maps) …
 
diff --git a/Mapping-Optimizing.md b/Mapping-Optimizing.md
new file mode 100644 (file)
index 0000000..1333ed7
--- /dev/null
@@ -0,0 +1 @@
+TODO
index 14359d5410673aae78dcb1dfc6dc252452d8df4f..309ed12f7825b430abc773734a1c06ab9f8862d2 100644 (file)
@@ -1,51 +1,43 @@
-Mapping-Setup
-=============
+Mapping - Setup
+===============
 
 How to get your system all set up to start mapping
 --------------------------------------------------
 
 
 How to get your system all set up to start mapping
 --------------------------------------------------
 
-### Step 1 — Obtain mapping support
+### Step 1: Obtain mapping support
 
 
-If you didn’t already, download this … http://dl.xonotic.org/xonotic-0.8.1-mappingsupport.zip
+If you didn’t already, download the [mapping support zip](http://dl.xonotic.org/xonotic-0.8.2-mappingsupport.zip)
 
 
-### Step 2 — Extract zip
+### Step 2: Extract zip
 
 
-Extract the .zip archive using your favorite archiving tool
+Extract the zip archive using your favorite archiving tool
 
 
-### Step 3 — Find the magic folders
+### Step 3: Get NetRadiant working
 
 
-Locate your .xonotic folder, note that this is NOT the install location. This is the place xonotic saves your config.
+-   **Windows**: The mapping support zip contains a compiled version of NetRadiant in the `mapping` folder
+-   **Linux**: Linux users need to compile NetRadiant themselves (see [NetRadiant Repo](https://gitlab.com/xonotic/netradiant)) or can download a compiled version [here](http://ingar.intranifty.net/gtkradiant/index.html)
+-   **Mac**: Current versions of MacOS/OSX don't seem to work because of gtkglext, compiled versions from [here](http://ingar.intranifty.net/gtkradiant/index.html) might work
 
 
--   on linux this should be in `~/.xonotic`
--   on windows (7) its in `\users\user\saved games\xonotic`
--   on mac … its in `~/libraries/appdata` ?? maybe ??
+### Step 4: Locate the folder for userdata
 
 
-### Step 4 — Understand the magic folders
+Locate your userdata folder, note that this is **NOT** the install location. This is the place xonotic saves your userdata.
 
 
-if/when you find both of these folders, you will see that both of them contain a data folder. Game wise these data folders are treated the same, however, it is best to save your work in the .xonotic folder so that you don’t accidentally mess up your xonotic install, or so that your work doesn’t get lost in an update.
+-   **Windows**: `C:\users\user\saved games\xonotic\data`
+-   **Linux**: `~/.xonotic/data`
+-   **Mac**: `~/Library/Application Support/xonotic/data`
 
 
-### Step 5 — Moving stuff
+This folder has a similar layout as the game folder. Game wise these data folders are treated similarly, however, it is best to save your work in the userdata folder so that you don’t accidentally mess up your Xonotic install, or so that your work doesn’t get lost in an update.
 
 
-remember that zip we extracted? There should be 2 folders in it.
+### Step 5: Moving the mapping support pk3
 
 
--   data (yes … another data folder)
--   mapping
+The mapping support zip contains a file called `xonotic-<timestamp>-maps-mapping.pk3`. Move this file to the userdata folder (see step 4), **NOT** `data/data`.
+This folder should also contain your `config.cfg`.
 
 
-First open up the data folder and find the .pk3 file. (may look similar to xonotic-maps-mapping.pk3)Then take the pk3 and copy it to xonotic/data Note, .pk3 is really a renamed .zip. DONT extract it.
+### Step 6: Setting up NetRadiant
 
 
-editors note :: is this step required … im not sure —\> Now take the mapping folder and move it to the root of .xonotic (dont put it in any of the data folders)
+When you first start up radiant it may ask where the install location is. Simply, point it to the install location. Then NetRadaint should start,and the lower right pane should have lists of texture packs. If there are no texture packs, then refer back to step 5.
 
 
-### Step 6 — Get net-radaint working
-
--   WINDOWS, you are ready to go just double click on radiant.exe
--   LINUX users may have to compile theirs, don’t worry, netradaint is rather easy to compile. If you need help ask on the forums, or irc
--   MAC … um … its possible … but complicated … someone who knows how should edit this… and you will probably need OSX 10.5 or greater
-
-### Step 7 — Setting up netradiant
-
-When you first start up radiant it may ask where the install location is. Simply, point it to the install location. Then net radaint should start,and the lower right pane should have lists of texture packs. If there are no texture packs, then refer back to step 5.
-
-\<\< [mapping-Introduction](mapping-Introduction) 1 [mapping-NetRadiant](mapping-NetRadiant) \>\>
+\<\< [Introduction](mapping-Introduction) 1 [NetRadiant](mapping-NetRadiant) \>\>
 
 … [Creating_Maps](Creating-Maps) …
 
 
 … [Creating_Maps](Creating-Maps) …
 
diff --git a/Mapping-Waypoints.md b/Mapping-Waypoints.md
new file mode 100644 (file)
index 0000000..1333ed7
--- /dev/null
@@ -0,0 +1 @@
+TODO
diff --git a/Mapping-packaging.md b/Mapping-packaging.md
new file mode 100644 (file)
index 0000000..464c7ff
--- /dev/null
@@ -0,0 +1,29 @@
+Mapping - Packaging
+===================
+
+pk3 packages
+------------
+
+`.pk3` files are basically just renamed `.zip` archives. The content needs to follow a certain folder structure.
+Map related files go into `maps/`, sounds go into `sounds`, etc. If you followed the suggestion from [First Map](mapping-FirstMap)
+creating a `.pk3` package only consists of removing build artifacts, adding the map files to a `.zip` archive and renaming it.
+
+Required files
+--------------
+
+While technically only the `.bsp` file generated by the map compiler and all used assets that are not part of the game are needed,
+some other files are needed so that the map works properly.
+
+`maps/<mapname>.bsp` - This is your compiled map file  
+`maps/<mapname>.mapinfo` - This file has the meta information, artist, global music track, gametype(s) and game settings  
+`maps/<mapname>.tga|png|jpg` - This file is a screenshot of your map. If you don’t include this, you map doesn’t have a picture in the menu or the voting screen for servers and angels cry.  
+`maps/<mapname>.waypoints` - This is required to be added to the game, it’s for bot [waypoints](mapping-Waypoints)  
+`maps/gfx/<mapname>_mini.tga|png|jpg` - This is required to be added to the game, it’s a radar of the map. Will be generated by the map compiler.  
+
+Recommended files
+-----------------
+
+Adding these files is **strongly recommended**:
+
+`maps/<mapname>.map` - This is an open-source game. Gives other the ability to learn and fix broken maps/extend maps. 
+`License` - The license for the map. An open-source license like `GPL` is recommended.  
diff --git a/assets/images/radiant-layout-selection.png b/assets/images/radiant-layout-selection.png
new file mode 100644 (file)
index 0000000..963540b
Binary files /dev/null and b/assets/images/radiant-layout-selection.png differ
diff --git a/assets/images/radiant-layout.png b/assets/images/radiant-layout.png
new file mode 100644 (file)
index 0000000..a2f0cc3
Binary files /dev/null and b/assets/images/radiant-layout.png differ