Customizing the game
Often people ask how to install a moviepack, how you make your cycle color different from your tail's, etc. Read on if you want to know how.
- 1 Moviepacks
- 2 Installing a new model
- 3 Customizing default textures
- 4 Cycle Colors
- 5 Chat Colors
Installing a Moviepack
Moviepacks are packages that completely change the look of the game. the floor, the walls, the cycles, everything. Nowadays, you can download many from different places around the net; for pointers, consult the Moviepacks list. They usually come in a ZIP file containing a moviepack folder. This folder goes into your armagetron advanced installation or user configuration directory:
Default armagetron advanced installation folder
Windows: C:\Program Files\Armagetron Advanced\
Unix/Linux: /usr/local/share/games/armagetronad/ or /usr/share/games/armagetronad/
Mac OS X: None. The game is self contained and may be installed anywhere.
Default armagetron advanced configuration folder. Note that you have to enable viewing hidden files to see some directories.
Windows 2000/XP: C:\Documents and Settings\[Username]\Application Data\Armagetron
Windows Vista: C:\Users\[Username]\AppData\Roaming\Armagetron
Mac OS X: ~/Library/Application Support/Armagetron Advanced
TODO: put folder locations in a single wiki entry and validate
The armagetron installation and configuration paths should be somewhere else on the wiki, too
this means that the moviepack you installed is not complete, i.e. Armagetron Advanced looks for files that are not present in the moviepack. The easiest way around this is to first install the original moviepack (get the ZIP) and install the moviepack you actually want on top of it.
In Unix based Operating Systems, where file case is important, sometimes a texture doesn't display even though it appears to be installed correctly. to correct this, manually change the case of the file to suit. In particular, upper case extensions can cause problems. ie, change filename.JPG to filename.jpg and it will probably be OK. If settings.cfg is partially or completely capitalized, no textures will load even if they are properly capitalized. You should inform the author of the moviepack of the problem so he can fix it.
Installing a new model
In your Armagetron Advanced moviepack directory (see above) locate bike.png and cycle.ase and replace with the new ones. It is important to note that there must be an existing moviepack installed to single update to a new model.
Customizing default textures
Installing a different default texture
ArmagetronAd allows to change textures of the floor, the walls, the cycles and the sky. All textures are contained in the "textures" folder. Textures are images displayed during the game. For exmaple the image on the outer wall can be changed by exchanging the rim_wall.png file. Instead of replacing any texture files, you should rename the original file and then copy the new one into the folder. Now you have a backup available if you want to restore the original.
Where to find those textures ?
Windows: C:\Program Files\Armagetron Advanced\
Mac OS X: ~/Library/Application Support/Armagetron Advanced/
Simply drag a moviepack folder to this location. Folder must be named "moviepack" only (no extensions or numbers).
'TODO: put folder locations in a single wiki entry and validate'
Which file is what ?
rim_wall.png = texture for the outer walls
sky.png = texture for the lower sky (the upper sky uses the floor*.png)
floor.png = single textured floor (and upper sky)
floor_a.png, floor_b.png = dual textured floor
bike.png = cycle's texture
Creating a new texture
Creating a texture is as simple as making an image and saving it as described above. For the best results, follow these guidelines:
The size of OpenGL's standard 2D textures must be a power of two. If the size of an image isn't, the game (or more accurately, GLU) will scale it to the nearest power of two before sending it to OpenGL, resulting in lower quality. Powers of two include:
- 2^0 = 1
- 2^1 = 2
- 2^2 = 4
- 2^3 = 8
- 2^4 = 16
- 2^5 = 32
- 2^6 = 64
- 2^7 = 128
- 2^8 = 256
- 2^9 = 512
- 2^10 = 1024
- 2^11 = 2048
Note that a texture need not be square; 512x64 textures are fine.
Use transparency wisely
There are several things to keep in mind when using transparent textures:
- Because of to the way OpenGL prevents background objects from drawing over foreground objects, it might not be possible to see everything through a transparent texture.
- Colors will bleed from neighboring texels (texture pixels) if both color and transparency are different. An exception to this is the cycle texture, which is preprocessed by the game and has no transparency in the end.
The basics of cycle color
First you have to understand how computers understand colors. In armagetron, colors are saved with three values: the red, green and blue (R, G and B) parts. Each of these three so-called RGB values can hold a number from 0 to 15 - 0 means none and 15 means as much as possible. A few examples:
r 15, g 0, b 0 : strong red r 0, g 15, b 0 : strong green r 0, g 0, b 15 : strong blue r 8, g 0, b 0 : darker red
you can also combine the colours (follows the same rules as when you combine red,green and blue light):
r 15 g 0 b 15 : strong pink r 0 g 15 b 10 : strong cyan r 15 g 15 b 0 : yellow r 15 g 8 b 0 : orange (less green => more red than yellow)
you get the gist. So how do you set these colours ? you can set them via the player setup menu, but if you want to have different cycle and trail colours, you have to use the Console. The commands are
color_r_1 X # set red component of the 1st player's cycle to X color_g_1 Y # set green component of the 1st player's cycle to Y color_b_1 Z # set blue component of the 1st player's cycle to Z
The best way to learn how to write the colour you want is to experiment a bit.
Different Cycle and trail colors
Remember me saying that the colors were saved as numbers between 0 and 15 ? Well, that was not entirely true. If you set a color to a value over 15, the trail part is set to 15 and the cycle is (usually) set to the actual value minus 16. For example:
r 16 g 16 b 0 : yellow tail (r 15 g 15) and black bike (16 - 16 = 0)
higher numbers can give you multi-colored trails. Again, experiment.
For an exact explanation, see elaborate color explanation.
Developer's note: this behavior of the game is technically a bug and is officially unsupported. It is tolerated, though, because it's fun :) But some servers, especially team play servers where your color is no mere decoration, will clamp your color settings to 15 and this trick does not work.
If you want to use different colors when chatting you have to use a different syntax for colors. For example if you want to say a text in red you would enter (at the chat prompt):
0xff0000 this appears in red
note that this is all zeroes (not o's), so zero-xff-zero-zero-zero-zero. This is important since it won't work otherwise.
The first two digits after the "0x" indicate the red part of the color, the two digits after that the green one and the two last ones the blue part. They signify numbers from 00 to ff (0 to 255) written in hex (base 16); people who ever used color codes in HTML or CSS will be familiar with this. Only lowercase letters are accepted in the code.
A few different two- letter combos are as follows:
- ff: works like 15 in the bike color
- ee: like 14
- dd: 13
- cc: 12
- bb: 11
- aa: 10
- 99: 9
- 88: 8
- 00: 0
Note that you can use different hex numbers like in 0xab1234 which lets you chose your color more exactly, but in most cases you won't need this. If you are so paranoid that you think you need exactly your shade of pink feel free to read the article Bases on this.
Other combos to get you started are:
0x00ff00 this is green 0x0000ff this is blue 0xff8800 this is orange 0xffffff this is white 0xffff88 this appears in the normal chat yellow (no change)
Developer's note: these color codes were not intended for use by the players; the choice of 0x as intro string was a bit unfortunate. Some servers will filter away your codes, so do your testing in a local game. Since it was not intended for use, no thought was given on usability, and for example upper case codes are not accepted. So use 0xff0000 for red, not 0xFF0000. And don't be angry about future unannounced changes to the format.