View Full Version : Mapping FAQ and Basics

10-20-2011, 11:19
The mapping information should be available in the wiki. I have put together a page explaining the basics of how to create and modify battlefield maps in Xenonauts here:

10-23-2011, 10:22
This is great, I didn't even realize there was an editor. Gonna try it out! The page is well written too.

10-27-2011, 15:46
Wow, I'll put my teeth in that very soon !

Slippery Jim
01-07-2012, 06:30
I can't seem to find any photos of the map editor or modding interface on the site. Perhaps post some?

If you look at games like Arma 1 & 2 there are more people addicted to modifying the game than actually playing it online.

01-07-2012, 11:12
Added a couple of pictures to pretty it up. Previously you couldn't upload pics, but now you can. So if other people want to add more they're more than welcome.

Slippery Jim
01-08-2012, 05:27
Thanks Chris :)

01-15-2012, 10:45
I hope that this wasn't already answered and I just didn't look for it hard enough:
When creating custom maps, how can I let the game use them when starting crash site missions?

01-15-2012, 18:35
I hope that this wasn't already answered and I just didn't look for it hard enough:
When creating custom maps, how can I let the game use them when starting crash site missions?

It's controlled by levelsetup.xml in the "assets" folder, methinks.

02-07-2012, 17:27
I may be too optimistic, but would it be possible to create a procedural map generator? While I am in no way familiar with the engine of the game, procedural generation especially for tile based maps is quite easy and beats hand-designing maps when it comes to generic battlefields with no specific plot related requirements fro the terrain.

02-07-2012, 21:54
I think you are thinking of XCOM:EU. Xenonauts will have a semi-random procedural map generator =]

04-24-2012, 12:30
Awesome!!! Thanks :)

04-27-2012, 00:55
Have the editors been removed from the kickstarter build? Can't seem to locate them.

04-27-2012, 01:51
Have the editors been removed from the kickstarter build?
You right.

04-27-2012, 19:28
They've been renamed Level_Editor and Submap_Editor for the duration of the KS build but will reappear under their previous names post-Kickstarter. They should be in the same location as before tho.

04-27-2012, 21:40
Sneaky to wait until I updated to 9.5 to say that. :p But yeah, I was thinking about finally learning to map.

08-12-2012, 02:33
I hope that this wasn't already answered and I just didn't look for it hard enough:
When creating custom maps, how can I let the game use them when starting crash site missions?

To make this more clear:

