In this chapter, we’ll go over all the programs I use for modding, either for data mods or graphical ones, and how the structure of a mod looks like and what each file is for.
Programs
Let’s start with the programs you need in order to create mods:
- Advanced Genie Editor. Or AGE. The main program, the one you use to access the data files and modify units and technologies. To use this program, you can download it from Age of Kings Heaven or, if you have Definitive Edition installed, access it inside the ``AoE2DE'' folder, in a folder called ``Tools\_Builds''.
- Turtle Pack. A program to visualize .slp files (graphic files) and .drs files (compressed files with mostly .slp files inside).
- SLX Studio. A program to create graphics, modify DE graphic files and create .slp files from them. It also includes some functionalities like color replace, resizing, format change…
- SMX Workshop A program to port the new .sld graphics into .smx ones. It also requires installing Java Run Enviroment.
- DRS merger. A program created by katsuie to merge several .slp files into a .drs file. Useful to change lots of graphics at once.
- Text Editor, like notepad, in order to modify language files, map scripts and AI files.
- Image Editor, like Paint or GIMP. Graphics are all bit maps and you'll need one of these in case you need to modify some of the graphics.
Mod structure
Inside your AoE 2 folder there’s a folder called "Voobly Mods/AOC". Inside you can find three folders: one for data mods, that modify the game, one for local mods, that includes visual, map or AI mods, and one for patches. We focus here on the data mods, touching briefly into local mods as we go along.
The structure of a mod (data or local) is as follows:
The structure of a mod (data or local) is as follows:
- Data. Folder with the main data files:
- empires2_x1_p1.dat: the master file with the code of the game that you access through AGE.
- gamedata_x1.drs: compressed file with the original (common in 1.6) map scripts and ids of the game elements for map scripts to know what to place. Access it with Turtle Pack.
- gamedata_x1_p1.drs: compressed file with graphics and sounds. Access it with Turtle Pack.
- drs. Folder to store graphics and sounds without adding them to gamedata_x1_p1.drs. More on this in the next section.
- History. Text files with historical information about the civilizations. Not relevant for the gameplay.
- SaveGame. Where recordings of your single and multiplayer games are stored and where you should store the ones you download in order to replay them.
- Scenario. Where custom scenario files are stored.
- Screenshots. You can take full screenshots of the map by pressing Ctrl+F12 or by using the PrtScn key. Either way, the game stores them here.
- Script.Ai. Folder with the Artificial Intelligence files. I’m no expert in AI but I can give you a basic idea of how AIs are implemented:
- Every AI needs a .ai file with its name, that’s the file that allows the AI to be selected in game.
- The basic code of the AI is stored in a .per file with the same name as the .ai file. You can read this file with a text editor.
- Additionally, AIs can separate the code into smaller files and store it in a folder. This is done for convenience when working on it but has no impact in the game.
- Inside gamedata_x1.drs there is a file where you can control the AI that is loaded when selecting "computer". This way you can have a default AI for the mod.
- Script.Rm. Folder with the map scripts that appear in the Custom maps section. Maps are stored in .rms files that you can open with a text editor.
- Sound. Stores music files, mainly:
- music.m3u. Soundtrack you hear while playing. You can open it with a text editorand will see the paths to the music files. These paths can point anywhere in the computer.
- stream. Civilization themes you hear when selecting one.
- Scenario. Dialog files from the campaings. They come with WololoKingdoms but are of no use outside scenarios.
- Taunt. Audio taunts that you play in the game, such as 1 (yes), 2 (no) or 11 (laugh).
- age2_x1.xml. File listing the civilizations with an id, their audio theme and their scout unit. There are some other relevant values in it that we’ll mention in a future section.
- language.ini. Language file that you can read with a text editor. Every text string you see inthe game has a number attached to it. The language file lists all the number with the corresponding string. Having different versions of this file with translated text is all you need to play the game in a different language.
- Player.nfz. File to have player profiles in the game and store the last configuration of thegame (map, population, size...).
- player1.hki. Hotkeys file. If you have several profiles in the single player menu, you willhave several of these files but this one is the main one you use in multiplayer.
- version.ini. A text file containing the version of the mod so that Voobly checks that all theplayers have the same one and prevents crashes. This file is mandatory so that Voobly lists the folder as a mod.
Except for the version file, none of these files need to be present for the mod to work. The difference between a data and a local mod lies in whether they change something inside the "data" folder, whose contents should be the same for all players in the game.
Priorities when loading files
As many of the files of mods are replacements of already existing files in the original game, Voobly follows the following rule, from top priority to lowest:
- Files inside a local mod. Within the local mods folder, Voobly loads them in alphabetical order.
- Files inside the "drs" folder of the data mod.
- Files inside the gamedata_x1_p1.drs folder of the data mod.
- Original files in the AoE2/Data folder of the game.
This happens for graphics or sounds of units but a similar process occurs for music, AI or map files. Local mods have top priority loading, followed by the data mod and last the original files.
Merging several local mods
The amount of local mods you can load at the same time is limited but, if you understand how mods are structured, you can combine several of them into a single one.
Take for example mods that are not updated, like your preferred trees and grid mod. By what we saw above, those two mods have a “drs” folder with the modified graphics. Therefore, you can simply copy the contents of one into the other and use only the combined one.
Take for example mods that are not updated, like your preferred trees and grid mod. By what we saw above, those two mods have a “drs” folder with the modified graphics. Therefore, you can simply copy the contents of one into the other and use only the combined one.
Last edited by a moderator: