As everyone who uses the FOnline Mapper for a while knows, especially the creation of cave maps can become a huge pain. To ease this pain, we started working on a way to create bigger maps more easily and with less of a hassle. Now, today we are releasing our latest tool, called "Tiled Mapper," which is used to create new maps with just a few mouse clicks in their basic shape, based on a tile-preset system.
In this release, we are providing our current preset_cave.fomap file, which includes all basic tiles + some variants of them. This file is a cave tile set, but the tool isn't limited to it. You can as well create a sewer, metro, bunker, generic desert or even city ruins tile set. Though, creating enough tile variants is lots of work, which is also the reason why we are sharing our cave preset, hoping the community will want to help in the creation of different sets- not solely for 2238. The tool is compatible to every other FOnline project, which we think makes it a very valuable asset for every FOnline developer.
InstallationDownload the TiledMapper.zip and extract it into your FOnline SDK folder. The Tiled Mapper then can be found in /Tools/TiledMapper/ and the preset file under /Server/maps/presets/.
DownloadTiled Mapper 1.0.1 ReleaseTiled Mapper 1.0.1 Source
About the Tiled MapperThe Tiled Mapper (abbreviated as TM) allows for creation of simple, tile based maps and then converting them into proper FOnline maps by replacing each tile with a collection of ingame tiles, walls and other objects, based on the contents of a selected "preset" file. The preset file is a standard FOnline map, organized into a pattern understood by TM.
A tile based map is, basically, a grid filled with "empty" and "filled" tiles. When converted into a FOnline map, the tiles will be replaced by particular tiles defined in the preset file, based on whether they are empty and filled, but also on the state of their neighbours. For example, a west-east sequence of three filled tiles in a row, surrounded by empty tiles, will be understood by TM as (respectively) "west corridor dead end", "piece of west-east corridor" and "east corridor dead end"). The TM will make an appropriate substitution when creating ("compiling") a FOnline Map. A tile may have some further information, other than filled/empty, that will affect this conversion.
0. Setup and first runOn the first run, TM will ask about the preset files path. The presets data provided in the package inside maps/presets. It is advised that tilemaps directory is placed in server's maps directory so that the preset file can be easily edited. Further explanation of the preset files is contained in Section 3.
To start drawing of a new map, select File->New Map and input the new map's width and height. The width and height are expressed in tiled map tiles, each corresponding to 10x10 ingame tiles (and 20x20 hexes). Newly created map will be filled with width*height empty tiles.
1. Drawing a mapTM has two modes for map creation: "drawing" mode and "details" mode. Convert/Revert button switches between the modes. Once a map is created, TM will enter the drawing mode.
In drawing mode, the following actions are possible:
Toggle Tiles - clicking the mouse and dragging the cursor over the tiles "paints" either filled or empty tiles.
Toggle Walls - allows for creation or deletion of walls between two neighbouring tiles. This information is used when compiling the map: tiles divided by a wall are not treated as neighbouring ones.
Place Scrollblockers - allows for placing (or deleting) a chain of scrollblock markers. A chain of scrollblock markers is a sequence of tiles numbered 1, 2, ..., n (the numbers are displayed on the map view). When the map is compiled, a line of scrollblockers will be created between the centres of tiles numbered by two consecutive numbers (here, n and 1 are considered consecutive).
Once the map structure (filled and empty tiles plus walls) has been drawn, switching to details mode allows to add more information obout the tiles. In this mode, basic types of the tiles are already decided and the map's outline is shown. The following actions are possible:
Change Variant - right or left clicking on a filled tile forces a particular variant (defined in the preset file) to be used when replacing that tile. A number on a tile indicates the forced variant. Lack of a number means "no variant" set, meaning that a random available variant will be used. This is a default setting for all new tiles.
Change Width - toggles a filled "width". Functionally this is almost redundant to variants selection, but much easier to manage. A wide tile will use different tiles from the preset file when the map is compiled. WARNING: only straight corridors neighbouring normal corridors and cross-sections neighbouring normal corridors can be marked as wide.
Place Scrollblockers - identical to drawing mode.
2. Compiling a mapTM requires a preset file to be used for compilation. The preset is selected in Options->Compiler window, and it is one of the .fomap files contained in the presets path. This is blank by default and has to be selected before compilation attempt.
To compile a map, select File->Compile Map. A window with map header will pop up, where the usual details for the resulting .fomap can be set. Once this is done, all that remains is choosing the name for the .fomap.
3. The preset filesTM needs a path with preset files in order to compile the maps. The path must include the file block.txt and any number of .fomap files.
Technically, a .fomap file with tile definitions is organized as follows:
- All tiles and objects with (x,y) coordinates in the range 22*X <= x < 22*(X+1) and 22*Y <= y < 22*(Y+1) are recognized as parts of a "bigger tile" with (X,Y) coordinates. A bigger tile is a definition of a single replacable tile in a tiled map. Because each such a tile is replaced with 10*10 tiles, this forces a one-tile gap between the tile definitions in the .fomap file.
- All bigger tiles with the same X coordinate ("columns") are considered a variant of the same tile (see the explanation of "Change Variant").
- There must exist at least one tile in each of the first 54 columns.
- The order of tiles defined by each column must correspond to that in preset_cave.fomap. This order is defined in block.txt.
4. Miscellaneousa. TM uses .tilemap files to save an restore tiled maps. These files themselves do not hold any references to fonline resources. They are written in XML.
b. TM caches the preset file used for compilation when it compiles the map. This means that if the preset file is changes, TM will ignore the changes unless either it is restarted, or if the preset path is changed, forcing the cache to be cleared.
c. While it is possible to have wide walls at corridor ends etc., this will result with incorrect .fomap.
d. All TM settings are stored in TiledMapper.cfg created on the first run.
ScreenshotsA small cave dungeon:
And how it looks in the map editor (created with all random tiles):