How to create maps for 1MW?

What do you need:

3D modeling tool (3DS Max, Bledner or other)
Image editor (Photoshop, Paint.Net, Gimp or other)
Map Creator: link (11kb), source (211kb)
Sample file: link (664kb)(".max" file)

Let's observe sample file:

Open the sample file in 3D modeling tool. I will use 3DS Max, but you can use any other.

This is map "Valley" from ga


Basic rules:

Tanks can only move on flat ground. Ground should be at position 0 on Z axis.

Tanks can only move on "big flat square":

You can make your map outside that square, but tanks won't be able to get to that part of the map.

Map must consist of 2 parts:
1. ground (hills, ground and other stuff) (1 texture)
2. scene (everything else (houses, trees, buildings)) (1 texture)

Designing map:

Designing the map is completely up to you. You can make whatever you want. Use your imagination.

Bullet collision:

Make a box for every object that can stop a tank's bullet. It can be any other shape, but keep it simple beacose those shapes must be loaded and rendered the same as any other object in game.

Don't forget "outside fance". If you have open map you must make a box that will stop a bullet from "escaping" the map. Don't leave any open space that will alow "bullet escape".

You can see those boxes in sample file (grey boxes on every house and around the map).

Path finding files:

There is a camera in sample file. Render an image with that camera. Image should be 800x800 (actually any 1:1 resolution). This is edited image for sample file:

Open that image in an image editor. Paint all walkable area to green color (full green rgb(0,255,0)) and all non-walkable area to red color (full red rgb(255,0,0)). Now resize that image to 64x64 (it must be this resolution this time).

Now start "Map Creator":

In the first box write the loacation of your image (64x64 version).
In the second box write output location of movement map for your map (call it "map.txt").
Check the "Spacing" check box.
Click "Read image".
Wait few seconds.

If loading image stops durring proccess, wait few seconds. You can download the source package and edit it. If you make it better, send us an email. Thank you.

Saving the map:

Now open the installation path of your game.

Navigate to "LEngins32/gamefiles/maps".

Create a new folder with the same name as your map (or you can copy some other map's folder and rename it).

Those are the files and folders which must be in your map folder.

"audio" folder contains only "background.wav", that is sound that will loop in the background on your map.

"models" folder contains 3 .obj files:

In 3DS Max select all of the collision boxes and export them to this folder as "collisionBox.obj".
Select ground object and export it as "ground.obj".
Select all other objects (in sample file those are houses, bridges and trees) and export them as "mapscene.obj".

3DS Max export settings:

"textures" folder contains all of the textures for your map:

"ground.jpg" is texture that will stick to "ground.obj"
"mapscene.jpg" will stick to "mapscene.obj"

As some textures can get really big, you should make a smaller version of that texture, save it with the same name but add "b" to the end (ground.jpgb). You can make even samller version and add another "b" (ground.jpgbb"). There is bug in .Net framework and there could be problems with loading big images. If LEngine detects this error, it will try to load smaller image (and even smaller). If there is no smaller iamge version and normal one is too big the texture will be just black.

"icon.jpg" is map's icon that will show in map selection screen in the game (use 640x360 resolution).

"map.txt" is movement map you created with "Map Creator".

"settings.txt" is settings file for your map:

Edit your settings and save it.

Last step:

The last step is to add your map to list of active maps.
Navigate to "[installation]/LEngins32/gamefiles/maps/" and open maps.txt
Add your map to the list and save it.


Your map is done. Start the game and try it.


For any questions:



We are developing "LEditor". Custom editor for LEngine. It will be used for our new projects in LEngine.