Talk:Mapping/Random map assembly
From UFO:AI
- What is the minimum size of a map ?
- 256x256
- This is a tile of size 1
tile +s11
{
3 3
0 c 0
a +c a
0 c 0
}
- What assembly-theme is used when no parameter is given ?
- a random one
- How can you specify the exact layout of a map, using parts ?
- use a min of 1 and a max of 1
assembly recreational
{
size "6 6"
[...]
+s11 "1 1"
[...]
}
Contents |
proposed page layout
Below is what I propose to be the new layout for this page. I believe this will make it easier to write a document which is easier to understand and eventually makes clear how to use random map assembly.
General
TODO: write the explanation of random map assembly is and what it's scope (possibilities and limitations) are.
ump-format
TODO: In plain English, write an outline of ump file sections (I guess these include the tiles and assemblies). This should include short descriptions of what each section means.
TODO: Write detailed explanations for each ump file section like below:
tile section
Example:
// a map comment
base villaged/vil_
tile +s01
{
4 5
0 0 c 0
0 a +c a
0 a +a a
b +b +a a
0 a a 0
}
- TODO: explain what the text after "base" means
- this is the base pathname for all tiles - if a tile has a
+in its name, the name will be appended to the base
- this is the base pathname for all tiles - if a tile has a
- TODO: explain what "s01" means
- s01 is the tile name - e.g. the map with the filename base/maps/villaged/vil_s01 - base/maps must not be give, because all maps are searched in this directory - villaged/vil_ is the base (see above). So you only have to give the
+s01to define a complete tilename. This is needed because some of the buffers are limited because they are send over the net (yes, you can play random maps over the network) - so the shorter the name, the better.
- s01 is the tile name - e.g. the map with the filename base/maps/villaged/vil_s01 - base/maps must not be give, because all maps are searched in this directory - villaged/vil_ is the base (see above). So you only have to give the
- TODO: explain what the first two numbers mean
- this is the tile definition size - e.g. 4 cols, 5 rows
- TODO: explain what the matrix of numbers/characters mean
- the outer numbers of this matrix are the needed tiles for the adjacent tiles - you can use letters from a-z to define different tile types
- TODO: explain the meaning of all valid characters/numbers
- TODO: explain what the '+' means in the matrix
- TODO: explain what a "demand-field" is
assembly section
Example:
assembly residential
{
size "6 6"
+s01 "1 2"
+s02 "0 2"
fix +s03 "0 2"
+drop "1 1"
}
- TODO: explain what residential means
- residential is the theme name - you can define several themes in one ump file - e.g. you want some map where you must have an ufo - and another one where you don't want an ufo - define assemblies for this task
- TODO: explain what +s01 "1 2" does
- +s01 is again the tilename (see above) -
"1 2"means, that this tile must be at least 1 times in this map - but at the most 2 times
- +s01 is again the tilename (see above) -
- TODO: explain what "size" means
- size is the size of the assembly in game - in this case - 6x6 means 1536x1536 (remember, one tile is at least 256x256 units in the mapeditor). A size of 6x6 would also lead to a square size (walkable actor squares) of 48x48 (because a unit has the size 32x32 in the mapeditor)
- TODO: explain what '+' means
- extend the tilename with the base definition (see above)
- TODO: explain what "fix" means
- TODO: explain what "+drop" means
ump in action
Full example.ump file:
TODO: repeat all of the example sections here to show the _full_ .ump file
TODO: show how to play the .ump file in the game
TODO: show a File:Screenshot jpg of what this assembled map looks like in-game

