Simple tile map editor

Simple Tile Editor:

Need a specific custom built tile map editor to the following requirements:

Language : Java (preference) or C++ O/s windows xp

(source and binary objects to be delivered.)

Tile editor consist of three windows and a status bar: the three windows being:Tile map area (main), Scenery tiles, Object tiles

The windows are moveable, resizeable and scrollable up down left right.

Default positions:

Tilemap window Left top.

Scenery window top right

Object window bottom right

Menu options:

>New project

>Load project

>edit project attributes

>Save project

>Load tilemap

>Output tilemap

>Load scenery tiles

>Load object tiles

Project attributes:

Project name

Tilemap input file

Tilemap output file

Tilemap main row prefix string

Tilemap Main row suffix string

Tilemap Layer output prefix string

Tilemap Layer output suffix string

Tilemap width

Tilemap height

Scenery Png file

Object png file

Tile width

Tile height

Labels file

Tile rotating

Tilemap Window coords,size and position

Scenery Window coords,size and position

Objects Window coords,size and position

These attributes are saved via the save project and loaded via the load project

When loading: LOAD PROJECT

>if the tilemap input file exists it is loaded into the tile map area window.

>if the scenery png file exists it is loaded into the scenery tiles window.

>if the object png file exists it is loaded into the object tiles window.

>if the labels file exists it is loaded. {See labels}

When saving:SAVE PROJECT

>The project attributes file is saved.

>The labels file is saved

>the tilemap matrix is saved.

Load tilemap

When this option is selected the tilemap file is loaded and replaces the current active tilemap matrix and is presented in the tilemap area. Load tilemap reads a file in the format produced by Ouput tilemap

Scenery tiles & object tiles:

Scenery and object tiles are contained within separate png sheets. Within the png sheets each tile has a one pixel spacer right and bottom thus a 32x32 tile is 33x33 with last column and bottom row discarded. Tile size requirements are set via the project attributes: Tile width e.g. 32, tile height e.g. 32. The Scenery tiles are loaded into the Scenery tile window and the objects tiles are loaded into the objects tiles window.


Loading will automatically determine tiles based on png sheet width/(tile width+1) and png sheet height/(tile height+1). Tiles are presented order in according to tiles window size. Viz if using 32x32 tiles and a 64 x 320 window. The window will be displaying 2 tiles across by 10 deep. Tiles are presented in the order left to right, top to bottom.

Tile rotating: (applicable to both Scenery and object tiles)

If tile rotating is specified as “Y” then the tiles loaded are multiplied by 4. These being:

Original tile, 2) tile rotated clockwise 90 deg, 3) 180, deg 4) 270 deg.

Rotated tiles are included in the tiles window and presented in an adjacent sequence left to right, before presenting the next tile in sequence.

Tile processing: (applicable to both Scenery and object tiles)

Tiles are selected by clicking on the tile. This becomes the active tile. The active tile is highlighted and it’s index and label is shown in the status bar

Once selected two options are available:

1) Paint in tile map area window

2) Assign the tile a label


Assign label

Each tile can be assigned a tile label

A 3 character string.

E.g. 11A, 24B etc.

Labels are stored in the labels file in the following simple text format:

B 1 “. “

S 1 “11A”

S 2 “11B”

S 3 “23C”

O 1 “_A_”

O 2 “_D_”

O 3 “_E_”

X 1 “_ZZ”

X 2 “_ZT”

S 1 “11A” is the label (11A) for the first (1) tile in the scenery (S) tiles window.

O 2 “_D_” is the label (_D_) for the second (2) tile in the objects (O) tiles window.

B 1 “. “ Is a special label to denote the label for any tile in the tilemap area not containing a tile. i.e. the label for blank tiles. There is only one B entry

X 1 “_ZZ” all X entries denote special entries within the matrix that are used inGame and do not appear in the object and scenery tiles. These entries only appear in the Layer Main layer. (see Layers below.)

Saving a project saves the labels to the labels file.


Tile map is shown as a grid (matrix). The size of the tilemap grid is set by the tilemap width and height. Note these may be changed during a session. So if the width is increased then additional columns are added to the end of matrix (to the right). If the width is decreased then columns are removed from the right of the matrix. If the height is increased then additional rows are added to the bottom of the matrix. If the height is decreased then rows are removed from the bottom of the matrix. New squares default to blank tiles.

A square within the grid is painted using the active tile by left clicking on the grid square. Right clicking on grid square de-populates the square.