1/. (for me) In your C:\Program Files (x86)\Desura\Common\xenonauts\assets folder, open the levelsetup_quickbattle.xml in say notepad (personally I'd recommend making a backup copy of this file first, in case you stuff it up)

2/. Change <Map tileset="Town" />
to <Map tileset="Industrial" />

or whatever custom map name you want to invoke (e.g. 'farm', 'suburbia', etc)

3/. Save the modified file, and of you go.

Looks like you can play with the types of aliens present here as well (haven't bothered searching for info on this, so apologies if an article on this already)

08-14-2012, 07:59
That would force the game to select from any map in the industrial tileset folder.
If you want to try out a specific map you also need to specify which one.

For example if you had made an Industrial based level and called it my_level then in your assets/levelsetup_quickbattle.xml file change :

<Map tileset="Town" />

to read

<Map tileset="Industrial" mapname="my_level" />

For different tilesets replace the word Industrial with the corresponding tileset and my_map with the name of the map you want to test.

You can also delete some of the aliens, civilians, and npc troops in that file.
If you are testing a smaller map there are probably too many to give you much chance to walk about without getting shot.

All of this info and more is on the official wiki page:

11-03-2012, 19:51
Are there no water tiles? I can't seem to find them...

Is there a height difference between layers, or it just allows you to put an object on the same space as another object? For instance, I place grass on 0, wall on 1..if I place something else on layer 2 does it render along with the grass and the wall at the same height, or does it place it above (physically above) the other 2 layers?
If it's just rendering, does that mean you can combine various tiles through layering to get different looking objects, or does it screw up all the objects in game?

Where can I find range information on LOS and weapons?

11-04-2012, 14:26
Things on layer 1 are drawn later/on top of things on layer 0, for excample if a sofa is on layer 1 and floor tile on layer 0, the sofa covers the floor, but of the floor tile is on layer 1 and sofa on 0, the floor covers the sofa. Layers 2 and above seem to cause problems with covering the soldiers. Layers don't affect "height", only how things are displayed. Levels are for Z-axle or height, like for making a house that has multiple floors. Just draw a floor on as many levels as you want, but make sure that each floor is drawn with layer 0. You can make things like furniture that span over several tiles on X- or Y-axle, but not on Z-axle.

11-04-2012, 16:31

11-08-2012, 04:33
Is this possible to add custom spawn maps(and target maybe) in game? I mean something like "airplane.human.chinook-SE_my" in level editor, something what not be used by default by other maps, only on specific maps where I place it. Specific size, not road, not zero level, map for town for example. If just add it to one of the default folders it will be used by default and didn't fit to other maps.
It's can be usefull for some experiments.

edit: Wait, is there no way to spawn soldiers on not zero level?

And what greater then "1" xenopoints indeces for?

Another question, is this possible, user side, to make placeable sprite to reduce los range, not just boolean "visibility score" thing, I saw this gas_gs, but curious is this possible to add there placaeble sprite entity.

And what is "collapsible tile" and "window" checks? I tryed, but didn't see what they do. Need to update wiki. And what is "elevation" thing, I guess but not sure how it work and it looks not implemented yet

11-09-2012, 17:07
You should be able to create your own dropship type spawn point if you add all of the right elements.
Open up the Chinook in the submap editor to see what you need.
If you give it a different name to the default spawns you should then be able to place your own spawns on your own levels.
The down side to this is that I don't think the game will use those maps properly outside of the quick battle mode.
You would not be able to tell the game that zzz1010_spawn was to be used when it was looking for human.chinook.
Incidentally you can set your spawn points at levels above zero if you want to.

Some of the checkboxes are not obvious at all, I have some ideas about their use but nothing firm.
Window checkboxes might be the ones Chris mentioned that tell a tile that a shot can pass through (i.e. breaking the glass on the way through rather than hitting it and stopping).
Collapsible sounds like something to do with tiles that are held up by the tiles around and below them, not played with that yet.
Elevation is likely to be related to the hills and slopes that will be part of the outdoor tilesets.

You could add a graphic that would just make the area look darker, for example a semi transparent grey block but I haven't seen an opposite to the 'lamp' setting to reduce LOS within its radius.

11-09-2012, 20:54
Did you tryed things you talking about? Because I did, this why I'm asking .
Level editor(not submap editor), for spawn layer painting, only looking for four maps folder of standart directions for standart game dropships, not intrested at all in naming and ignore anything else. Maybe I didn't understand something. Maybe it is somewhere defined, maybe it hardcoded(It can be feature request then).
If you paint xenopoints at any non zero level(I mean level, not layer, elevation above ground) they (xenonauts, I mean)tend to spawn in just west corner of map, at zero level

Collapsible sounds like something to do with tiles that are held up by the tiles around and below them, not played with that yet.
Elevation is likely to be related to the hills and slopes that will be part of the outdoor tilesets.
I guess this from names, my question was more like - how to use them to make them work and is they work at all. elevation is just droplist- how to define tiles with it?

And I not asking for black tiles, I'm asking for placeble "custom picture and stats_smoke-granade_smoke" (and also ability to place fire maybe)

11-09-2012, 21:05
I think the spawn/target(alien) submaps work differently from other submaps. With normal submaps that are stored in a same folder the game takes a random one and uses it, but with the spawn/target maps you have to choose which one to use. For example you could have chinook_SE, -SW, -NE, -NW and zzz_spawn submaps and you can choose which ones to use on your level. By not placing the four chinooks, only the zzz_spawn submap your level would always use your custom spawn map. The official levels would never have your custom spawn map becouse none of them have the zzz_spawn submap on them. You could either go and add the zzz_spawn submap to the official levels or oversave it with the same name that is already in use (chinook_SE, -SW, -NE or -NW).

EDIT Ok, this was a lie, different chinook maps are on their own folders and the game randomly chooses one map from the used folder (direction of the chinook). /EDIT

11-09-2012, 21:08
For example you could have chinook_SE, -SW, -NE, -NW and zzz_spawn submaps and you can choose which ones to use on your level. By not placing the four chinooks, only the zzz_spawn submap your level would always use your custom spawn map. The official levels would never have your custom spawn map becouse none of them have the zzz_spawn submap on them.
This what was my idea, but level editor didn't see any additional folders. Try it.

11-09-2012, 21:32
Yeah, you are righ. scrap ewerything I wrote. The different directions of chinook were in their own folder. I added my own custom chinook map in one the folders and it seems to randomly use either the original map or my map.

11-11-2012, 19:12
Ok I have a question about the basics. I've been playing with farm maps (because, perhaps unlike industrial/town maps, I think there is something in the regularity of fields that means I could write code to procedually generate farm maps).

As a first step, I've made my own farm map. I wanted to try it out in quick battle - so I edited the levelsetup_quickbattle.xml This is where I fall down. I can get quick battle to now give me farm maps - but I don't seem to be able to specify the mapname. What ever I put here, I always get farm_lightscout1 !?!! Is this a bug I should report in the bug thread, or am I doing something obviously wrong?

My levelsetup_quickbattle.xml is as follows (I here tried using a standard map name that everyone would have, as I thought this was a cleaner test, but it still gives me farm_lightscout1 rather than farm_corvette1 that I specify here)

<?xml version="1.0" ?>
<Map tileset="farm" mapname="farm_corvette1" />

<!--<Map tileset="alienbase" mapname="test_small_sebillian" />-->
<!--<SpawnTarget dropshipType="airplane.human.chinook" ufoType="airplane.alien.lightscout" />-->


<Alien name="AI 1" race="Caesan" rank="Guard" script="offensive" isKilled="0" />
<Alien name="AI 2" race="Caesan" rank="Soldier" script="offensive" isKilled="0" />
<Alien name="AI 3" race="Caesan" rank="Soldier" script="offensive" />

<Alien name="Civilian 1" race="Human" rank="NonCombatant" script="civilian" />
<Alien name="Civilian 2" race="Human" rank="NonCombatant" script="civilian" />
<Alien name="Civilian 3" race="Human" rank="NonCombatant" script="civilian" />
<Alien name="Civilian 4" race="Human" rank="NonCombatant" script="civilian" />

<Alien name="Friendly AI 4" race="Human" rank="NonCombatant" script="friendlyai" />


11-11-2012, 22:33
As far as I have to been able to determine, you have to specify the spawntarget if it's not a lights scout.

<SpawnTarget dropshipType="airplane.human.chinook" ufoType="airplane.alien.corvette" /> must be included if you are trying to use a corvette spawn.

I could be wrong, this is speculative.

11-12-2012, 00:25
always get farm_lightscout1 !?!!
You must be sure your map has correctly placed spawns for ufo and dropship. And has correct spown for ufo you want to get

If not specifed then game try to place light scout and chinook.
If there no such spawn points on map then game look for map where it present from same tilset.
If there errors in spawn placing then game launch some other map from same tilset.
Game also is not like too much if spawn points is not complitly replace submaps if placed(no matter is there default tiles specified), it's must work(and most time it work) but game tend to just take another map where it placed more correct.

Farm tilset is tend to be used by default if there no correct map in your tilset
Farm lightscout is tend to be used by default if there mistakes in your map or level setup

Well, as far as you use default map your only problem (probably) is not specifing ufo type(as described in post above).
But this can be just some empirical addendum for mapping faq

11-12-2012, 07:28
Thanks Xcorps and zzz1010 both. I will try this when I have time next weekend.

It also sounds like you think it is worth adding a note to this effect in the wiki.

05-18-2013, 12:22
Maybe leaving the post in place with an explanation of what went wrong would be useful to others who may run into the same problem?

Ol' Stinky
05-18-2013, 13:21
Well, I'm not sure what actually went wrong when I tried to create a custom spectre. I tried both the "add spectre" button and going for a .png, and editing a copy of an existing spectre. The editor didn't seem to load it, except after I made that longwinded post. Then it did. Of course. (;

I have no idea what I did differently, so it wouldn't really be any help. It was probably user error rather than a bug, too.

05-18-2013, 14:26
Fair enough, not going to be much help then!

Ol' Stinky
05-19-2013, 02:42
Okay, so now I'm getting Baby's First Submap building up and running - it's only a simple house in the town tileset. I'm having to alter some spectres, though, because they're set to passable and such. These are props I'm using to decorate inside; kitchen counters, sofas, bookcases and the like. If I create a (say) terror level map wihich includes my submap, do I need to include the modified spectres with any maps I create?

If I dip into other tilesets (like soviettown for the wood textures), again, will that cause any problems for people trying to use my maps?

Oh, and where do we stand in regard to heights? Back in the first alphas I played, there was at least one map with proper stairs up and running, but since then I've heard that the heights were problematic with the game's engine. Am I going on bad/outdated info, or are we okay to place multiple floors in the submaps?

Sorry for the possibly dumb questions, but this is all new to me.

05-19-2013, 07:45
If you adjust any spectres you will need to supply those altered files with your submap.
Remember to save the spectre separately from the submap as well or you will not adjust the actual spectre file, just the specific instance of that item that is on your submap.
I can't remember if it still only lasts until you load up that submap again but it may look fine until you actually go to play it.

You can have multiple floors for buildings using the stair tiles, the height problem is purely with terrain.
The engine doesn't handle slopes so it is only things like hills that are a problem.
There is no way for the engine to have partial tile heights so all hills would have to have vertical sides that were a full tile in height, i.e. a wall.
That is my recollection, could be inaccurate!

Using tiles from other sets shouldn't be a problem, the path to the spectre should be saved with the submap so it will always know where to locate it.

Some or all of this may be incorrect for players using the compressed builds.
You may need to provide all files for those players so they can use any of your custom submaps, I haven't personally tested that so can't be certain.

05-19-2013, 08:51
Any spectres you change need saving but if you must remember that you will edit every version of that file on every map.

I am submitting a list of tiles that bug so that giovanni can fix them in the main build. Mainly windows that are walked through and doors that are miss aligned. Unless the devs have used the spectre they will have never fixed it.

The soviet tiles are in the worst state ATM

Any sub maps you create need to be put into your map file and any spectres for those submaps. Just remember that all floor tiles must be layer 0 and walls and props layer 1.

If you use spectres from different tile sets then the XML file will record the location automatically. These do not need to be included.

Ol' Stinky
05-19-2013, 14:27
Damn, you guys are helpful. Okay, cheers for the assistance. I'll leave out custom spectres for now, since learning all of this is enough of a task on its own, I don't need to make it more complicated. I do think I'm on the way to taming the sub-ed now. I've only got one issue left with my submaps: props that are more than one tile in size tend to take precedence over (say) walls. Here's a pic.


It's only when the beds are seen by a soldier that this happens. Layers shouldn't be the problem - I checked and the wall and the bed are both on 1. (Unless that's a mistake, but I thought 0 was for ground tiles and 1 for objects on top.) Any suggestions on how to fix it?

05-19-2013, 14:45
Sometimes placing the objects in the submap in a different order works, other times it is the spectre settings that are the problem.
If I remember rightly adjusting the sortpoint fixed it on the tiles I was making.

Ol' Stinky
05-19-2013, 14:54
Bah, neither of those seemed to work. No matter, I'll just take out the hospital beds for the time being.

05-19-2013, 16:31
put them in the middle of the room away from the walls and then bug submit the image