Difference between revisions of "Map Making"

From Armagetron
(→‎Tools and Generators: Add Vectron and rearrange)
(19 intermediate revisions by 6 users not shown)
Line 1: Line 1:
==About:==
+
Here are some ways to make maps that you can play in Armagetron Advanced.
  
This is going to teach you how to build custom maps for game play like the ones that the Crazy Tronners Wild Fortress uses.
+
== Tutorials ==
  
==What do i need to make a map:==
+
=== [[Making Maps for Beginners|A beginners tutorial]] ===
===Text Editor===
 
  
I used notepad but I found out that [http://www.pspad.com/ PSPad] was a lot better with handling codes
+
This is an alternative tutorial written by kyle and syllabear that's more intended for beginners who haven't dealt with XML before. It basically contains duplicate information as the page below, so for technical matters [[Making Maps by Hand]] should be consulted.
#[http://www.pspad.com/ PSPad (Windows)]
 
#[http://sourceforge.net/projects/turbopad Turbopad (Windows,Linux)]
 
#[http://www.context.cx/  ConText (Windows)]
 
#[http://www.vim.org/  Vim (Linux)]
 
  
===Optional Items===
+
=== [[Making Maps by Hand|The complete description of the map format]] ===
You also may want [http://www.armagetron.de/armabell.html Armabell] but it is very buggy. You can design the map on [http://www.armagetron.de/armabell.html Armabell], but you will still need a text editor.
 
  
Also you will need to read [http://armagetron.de/league.html here] to set up [http://www.armagetron.de/armabell.html Armabell]
+
This is the only supported way to make maps right now. It is a tutorial that is created by the Map Master himself and hopefully maintained by him (with everyone's help). It is your first and best resource to what exactly goes into a map, how to put it there, and how it works in the game. Even if you choose to use a graphical map maker, you still need to read this, so consider it required reading.
  
Also for ellipses and circles i use [http://generalconsumption.org/armagetron/ General Consumption]. You can also preview your maps there.
+
== Tools and Generators ==
----
+
* [[Acme]] — Acme is a currently experimental mostly-doesn't-work graphical map editor that's in Armagetron Advanced's cvs. If you'd like to fool with it, go to this page and read about it, but be warned, it mostly doesn't work.
  
==How to make a map:==
+
* [[ArmaBell's MapEditor]] — ArmaBell's MapEditor is a currently experimental graphical Win32 map editorIf you'd like to fool with it, go to this page and read about it.
Working on instructions.
 
===The basic code layout===
 
<code>
 
  &#60;!--this is a comment-->
 
<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
 
<Resource type="aamap" name="name" version="0.0.0" author="author"
 
category="fortress">
 
  <Map version="0.2.8">
 
  <Settings>
 
  &#60;!--Your field setting goes here-->
 
  </Settings>
 
  <World>
 
    <Field>
 
    &#60;!--Your field layout goes here-->
 
    </Field>
 
  </World>
 
  </Map>
 
</Resource>
 
</code>
 
<small>This is the basic code structure to making a map.</small>
 
  
This includes no content right now so if you were to load the page exactly as it is Armagetron Advanced will load in the default map and settings.
+
* [http://ctwf.club/maptools/ CT's Collection of map tools] - Map tools made by wrtl, dlh, voodoo and kyle put together in one place by ed.
----
+
** [http://ctwf.club/maptools/ellipse.php Ellipse Maker]
===  Saving the map===
+
** [http://ctwf.club/maptools/svg2aamap.php SVG2AAMap] — Convert SVG documents to aamaps. See [[http://forums.armagetronad.net/viewtopic.php?t=6311 aaforums:6311]].
----
+
** [https://ctwf.club/maptools/mapgen.php Race Map Generators]
 +
** Other Tools that may be useful.
  
====where are the maps i downloaded ====
+
* [http://durf.cf/tools/MapEditor/2.5/ Durf's 2D Map Editor] — A graphical web application which allows you to create maps.
*Windows Vista - C:\Users\Username\AppData\Roaming\Armagetron
 
*Windows XP -C:\Documents and settings\Username\Application Data\Armagetron
 
  
====      Where do I need to save it====
+
* [http://durf.cf/tools/3DMapEditor/3.3.3/ Durf's 3D Map Editor] — Same as the 2D map editor, only this one uses WebGL!
*Linux - /usr/share/games/armagetronad/resource/included/<b>author</b>/<b>category</b>
 
*Windows - C:\Program Files\Armagetron Advanced\resource\included\<b>author</b>\<b>category</b>
 
*Mac OS X - Armagetron Advanced.app/Contents/Resources/resource/included/<b>author</b>/<b>category</b>
 
  
in your code there are setting that you set and must mach up when you sove the code.
+
* [https://lightron.org/maze/ Light's Maze Generator]
  
<small>Here is the section of the code that relates to this</small>
+
* [http://vectron.armanelgtron.tk/ Vectron] — Allows you to create maps on the web.
<code>
 
<Resource type="aamap" name="name" version="0.0.0" author="<b>author</b>"
 
category="<b>fortress</b>">
 
</code>
 
*in the <b>author</b> spot rememer to put the exact name of the author from the code.
 
*in the <b>category</b> spot rememer to put the exact name of the category from the code.
 
----
 
  
====      What do I need to title it====
+
* Wik's tools
<small>Here is the section of the code that relates to this</small>
+
** [http://wikinger.bplaced.net/armaauth/mountainrim.php Mountain rim generator]
<code>
+
** [http://wikinger.bplaced.net/armaauth/svg2aamap.php SVG2AAmap] — Converts SVG images to AAmap.
<Resource type="<b>aamap</b>" name="<b>name</b>" version="<b>0.0.0</b>" author="author"
 
category="fortress">
 
</code>
 
you simply save it as
 
  
    <b>name</b>-<b>version</b>.<b>type</b>.xml
+
<!--Links Broken
  
for this one it would be
+
* [http://generalconsumption.org/armagetronad/ellipse-maker/ Ellipse Maker]
    name-0.0.0.aamap.xml
+
* [http://generalconsumption.org/armagetronad/svg2aamap/ SVG2AAMap] — Convert SVG documents to aamaps. See [[http://forums.armagetronad.net/viewtopic.php?t=6311 aaforums:6311]].-->
----
 
  
===What do I need in my map===
+
== Viewing Maps ==
----
+
When used in conjunction with a text editor, these are powerful tools to help make maps.  In fact, the output of this pages can be considered required information if you want any server administrator to use your map on their server.
====Settings====
 
All the setting they you may set will be shown on a separate page
 
 
 
I am currently working on this secion
 
 
 
Here is a complete list of [[Map settings]]
 
----
 
 
 
====Axes====
 
<small> This section of the code relates to this</small>
 
<code>
 
  <World>
 
    <Field>
 
    <B><Axes number="4"/></B>
 
    &#60;!--Your field layout goes here-->
 
    </Field>
 
  </World>
 
  </Map>
 
</Resource>
 
</code>
 
The number 4 represents the number of directions in which you can turn. 4 is the default value for this.
 
----
 
 
 
====Spawn's or Starting Position====
 
<small> This section of the code relates to this</small>
 
<code>
 
  <World>
 
    <Field>
 
    <Axes number="4"/>
 
    <B><Spawn x="700" y="1100" xdir="0" ydir="1"/></B>
 
    <B><Spawn x="700" y="300" xdir="0" ydir="1"/></B>
 
    &#60;!--Your field layout goes here-->
 
    </Field>
 
  </World>
 
  </Map>
 
  </Resource>
 
</code>
 
In the spawn
 
*the x and y refers to the coordinates (x,y) where the team starts.
 
*the xdir and ydir tell what way that you are facing
 
**Instead of the xdir and ydir you can put in angle="<B>degrees</B>" where <B>degrees</B> is in degrees starting from the positive x direction.
 
*Each spawn creates a new starting position
 
 
 
Also, when you make levels that have just two spawn points, multiple cycles will be created at them in game if more then two people join. This can be useful when making team maps (such as ones for the CT Wild Server), as you only have to make two spawn points instead of 14
 
----
 
 
 
====Wall's====
 
<small> This section of the code relates to this</small>
 
<code>
 
  <World>
 
    <Field>
 
    <Axes number="4"/>
 
    <Spawn x="700" y="1100" xdir="0" ydir="1"/>
 
    <Spawn x="700" y="300" xdir="0" ydir="1"/>
 
    &#60;!--Your field layout goes here-->
 
    <b><Wall></b>
 
    <B><Point x="0" y="0"/></b>
 
    <B><Point x="1400" y="0"/></b>
 
    <B><Point x="1400" y="1400"/></b>
 
    <B><Point x="0" y="1400"/></b>
 
    <B><Point x="0" y="0"/></b>
 
    <b></Wall></b>
 
    </Field>
 
  </World>
 
  </Map>
 
</Resource>
 
</code>
 
 
 
This is the code for a wall surrounding the level, which prevents players from going on to infinity. Your level MUST have at least this type of wall, for it to be classified as a level.
 
 
 
NOTE:If you want a square (four sided shape) you must specify 5 wall points. If you want a 6-sided shape, then you must specify 7 wall points.
 
 
 
If you want to use Circles go to [http://generalconsumption.org/armagetron/ General Consumption]. That site also works good with any polygon you just need to declare you segments. you also may have to adjust the start and end angle for some maps
 
----
 
 
 
====Zone's====
 
<small> This section of the code relates to this</small>
 
<code>
 
  <World>
 
    <Field>
 
    <Axes number="4"/>
 
    <Spawn x="700" y="1100" xdir="0" ydir="1"/>
 
    <Spawn x="700" y="300" xdir="0" ydir="1"/>
 
    &#60;!--Your field layout goes here-->
 
    <Wall>
 
    <Point x="0" y="0"
 
    <Point x="1400" y="0"
 
    <Point x="1400" y="1400"
 
    <Point x="0" y="1400"
 
    <Point x="0" y="0"
 
    </Wall>
 
    <B><Zone effect="fortress"></B>
 
    <B><ShapeCircle radius="20"></B>
 
    <B><Point x="700" y="300" /></B>
 
    <B></ShapeCircle></B>
 
    <B></Zone></B>
 
    <B><Zone effect="fortress"></B>
 
    <B><ShapeCircle radius="20"></B>
 
    <B><Point x="700" y="1100" /></B>
 
    <B></ShapeCircle></B>
 
    <B></Zone></B>
 
    </Field>
 
  </World>
 
  </Map>
 
</Resource>
 
</code>
 
 
 
Above is the method of creating conquest zones for a fortress map. As well as these, you can also create deathzones and winzones:
 
 
 
<B>Deathzone Code</B>
 
<code>
 
    <Zone effect="death">
 
    <ShapeCircle radius="10">
 
    <Point x="700" y="700"/>
 
    </ShapeCircle>
 
    </Zone>
 
</code>
 
 
 
<B>Winzone Code</B>
 
<code>
 
    <Zone effect="win">
 
    <ShapeCircle radius="5">
 
    <Point x="700" y="700"/>
 
    </ShapeCircle>
 
    </Zone>
 
</code>
 
 
 
If you wish to tamper with the zone effects, change the [[Map settings]]
 
----
 
 
 
==What your final map code should look like==
 
 
 
This section is about what your final coding should look like, so you can double check before you test your map.
 
 
 
 
 
===Free-for-all===
 
<code>
 
  <World>
 
    <Field>
 
    <Axes number="4"/>
 
    <Spawn x="200" y="100" xdir="0" ydir="1"/>
 
    <Spawn x="200" y="300" xdir="0" ydir="-1"/>
 
    &#60;!--Your field layout goes here-->
 
    <Wall>
 
    <Point x="0" y="0"/>
 
    <Point x="400" y="0"/>
 
    <Point x="400" y="400"/>
 
    <Point x="0" y="400"/>
 
    <Point x="0" y="0"/>
 
    </Wall>
 
    </Field>
 
  </World>
 
  </Map>
 
</Resource>
 
</code>
 
 
 
This format will have two sets of opponants (even though it is still free-for-all) facing each other like so:
 
 
 
****insert a pic Ed****
 
 
 
The level stats are:
 
Size: 400x400
 
Axes:4
 
----
 
 
 
===Fortress===
 
<code>
 
  <World>
 
    <Field>
 
    <Axes number="4"/>
 
    <Spawn x="200" y="100" xdir="0" ydir="1"/>
 
    <Spawn x="200" y="300" xdir="0" ydir="-1"/>
 
    &#60;!--Your field layout goes here-->
 
    <Wall>
 
    <Point x="0" y="0"/>
 
    <Point x="400" y="0"/>
 
    <Point x="400" y="400"/>
 
    <Point x="0" y="400"/>
 
    <Point x="0" y="0"/>
 
    </Wall>
 
    <Zone effect="fortress">
 
    <ShapeCircle radius="20">
 
    <Point x="200" y="100" />
 
    </ShapeCircle>
 
    </Zone>
 
    <Zone effect="fortress">
 
    <ShapeCircle radius="20">
 
    <Point x="200" y="100" />
 
    </ShapeCircle>
 
    </Zone>
 
    </Field>
 
  </World>
 
  </Map>
 
</Resource>
 
</code>
 
----
 
 
 
==How to Test your map:==
 
[[Map Testing]]
 
----
 
 
 
==Commands:==
 
This is a [[Map settings]] link to the page where we have set up a list of commands (or settings as they are more usually known) that you can add to your map to make it more effective
 
----
 
 
 
==Examples==
 
The following are examples of the codes and pictures of each of the <i>other</i> two main types of maps
 
----
 
===Free-for-all map with walls===
 
This is a map that is a free for all melee, but it has some neat obsicles that you may want to avoid, like the four triangles in the middle
 
====Code====
 
<code>
 
  <World>
 
    <Field>
 
    <Axes number="4"/>
 
    <Spawn x="200" y="50" xdir="0" ydir="1"/>
 
    <Spawn x="200" y="350" xdir="0" ydir="-1"/>
 
    &#60;!--Your field layout goes here-->
 
    <Wall>
 
    <Point x="0" y="0"/>
 
    <Point x="400" y="0"/>
 
    <Point x="400" y="400"/>
 
    <Point x="0" y="400"/>
 
    <Point x="0" y="0"/>
 
    </Wall>
 
    <Wall>
 
    <Point x="175" y="100"/>
 
    <Point x="100" y="175"/>
 
    <Point x="175" y="175"/>
 
    <Point x="175" y="100"/>
 
    </Wall>
 
    <Wall>
 
    <Point x="225" y="100"/>
 
    <Point x="300" y="175"/>
 
    <Point x="225" y="175"/>
 
    <Point x="225" y="100"/>
 
    <Wall>
 
    <Point x="175" y="300"/>
 
    <Point x="100" y="225"/>
 
    <Point x="175" y="225"/>
 
    <Point x="175" y="300"/>
 
    </Wall>
 
    <Wall>
 
    <Point x="225" y="300"/>
 
    <Point x="300" y="225"/>
 
    <Point x="225" y="225"/>
 
    <Point x="225" y="300"/>
 
    </Wall>
 
    </Wall>
 
    </Field>
 
  </World>
 
  </Map>
 
</Resource>
 
</code>
 
 
 
 
 
----
 
 
 
===Fortress map with walls===
 
This is a map that incorporates two fortress zones per team, one of each teams is in the middle, forming a sumo. There are some walls and side entrances to allow some sneaky attacking and defending.
 
====Code====
 
<code>
 
  <World>
 
    <Field>
 
    <Axes number="4"/>
 
    <Spawn x="102" y="40" xdir="0" ydir="1" />
 
    <Spawn x="98" y="360" xdir="0" ydir="-1" />
 
    <Wall>
 
    <Point x="0" y="0" />
 
    <Point x="200" y="0" />
 
    <Point x="200" y="400" />
 
    <Point x="0" y="400" />
 
    <Point x="0" y="0" />
 
    </Wall>
 
    <Wall>
 
    <Point x="0" y="200" />
 
    <Point x="65" y="200" />
 
    </Wall>
 
    <Wall>
 
    <Point x="135" y="200" />
 
    <Point x="200" y="200" />
 
    </Wall>
 
    <Wall>
 
    <Point x="65" y="240" />
 
    <Point x="65" y="160" />
 
    </Wall>
 
    <Wall>
 
    <Point x="135" y="240" />
 
    <Point x="135" y="160" />
 
    </Wall>
 
    <Zone effect="fortress">
 
    <ShapeCircle radius="30">
 
    <Point x="100" y="40" />
 
    </ShapeCircle>
 
    </Zone>
 
    <Zone effect="fortress">
 
    <ShapeCircle radius="30">
 
    <Point x="100" y="360" />
 
    </ShapeCircle>
 
    </Zone>
 
    <Zone effect="fortress">
 
    <ShapeCircle radius="35">
 
    <Point x="100" y="200" />
 
    </ShapeCircle>
 
    </Zone>
 
    <Zone effect="fortress">
 
    <ShapeCircle radius="35">
 
    <Point x="100" y="200" />
 
    </ShapeCircle>
 
    </Zone>
 
    </Field>
 
  </World>
 
  </Map>
 
</Resource>
 
</code>
 
 
 
 
 
==other resources==
 
There are ways to make maps, and there are ways to make maps.
 
== Making Maps ==
 
  
There are a number of resources available to help you make maps right now and start using them.
+
[http://wikinger.bplaced.net/armaauth/mappreviewer.php AAmap to PNG/SVG] — This tool reads your map and returns a image of the map.
  
=== By Hand ===
+
[http://crazy-tronners.com/maptools/map-preview.php Map Previewer] — Nemostultae made a neat little web application that renders a map to a picture right in your browser.
 
 
==== [[Making Maps by Hand]] ====
 
 
 
This is the only supported way to make maps right now. It is a tutorial that is created by the Map Master himself and hopefully maintained by him (with everyone's help).  It is your first and best resource to what exactly goes into a map, how to put it there, and how it works in the game. Even if you choose to use a graphical map maker, you still need to read this, so consider it required reading.
 
 
 
==== [[Experimental Map Features]] ====
 
 
 
These are features that are either in development or only available in a non-stable release.  Use at your own risk!
 
 
 
=== [[Acme]] ===
 
 
 
Acme is a currently experimental mostly-doesn't-work graphical map editor that's in Armagetron Advanced's cvs.  If you'd like to fool with it, go to this page and read about it, but be warned, it mostly doesn't work.
 
 
 
=== [[ArmaBell's MapEditor]] ===
 
 
 
ArmaBell's MapEditor is a currently experimental graphical Win32 map editor. If you'd like to fool with it, go to this page and read about it.
 
 
 
== Tools and Generators ==
 
* [http://generalconsumption.org/armagetron/circle/ Circle Generator]
 
 
 
== Viewing Maps ==
 
  
[http://www.generalconsumption.org/armagetron/map-preview/ Map Previewer]
+
[http://durf.cf/tools/2DMapViewer/0.1.1/ 2D Map Viewer] — This is a canvas-based web application that renders a map in your browser made by Durf.
  
Nemostultae made a neat little web application that renders a map to a picture right in your browser.  When used in conjunction with a text editor, it is a powerful tool to help make maps.  In fact, the output of this page is currently considered required information if you want any server administrator to use your map on his server.
+
[http://durf.cf/3d/ 3D AAmap Previewer] — WebGL-based 3D map viewer, also by Durf.
  
 
== [[Playing Maps]] ==
 
== [[Playing Maps]] ==
  
 
So you've made your killer map, now how do you play it?
 
So you've made your killer map, now how do you play it?

Revision as of 20:01, 23 February 2019

Here are some ways to make maps that you can play in Armagetron Advanced.

Tutorials

A beginners tutorial

This is an alternative tutorial written by kyle and syllabear that's more intended for beginners who haven't dealt with XML before. It basically contains duplicate information as the page below, so for technical matters Making Maps by Hand should be consulted.

The complete description of the map format

This is the only supported way to make maps right now. It is a tutorial that is created by the Map Master himself and hopefully maintained by him (with everyone's help). It is your first and best resource to what exactly goes into a map, how to put it there, and how it works in the game. Even if you choose to use a graphical map maker, you still need to read this, so consider it required reading.

Tools and Generators

  • Acme — Acme is a currently experimental mostly-doesn't-work graphical map editor that's in Armagetron Advanced's cvs. If you'd like to fool with it, go to this page and read about it, but be warned, it mostly doesn't work.
  • ArmaBell's MapEditor — ArmaBell's MapEditor is a currently experimental graphical Win32 map editor. If you'd like to fool with it, go to this page and read about it.
  • Vectron — Allows you to create maps on the web.


Viewing Maps

When used in conjunction with a text editor, these are powerful tools to help make maps. In fact, the output of this pages can be considered required information if you want any server administrator to use your map on their server.

AAmap to PNG/SVG — This tool reads your map and returns a image of the map.

Map Previewer — Nemostultae made a neat little web application that renders a map to a picture right in your browser.

2D Map Viewer — This is a canvas-based web application that renders a map in your browser made by Durf.

3D AAmap Previewer — WebGL-based 3D map viewer, also by Durf.

Playing Maps

So you've made your killer map, now how do you play it?