Welcome to the Meteor Developer's guide. This guide is designed to assist people who are intending to make maps, tiles or anything else for Meteor.
It is strongly advised that you have a good read of this guide before starting out on any maps of modifications.
To run a new map from within the game open the console by pressing the tilde key and type:-
map <MAP NAME>
"map rescue" (no quotes)
will start "base\maps\rescue.map"
Table of Contents
Making maps for Meteor is real easy. I mean even I can do it (and I only coded the entire game and all of the tools single-handed!).
Meteor uses an advanced tile engine. I know that tiles are now quite out of date but Meteor does a pretty good job.
Maps are made up from the following types of objects:-
The actual terrain of a map is simply made up from these tiles. Tiles are not multi-layered, look as a map as been a massive bitmap where a tile represents each pixel. You simply paint tiles on. When you "paint" a tile onto a map it replaced the one that is already there. To select a tile to use click the "Select Tile" button on the main toolbar.
Tip: The above action will also switch the map editor into tile editing mode.
Tip: While in tile editing mode you can select a tile to draw with from the map's terrain by right clicking on the tile on the map itself.
Tip: If you are thinking of making any of your own custom tiles then it is very highly advised that you read the Making New Tiles for Your Maps section.
Sprites are objects that are placed on the map, they sit above the tile layer. Sprites are not very interactive, they are used for show.
To select a sprite to place on a map click the "Select Sprite" button on the main toolbar.
To delete a sprite from a map right click on the sprite on the actual map and select "Delete Sprite" from the menu.
Tip: A sprite's appearance can be rotated. To rotate a sprite right click on the sprite on the map and select "Rotate Sprite"
Tip: Be sure not to place power up and unit sprites on the map thinking that they will do anything. Power ups and units are custom objects! I have seen maps before where this has been done. :o)
Units can be placed on a map with great ease. To select a unit type (or race) to place on a map click the "Select Unit" button on the main toolbar.
To delete a unit from a map right click on it.
Tip: Units are shown with a red border around them within the Map Editor.
Tip: You can choose to hide or show units within the Map Editor by clicking the "Show/Hide Units" button on the main toolbar. This is handy when you need to perform other right click operations on the map (like deleting sprites or selecting tiles) without deleting your units!
Tip: When the units are hidden the text "(hiding units)" appears at the end of the Map Editor title bar.
Note that the angle that units face is automatically randomised when the map is played in the game.
Power ups are simply placed on a map. To select click the "Select Power Up" button on the main toolbar and select from the menu.
To delete a power up from a map right click on it.
Tip: Power ups are shown with a green border around them within the Map Editor.
Message triggers are handy things. When a player walks over a message trigger within the game a string of text (or a message) is displayed in the centre of the screen.
A map contains a number of message strings. Triggers for these strings can be placed anywhere on the map.
To select a message trigger or to add/edit/delete message strings click on the "Message Triggers" button on the main toolbar to bring up the Message String Editor.
A Message strings can be edited using the Message String Editor.
To delete a message trigger from a map right click on it.
Tip: Message strings are local to each map, they are part of the map itself.
Tip: A message trigger is displayed within the Map Editor as a yellow box with the text "Message Trigger" next to it.
Tip: If you hover the mouse pointer over a message trigger that has been placed on a map the text for the string used by that trigger is displayed in a pop-up hint.
The placing of player start points on a map is a simple affair of placing a start point where you want it. As there is only one of each type of start point on a map it will be moved to the new location.
Types of player start points are:-
To select a type of start point to move click on the "Move Player Start Point" button on the main toolbar and select from the menu.
Tip: You can play a map directly from the Map Editor by clicking the "Run Map" button on the main toolbar.
Table of Contents
A map can be given a briefing that will be displayed prior to the map being played in the game.
A map briefing is made up from a text file that sits in the "base\maps" directory with your map. The filename for this text file must be the same as your map's filename except that it has to have a ".BRF" file extension.
For example the briefing file for "maps\rescue.map" is called "maps\rescue.brf".
Tip: Be careful not to use to longer lines when creating your briefing because there is currently no word wrapping in the briefing text window (especially in low resolutions like 320 by 200). However, this will be changed in the final version of Meteor.
Table of Contents
A map's exit is a tile. Select an appropriate tile and place that on your map as an exit.
On completing a map you can instantly start another map by linking your map to your new map.
Note that there are 3 different types of exits (Exit Flag 1, 2 and 3) (the exit tiles supplied are names appropriately so that their exit flags can be identified). Thus you can start any 1 of three maps depending on which exit the player chooses.
This means that different game paths can be taken.
Tip: A sequence of connected maps is taken as been a single mission. However of you are making more than one map and you want to play them in order you should make them all into a single mission by linking them together.
To set the new map to play when the current map is completed:-
Table of Contents
Before making any new tiles for your maps you should create an extended tileset.
An extended tileset is basically a custom tileset that allows you to make your own custom tiles without the need to modify the main tileset (base\tiles\main.til). If you want to distribute any new tiles then it is essential that you do this.
By default a map uses the main tileset, like any tileset the main tileset contains 1024 tiles.
By using your own custom extended tileset you are granted an extra 1024 tiles for use on your map giving a grand total of 2048 tiles.
When selecting a tile the tile number is displayed in the hint text when the mouse pointer is hovered over a tile's thumbnail (this is the first number in the hint text and not the one in the brackets after it).
Any tile from 1 to 1024 is a standard tile from the main tileset (you should not alter these at all in any way). Any tile above 1024 (i.e. 1025 upwards) is from your extended tileset.
To edit a tile from the tile selector right click on the tile's thumbnail and select "Edit" from the menu to open that tile in the Tile Editor.
To make a new extended tileset:-
To make your map use an extended tileset:-
Tip: You can use the same extended tileset for all of your maps. Basically many maps can share the same extended tileset.
Tip: Don't forget to deploy your extended tileset with your maps!
I will not accept any maps that use a modified main tileset. I have already received a number of these and I now have a number of different main tilesets that clash with other. I wrote this documentation to combat this problem!
Table of Contents
The Tile Editor is designed to be easy to use and is therefore quite self explainitary.
Each tileset contains an array of 1024 tiles. To move to the previous and next tile you can use the "Previous Tile" or "Next Tile" toolbar buttons. If you want to jump further to another tile in the tileset then just use the "Goto Tile" toolbar button and click the thumbnail of the the tile that you wish to access.
A tile is basically just a 16 by 16 pixel image. Tiles can contain up to 256 colours which are indexed from the standard game palette. To edit a tile's image simply draw over the current tile using the mouse pointer.
The current draw colour is displayed in the large box (the colour box) that runs down the right hand side of the screen. To change this colour simply click on the colour box and select a new colour from the colour select dialog that will appear.
If you want to select a colour that is already on the current tile then you can simply right click the mouse on the pixel (on the tile itself) to select that colour.
Note that some of the tiles used in the game are auto textured. This is done by using pickup colours. A pickup colour is a colour in the palette that is randomised whenever it is found in a tile.
Any tileset can contain a number of different pickup colours.
To edit the pickup colours used in a tileset click on the "Edit Pick Up Colours" button on the main toolbar to bring up the Pick Up Colour Editor.
Each pick up colour has the following properties:-
if "Palette Index Colour" = "Pick Up Colour" then
"Palette Index Colour" = Start Colour + random( "Random Range")
(example snippet of pseudo code)
if( _getpixel( tile, x, y) ==PickUpColour)
_putpixel( tile, x, y, StartColour+rand()%RandomRange)
(example snippet of C code used to texture a tile)
/* Does this help? :o) */
Note that the colours 2 and 196 are reserved for grass and water. Therefore if you want any grass of water on your tile then you should use colours 2 or 4 respectively.
Tip: Grass is automatically randomised from colour 2. It will also be changed to an appropriate colour depending on a map's theatre.
Tip: Water is automatically created from colour 196. It will be textured and animated automatically.
Tiles can be either solid, land or water. The passable type of the current tile is displayed at the bottom of the screen. To toggle the passable type of the tile click on the "Change Tile Passable Type" button on the main toolbar.
Tiles can be affected by damage by setting their destroy type. Possible destroy types include:-
Like the tile's passable type the destroy type is displayed at the bottom of the screen.
To toggle a tile's destroy type click on the "Change Tile Destroy Type" button on the main toolbar.
Note that when a tile is destroyed is is replaced by a second tile. This second tile is displayed in the bottom left hand corner of the screen (when applicable). To change the destroyed replacement tile click on the "Change Destroyed Tile" button on the main toolbar.
Note that is it advised that the destroyed tile itself is not also destroyable!
A tile can also be declared as been "special". A special tile can do a number of things. For example when a player walks into a special tile it can disappear and replace itself with another tile as well as playing a sound (this is how the doors work).
Special tiles can also be used to do a number of other neat stuff like trigger explosions (C4 detonator switches), raise remote platforms, teleport the player, or even for picking up the player in a Chinook helicopter from one special tile and dropping them at another.
Don't let all of the above functions confuse you, special tiles are quite simple really.
To make a tile a special tile click on the "Advanced Tile Properties" button on the main toolbar. A window like the one shown below should appear.
There are plenty of special tiles included in the main tileset (base\tiles\main.til).
Tip: To determine which tiles in a tileset are special tiles simply click on the "Goto Tile" button on the main toolbar. By then hovering the mouse pointer over a tile's thumbnail it is indicated whether that tile is "special" in the hint text that appears.
Tip: For examples of special tiles look at the "Advanced Tile Properties" for the door tiles in the main tileset (base\tiles\main.til).
Table of Contents
Meteor is simply an amazing game purely because all of the editing tools used to create the game have been fully integrated into the game itself. This is great for a number of reasons:-
Hopefully in the future many other game developers will adopt this approach because it is quite simly a very logical way of doing things.
I am always glad to see new maps that people have made, so please feel free to send me your new maps (and other files including extended tilesets and briefings). Just remember to zip them up!
But just remembered that is was pioneered right here by me!
Thanks for reading. Now get to work!