Modding

Get Started

To get started, download our sample containing all the necessary files required:

Unpack the file on your computer and select the bundle.config file when you are creating a new map. The template ZIP contains the default imagery and sound FX that are used when creating a new map.

The template ZIP file contains the following for your convenience:

The template also contains an misc. other resources for your convenience.

Instructions

Please use the in-game editor provided to create new maps. Visit the modding forums for help:

Below the more detailed instructions to modding.

Template

That's the part, that's common to all scenarios, i.e. defines the look of the map. It also defines all the nations that can be used for the scenarios. Before a nation can be used it needs to be defined in the template.

Scenarios

To add/edit use the buttons to the left:

NW+: new scenario
CP+: copy selected scenario
:UP: move scenario up
:DN: move scenario down
DEL: remove a scenario

Scenario modding shouldn't be too hard to figure out? To add nations/teams, they need to be defined beforehand in the template (see above). Then simply add what you need to each scenario.

Image Formats: PNG, JPG, GIF

The editor supports the following image format:

Please only use PNG for flags & icons as it is the only format that supports full alpha-transparency. You can use the other formats however if you prefer. Feel free to use any of the other image formats for the map image. Please note however that GIF & JPG store images in a lossy format, i.e. details are lost. This is not a limitation of the Age of Conquest Editor but a limitation of those image formats themselves. The Age of Conquest Editor converts all images to an internal format in the end, so it does not matter what images you provide.

For details regarding the various image formats see "How-To Geek"'s article What’s the Difference Between JPG, PNG, and GIF?.

Sound & Music

The following sound and music formats are supported:

Mouse & Keyboard

Generally, right-mouse button clicks cancel e.g. province drawing. Use the mouse-wheel to zoom-in. There are no keyboard shortcuts to remember; maybe 'P' is nice to reset the map zoom level.

Map Upload

Once your map is ready, feel free to upload it to the server for others to play. Maps that have been uploaded to the server & are LIVE for other players to play can be updated at any time. However note, due to backwards compatibility, the following map changes are not possible anymore:

Copyrights

All assets provided by us, including but not limited to images, text, sound effects, music, etc. are property of Noble Master Games unless noted otherwise. We give you full permission to create mods for any of our games. You are also free to use imagery and texts provided for blog articles, video blogs and such.

If you are using 3rd party assets, make sure you have permission to use those. If you upload bundles that contain copyrighted content without permission to use, we will reject your submission.

Balancing

Please consider the following suggestions for balancing maps.

General

Those general rules should be followed when placing structures and troops:

Please apply relevant research items to nations, so they do not have to start from scratch.

Ancient Maps

Items should be placed as follows:

Modern Maps

Items should be placed as follows:

Advanced Modding

Advanced instructions on how to edit bundle.config and module.config files. If you dare to edit, please be aware that the config files are very sensitive when it comes to spaces. Do NOT add any extra spaces between variables and such:

bundle.config

The bundle.config (or extra_*.config) file is the entry point that links to corresponding module configuration information that defines the parameters and assets.

module.config

The module.config file is the main entry point to describe bundle content.

Comments in the module.config file have to start on a new line using a hash '#' character to denote a comment. Elements such as sound effects, nations, unit schemas and such can be referenced by their ID-number. The first element has ID-number 1, the second element ID-number 2 and so on. For names or texts that contain spaces ' ' use underscore '_' instead. Instead of “Roman Empire” write “Roman_Empire”. The underscore will be translated to a space internally.

module.config - effect

Lists the sound effects (i.e. unit movement sound, attack sound etc.) to be used in the game.

effect: [name]
    type: [type]
    tune: [file]
effect-end!

Parameters:

module.config - melody

Lists the background music to be played during the game. Several files can be defined which will be played after each other.

melody: [name]
    tune: [file]
melody-end!

Parameters:

module.config - matter

Defines the items available in the game such as Gold, Wood, Iron, Stone and Food. Everything besides “cash” (in most cases named “Gold”) is optional. “cash” is required!

matter: [name] [color]
    type: [type]
    icon: [icon]
matter-end!

Parameters:

module.config - combat

The different combat modalities employed for the various troop types. Examples include “Melee”, “Archer” etc.

combat: [name]
    icon: [icon]
    view: [view]
combat -end!

Parameters:

module.config - nature