Note if Layer Main contains a special InGame label the grid square cannot be edited in Layer Main. (see layers below.)

The tilemap grid contains 3 layers.


{Note tiles must retain their transparency so that when tiles are layered they are displayed correctly.}

There are only three layers:

Layer 0 bottom layer

Layer Main:

Layer 1 top layer

Within a menu option the current options are selectable:

1)Active layer 0:

2)Active layer Main:

3)Active layer 1

4)Active layer all (main)

The active option is always displayed in the status bar.

Active layer 0 means any tiles painted in the tilemap will be associated to layer 0. Only layer 0 is displayed in the tilemap.

Active layer main means any tiles painted in the tilemap will be associated to layer Main. Only layer Main is displayed in the tilemap.

Active layer 1 means any tiles painted in the tilemap will be associated to layer 1. Only layer 1 is displayed in the tilemap.

Active layer all means any tiles painted in the tilemap will be associated to layer Main, but all layers are displayed in the tilemap. (layer 0, then Main then layer 1)

Output tilemap:

Simple text file output.

Firstly Layer 0, then layer 1 are output followed by layer Main.

Processing is left to right top to bottom matrix output

Layer 0, and layer 1 do not produce any output for blank tiles.

Layer 0 output

In the format of

Tilemap Layer output prefix string+column_x+”,”+row_y+”,”+label+”,0 ”+ Tilemap Layer output suffix string

So if we had a 3 width x 4 height matrix with a level 0 tile in position x 2, y 3 with a label “11A” and a level 0 tile in position x 4, y 4 with a label “23D”

With Tilemap Layer output prefix string=”t(“

With Tilemap Layer output suffix string=”);“

The output would be:



Layer 1 Output

Is the same as layer 0 output but replacing 0 with 1




Layer Main output;

Is in the form of concatinating the labels within a row:

Tilemap main row prefix string+concatenated tile labels+Tilemap Main row suffix string+row number


Lu(". 01A01A12B. . . 01B. ")//1;

Where Lu(" is prefix string ")//; is suffix string

Putting this together a sample output would be for a sample matrix:









lu("20b_Ja. . . . . . . . . 20d21a21a21a21a21a21a");//7

lu("23b20a22b56a56a56a. . . . . 20d21a21a21a21a21a21a");//8

lu("21a21a20b. . . 56a. . . 56a20d21a21a21a21a21a21a");//9

lu("21a21a20b. . . . . . 56a. 20d21a21a21a21a21a21a");//10

lu("21a21a20b. . . 56a56a56a. . 20d21a21a21a21a21a21a");//11

lu("21a21a20b. . 56a56a. . . . 20d21a21a21a21a21a21a");//12

lu("21a21a20b. . . . . . _Xt. 20d21a21a21a21a21a21a");//13

lu("21a21a20b56a56a. . . . 56a. 20d21a21a21a21a21a21a");//14





IMPORTANT Load tilemap reads a file in this format and will populate the matrix accordingly.

Some labels are not assigned to tiles but are special labels for ingame objects.

When encountering a label not recognized in the labels file a graphical “?” is displayed on the matrix.

When encountering a label referencing a known inGameobject a graphical “G” is displayed on the matrix.

Note any additional information can be output in the output tilemap file format if it assists with reading and processing. But these must not be on lines outputting the matrix.

The additional information lines must be prefixed by the string “//”

Kemahiran: Pengaturcaraan C, Java

Lihat lagi: tile map editor, tile editor, freelancer map editor, simple tile map editor, best tile editor, java tile map, tilemap editor, java tile map editor, simple map editor, best tile map editor, java tile editor, tile map layers, tile map file format, tile map java, simple tilemap editor, tilemap, tilemap file, load tilemap, best tile mapper, simple tile editor, tile map creator, tile map editor source, best tilemap format, java tilemap, html map area editor

Tentang Majikan:
( 11 ulasan ) rijnsburg, Netherlands

ID Projek: #363016

Dianugerahkan kepada:


Let's start:) Check PMB please:)

$250 USD dalam 0 hari
(30 Ulasan)

5 pekerja bebas membida secara purata $224 untuk pekerjaan ini


Lets discuss in PMB. Willing to start ASAP. Thanks. - TUHIN

$250 USD dalam 2 hari
(9 Ulasan)

Please see more details in PM.

$250 USD dalam 5 hari
(3 Ulasan)

Please Check your PM!

$220 USD dalam 15 hari
(1 Ulasan)

I can make it done in both Java and c++.

$150 USD dalam 8 hari
(1 Ulasan)