Defines the nature tile such as Stone, Soil (for Farmland), Fishgrounds, Construction Ground etc.

Please note that pines, trees, rivers etc. cannot be configured via modules/bundles but are fixed. They all use a fixed color-ID (see LEGEND) when creating maps.

nature: [name]
    type: [type]
    view: [view]
    tune: [tune]
nature-end!

Parameters:

module.config - invent

Lists the research items & traits (i.e. Woodworking, Farming III, Trait Barbarian) to be used in the game.

invent: [name]
    desc: [desc]
    type: [para]
    view: [view]
invent-end!

Parameters:

module.config - estate

Lists the available city/harbor-structures.

estate: [name]
    desc: [desc]
    type: [type]
    view: [view]
estate-end!

Parameters:

module.config - decree

Lists decrees that can be made available in a city/harbor (“civ”).

nation: [name]
    desc: [desc]
    type: [type]
    icon: [icon]
nation-end!

Parameters:

module.config - league

Lists the groups for team-play (i.e. “Roman Alliance”).

nation: [name] [name-plural] [color]
    icon: [icon]
    flag: [flag]
nation-end!

Parameters:

module.config - schema

Lists the available elements (i.e. swordsmen, villages, farms, bridges, etc.) to be used in the game.

schema: [name]
    spec:
        [schema-spec]
    spec-end!
    view:
        [schema-view]
    view-end!
    hear:
        [schema-hear]
    hear-end!
    area:
        [schema-area]
    area-end!
schema-end!

Parameters:

module.config - schema-spec

Describes the components available for a unit. Use a hash '#' to disable components not used.

spec:
    pos: [pos]
    own: [own]
    mov: [mov]
    arm: [arm]
    gen: [gen]
    bin: [bin]
    civ: [civ]
    out: [out]
spec-end!

Parameters:

module.config - schema-view

The schema-view lists all the imagery to be used for troops, settlements, bridges etc. The first parameter right after “view: …” describes what imagery will be provided:

Once the type of imagery is selected, ALL the combinations need to be provided below. If “view: animation direction” was chosen for example, the following items are required. Please note the numbers related to the display-aspect chosen, i.e. the first number relates to “animation” and the second to “direction”.

0-0: IDLE at 0°
0-1: IDLE at 60°
0-2: IDLE at 120°
0-3: IDLE at 180°
0-4: IDLE at 240°
0-5: IDLE at 300°
1-0: MOVEMENT at 0°
1-1: MOVEMENT at 60°
1-2: MOVEMENT at 120°
1-3: MOVEMENT at 180°
1-4: MOVEMENT at 240°
1-5: MOVEMENT at 300°
2-0: BATTLE at 0°
2-1: BATTLE at 60°
2-2: BATTLE at 120°
2-3: BATTLE at 180°
2-4: BATTLE at 240°
2-5: BATTLE at 300°

For each combination the following has been specified:

[image][|[imageCC]] ([dx],[dy],[dB],[dF]) hud([hudL],[hudR],[hudX],[hudY]) bin([binS],[binP],[binY]) [| [anim]]

Key:

Animated Images

To make an animated image, supply a .PNG file will all the animation frames inside that .PNG file. Ditto for static images, you list the image to use, e.g. “nature_wood.png” and then append the animation specifications. Use a “|” as divider as applicable.

The animation is defined as follows. Please insert spaces ' ' exactly as given below. Not adding the spaces as listed below will break the parser. Basically for animations, you list a number of frames to be displayed on the screen. For each frame you can specify how long & where it shall be displayed.

anime-{w}x{h}-forever : {t0}-{t1} ({xs},{ys})=>({xt},{yt}) {dw}x{dh} {blend} : ...

Meaning:

How to restrict troops, e.g. "War Elephants" to only Carthage?

1. module.config: create a new research item. Set the option “buildable” to 'n' to prevent anyone for being able to acquire that trait.

invent(57): Trait_Carthage
  desc: Carthaginian cultural trait.
  type: ... buildable=n ...
  view: ...
invent-end!

2. module.config: assign that trait to Carthage only:

nation(2): Carthage ...
  type: invents=57 ...
  ...
nation-end!

3. module.config: last but not least, restrict the war elephants to be buildable only if that trait is present:

schema(20): War_Elephants ...
  spec:
    ...
    gen: ... needsInvents=57 ...
    ...
  spec-end!
  ...
schema-end!