You must be logged in to post messages.
Please login or register

AI, RMS Scripting, and Modding
Moderated by Yeebaagooon, TAG

Hop to:    
Welcome! You are not logged in. Please Login or Register.20 replies
Age of Mythology Heaven » Forums » AI, RMS Scripting, and Modding » Mysteries of AoM Game Data i.e. Modding Mysteries
Topic Subject:Mysteries of AoM Game Data i.e. Modding Mysteries
posted 03 June 2018 08:40 PM EDT (US)         
This is a list of unanswered questions or things I just haven't had time to test. I'm posting this in the hopes that other people will add their own mysteries or, better yet, that they know the answers to some of these. I have also included a list of discoveries I made while resolving items on the mystery list that I felt were mildly interesting/useful enough to warrant inclusion. I use AoMEE but I'm sure some of these will apply to other versions of AoM.


- Pre-placement = what you see in the editor when you have selected an object to place, but haven't placed it on the terrain yet, it is often different from the placed object in several interesting ways


- Why do some embellishments appear invisible or black when another of the same object has been placed and is visible on-screen?

- Why do some objects with animated UV maps appear animated during pre-placement but static when placed?

- Can large radius meshes be rendered far outside the terrain even if the DCL radius is small? Can the DCL radius ever extend outside the terrain?

- How many mipmap levels does EE use and is this number adjustable?

- Is it possible to make the alpha channel in icons be used for player color instead of transparency?

- The file sfx g lighting scorch.dcl has a lightmap tag, what does it do?

- Why are some models exported with AMP visibly darker than others? Android provides this picture.

(this probably has to do with faulty normals, unifying the normals can cause this to happen)

- Is there a way to tune the degree of transparency using the RenderAfterWater proto flag?

- Do special attacks work against units that carry the VisibleOwnerOnly flag?

- What proto tags make or allow the bored animations to play?

- How do idletimeout and boredtimeout tags work? They seem to be a sort of “population average” timer so that all units don’t play at the same time, but it's not an uncertainty range, because some units do play at the same time, and it doesn’t respect the time at which the units were placed in the editor.

- Which proto flag caps the carry capacity of units that autogather like herd animals?

- How do the probabilistic params in ranged attack actions work? Specifically: Accuracy (how many shots are uncertain?), AccuracyReductionFactor, AimBonus, MaxSpread, SpreadFactor, TrackRating

- Why do some terrain textures have black lines on them (not at seams)?

- What the heck is going on when you delete the surface texture in waterbodies.xml or set the surface texture to another, correctly sized terrain texture?

- Is the Servant using his ExperienceUnit tag?

Mysterious Proto Tags

What do these proto tags do? They are not listed in Warrior Mario's guide.

- DoppleOnlyWhenDead (possibly displays alive state under fog if unit is actually dead)

- MutateDopples (possibly displays the pre-transformation object under fog if a transformation has occurred)

- DontSortAlphaPolys (theoretically should cull polys with 0 value in the texture's alpha channel but that doesn't seem to be what happens?)

- NonAutoFormedUnit

- DontRotateObstruction

- NoIdleActions

- AdjustPositionOnTerrainCollision (used by projectiles, how does the game know how to orient the mesh in the terrain?)

- DoNotCreateUnitGroupAutomatically

- ValidateResourceInventory

- DoNotValidateResourceInventory


- DCLs can use 4- and 8-bit alpha in the BTI but it only makes a difference during pre-placement, once placed, they exhibit the degree of partial transparency found in the TGA’s alpha channel even if the BTI is set to alpha=0 or 1, in effect, the DCL only uses the BTI during editor pre-placement, once placed it uses some default of 4 or 8

- Units with the VisibleOwnerOnly flag can attack enemies but cannot themselves be attacked, they can be detected by idle enemy military units who will walk to the last known location where an invisible unit attacked an allied object and then stand there, when the invisible unit attacks an enemy military unit, the enemy unit bugs out attempting to perform an attack animation but failing

- The doppled proto flag makes a unit visible under fog

- The last VariationLogic hotspot in an anim file is always used as the first variation placed in the editor

- Icons can be made transparent with alpha channel in the TGA, they can be partially transparent if the alpha is grey scale regardless of the BTI file (BTI is not used)

- The BoredTimeOut proto tag controls time until bored animations play, the tag isn’t used in the proto but all units that play bored animations have BoredTimeOut of ~20-30 game seconds by default

- Using curly brackets in the editor calls a number from en-language.txt, example {70001} for any text entry in player data, triggers, objectives, etc. (this is probably obvious for scenario designers)

- Removing a cliff terrain type from terraintypes.xml causes the cliff to use the highest entry in terraintypes.xml for the cliff face, i.e. GrassA (or GrassB if GrassA is also removed)

- There is a hard limit of 255 (8-bit byte) for the number of terrains that can be defined for each type in terraintypes.xml

- Models colored only with ambient and diffuse material colors (and no diffuse map textures) will show up colored in TT but black in EE

- In EE, units show up on the water surface during pre-placement, in TT, they show up underwater

- Proto units with 0 obstruction radius are not deleted by water placement (credits to Order of Azarath)

- If the vertical screen height is 1,024 (default), then there will be a box with that dimension and parts of buttons that fall outside that range (even if your screen is wider), can only be double clicked and not single clicked, this can be fixed by extending the resolution in the UI file

For attack actions, the damage per hit (DPH) is adjusted by the game so that the damage per second (DPS) specified in the proto remains constant. This is described by the formula:

DPH = DPS * (1 - armor) * (animation length) * (anim length multiplier)

- Particle effects don’t render against the sky box, they only render against the terrain, BRGs, and GRNs

- In EE, objects without materials appear white during pre-placement and black when placed.

- The terrain uses a continuous, smooth curve for normal vectors, this can be seen by bringing an object carrying the OrientWithGround flag near to a sharp terrain edge as in this picture.

- the proto tag "Tech" is a leftover from the alpha, it is still functional but is overwritten by button positions specified in the techtree (thanks LightningStorm)

- Terrain names can include spaces unless you want them to have a custom blend. Custom blends defined at the end of blends.txt will only work for single words so you must use _ if you want the terrain name to look like multiple words.

- HeighBonusMultiplier only takes effect when the relative difference in elevation between the units is >=3.23 meters. The multiplier does not depend on the relative elevation beyond or within this limit, the HeightBonusMultiplier uses a Boolean test with the 3.23 limit, there is no malus for units that are 3.23m below their targets, there is only a bonus for units 3.23m above their target.

- NotSearchable prevents proto units from being recognized by triggers (thanks Izalith & Lewonas)

[This message has been edited by Callistonian (edited 07-16-2018 @ 08:41 PM).]

(id: Lilitu)
posted 04 June 2018 00:26 AM EDT (US)     1 / 20       
Asking for how to activate the bored-anims: Does the boared-anim not work if such is specified in the anim? Maybe that has something to do with the "NoIdleActions" Tag.
- Which proto flag caps the carry capacity of units that autogather like herd animals?

<carrycapacity resourcetype="Food">300.0000</carrycapacity>
<initialresource resourcetype="Food">50.0000</initialresource>

Some interesting questions there. Also some I don't understand, mainly graphics related ones.

On the workings of ranged weapons/aiming I found some post from a developer:
But I'll ask in the Meta-Plays forum about that again. I think Hagrit knows what the values actually stand for.
Asked here:

Azarath Metrion Zinthos

Steam: Order of Azarath

[This message has been edited by Izalith (edited 06-04-2018 @ 00:42 AM).]

posted 04 June 2018 00:54 AM EDT (US)     2 / 20       
Thanks for the reply.

I was at one point trying to get the wandering animals in AoM to play their bored animations. Almost all of the animals in AoM and aoe3 have bored animations but we never see them (they are even defined in the anims). My first thought was that the units were wandering before bored could play. So I removed wander but they still won't play their bored animations. I replaced deer's proto data with hoplite and it played its bored animation. Conclusion: somewhere between the data for hoplite and deer are some tags that allow bored animations to play.

I have tried capping carry capacity with a carry capacity line. Unfortunately, it's not that simple. I have some whale units that wander around the map and can be fished for gold. The idea was to start them off with some small amount then have them autogather to some capacity. They can be fished by multiple boats at once so the idea was to strategically not overfish them. Unfortunately, the whales keep autogathering gold forever and ever even with a carry capacity line. So somewhere between pig and whale there are proto flags that allow carry capacity to work.

I have read that post by the great DeathShrimp himself. Unfortunately, he doesn't give numbers and that's really where the mystery is. His post does reveal that there aren't a finite number of "misses" at the start of each attack cycle, it actually depends on the accuracy param. He tells us what TrackRating does but not how it works. It will require some testing, but I feel like there are threads on this topic somewhere on AoMH.
posted 04 June 2018 03:37 AM EDT (US)     3 / 20       
I think this means that it can't be found in the editor lists
AdjustPositionOnTerrainCollision (possibly used by projectiles to stick to ground?)
Building unittype allows units to train other units
Check the pharoah for the ForceBuildingData(or something similar) flag. It allows things other than buildings to train units.

We cannot rely on luck to be successful.
(id: TheBronyKing11)
posted 04 June 2018 04:42 AM EDT (US)     4 / 20       
NotPlayerPlaceable is the tag that doesn't allow a unit to be in the editor units list.

Lead Designer and Producer of Age of Mythology's biggest mod compilation:
posted 04 June 2018 04:43 AM EDT (US)     5 / 20       
I think this means that it can't be found in the editor lists
Nope, that's NotPlayerPlaceable. NotSearchable does not have that effect.
Check the pharoah for the ForceBuildingData
Awesome, thanks for the suggestion. It does do this and without the negative consequences of having your unit targeted as a building.
Lone Wolf
(id: SirThobus)
posted 18 June 2018 11:02 PM EDT (US)     6 / 20       
Long time no see people.

I love that this old gem of a game is still being explored, and old mysteries unraveled!

Quite some time ago I made a discovery that I'm trying to recreate:

Iirc, when you have a scenario with a certain water type, then edit that waterbody in waterbodies.xml, if done "correctly", the water becomes invisible, effectively allowing naval and amphibious units to "float" in the air where there would have been a body of water.

Is this old news maybe? Or is it of interest to anyone? Just thought it would be fun to add, though I still haven't successfully repeated the effect yet.

UPDATE: Found out how to do it - in this case I made a new waterbody, copied from "Red Sea", and named it "Test Sea". Painted some of it on a map, saved, then quit the game. Then I removed everything but the name, so it's essentially just (ocean name="Test Sea" iconname="" surface="") and so on. Below you can see a screenshot of what it looks like:

Oh yeah and as you can see this is EE, not sure if the effect will be the same on TT.

Sometimes I like to take screenshots. But only sometimes.

[This message has been edited by Xzaander (edited 06-18-2018 @ 11:28 PM).]

posted 20 June 2018 01:46 PM EDT (US)     7 / 20       
@Xzaander - That's a very interesting result but I can't seem to reproduce it. Could you post your code from waterbodies2.0.xml before and after? And is that the only file you edited?
Lone Wolf
(id: SirThobus)
posted 20 June 2018 05:31 PM EDT (US)     8 / 20       
Yup, waterbodies is the only file edited. I discovered that the only thing you actually need to remove is the "surface" definition.

But still, here's before:

<ocean name="Test Sea" iconname="ui\red sea 64" surface="water" bottom="ShorelineRedSeaA" bank="ShorelineRedSeaB" outerbank="ShorelineRedSeaC" color="25 80 170" depth="4.0">
<texture distance="10.0">ShorelineRedSeaA</texture>
<texture distance="14.0">coralD</texture>
<texture distance="18.0">coralE</texture>
<texture distance="24.0">coralF</texture>
<texture distance="26.0">black</texture>

And here's after:

<ocean name="Test Sea" iconname="ui\red sea 64" surface="" bottom="ShorelineRedSeaA" bank="ShorelineRedSeaB" outerbank="ShorelineRedSeaC" color="25 80 170" depth="4.0">
<texture distance="10.0">ShorelineRedSeaA</texture>
<texture distance="14.0">coralD</texture>
<texture distance="18.0">coralE</texture>
<texture distance="24.0">coralF</texture>
<texture distance="26.0">black</texture>

I think the order in which things are done is of importance here.
1.) Open "waterbodies2.0.xml"
2.) Make a new waterbody, I suggest copying an existing one and making it the last waterbody.
3.) Rename it to whatever you like. Save waterbodies2.0.xml.
4.) Open the game, go into the editor and find your new waterbody. Use the "Paint Water" tool to paint some.
5.) Save the scenario, name it whatever you want. Exit the game.
6.) Open the edited waterbodies2.0.xml again, and remove "water" from the "surface="water" definition. Save.
7.) Open the game again, go into the editor, load your scenario. The water should now be invisible.

If it still doesn't work, I don't have any clue as to why.

Sometimes I like to take screenshots. But only sometimes.
(id: Lilitu)
posted 23 June 2018 06:01 PM EDT (US)     9 / 20       
I found out that the Condition "Player Unit Count" is not working on some of the units. Lampades Blood, Scarab Blood and the Hero Death are not triggering it, no matter the player number.
trPlayerUnitCountSpecific(%PlayerID%, "%ProtoUnit%") > 0

They got this part in common:
<bountyfactor resourcetype="Favor">1.0000</bountyfactor>
<decay delay="0.0000" duration="1.0000"></decay>


I believe "NotSearchable" to be the culprit.

Azarath Metrion Zinthos

Steam: Order of Azarath
posted 24 June 2018 05:14 AM EDT (US)     10 / 20       
Izalith is correct, units with the NotSearchable tag cannot be picked up by trigger commands (such as units in area, distance to unit, player unit count, etc.).

What are the key ingredients to make a popular RPG? To find out, read the results of the RPG survey.
Want to create an advanced patrol/pathfinding system? Have a look at the powerful Pathfinding triggers.
Games I'm playing: The Witness [80%] Chivalry: Medieval Warfare [20%]
posted 30 June 2018 10:56 AM EDT (US)     11 / 20       
I can't remember it for shure but I think units with 0 obstruction radius can also walk through cliffs even if they are only defined as land units.

Objects appear invisible inside the mapeditor if one places them after a rescale into new added areas. But after a playtest they show up correctly.

Why are fly animations not controlled by anim files?
They take over most of the stuff that is defined but e.g. switch back to different textures every time when they get send flying.

Btw: Will it possibly be possible to edit prototags like UseAlternativLightning in future?
posted 04 July 2018 04:00 PM EDT (US)     12 / 20       
What do icons "icon class ..." in the game?

[This message has been edited by Yiome (edited 07-04-2018 @ 04:03 PM).]

(id: TheBronyKing11)
posted 05 July 2018 02:06 AM EDT (US)     13 / 20       
During the development of Age of Mythology, Ensemble Studios went through several UI (User Interfaces) aswell as many features within them.

Originally the User Interface of the Late 2001-Late 2002 builds (August to January, possibly even March?) aswell as the earlier UI originally had a system/feature where the unittype (or Class), of a unit would be represented as icons on the left side of the stat panel (icon, name, etc) it would also show what it was mostly good against (slingers, hippikons, etc would show the anti archer icon. Deer, caribous, etc would show the harmless animal, so on)

The file "icons.xml" reveals this:
<?xml version="1.0" encoding="UTF-8"?>

<icondata icon="icons\Icon Class Civilian">This is a villager. Villagers can build and gather resources. </icondata>
<icondata icon="icons\Icon Class Infantry">This is an Infantry Unit. </icondata>
<icondata icon="icons\Icon Class Cavalry">This is a Cavalry Unit</icondata>
<icondata icon="icons\Icon Class Archery">This is an Archer.</icondata>
<icondata icon="icons\Icon Class Building">This is a building.</icondata>
<icondata icon="icons\Icon Class Dangerous Animal">This is a dangerous animal.</icondata>
<icondata icon="icons\Icon Class Harmless Animal">This is a harmless animal.</icondata>
<icondata icon="icons\Icon Class Monster">This is a Myth Unit.</icondata>
<icondata icon="icons\Icon Class Anti Infantry">This unit is effective at killing Infantry Units.</icondata>
<icondata icon="icons\Icon Class Anti Archery">This unit is effective at killing Archery Units.</icondata>
<icondata icon="icons\Icon Class Anti Building">This unit is effective at knocking down buildings.</icondata>
<icondata icon="icons\Icon Class Anti Cavalry">This unit is effective at killing Cavalry Units.</icondata>
<icondata icon="icons\Icon Class Anti Monster">This unit is effective at killing Myth Units.</icondata>
<icondata icon="icons\god symbol zeus icon" techname="Age 1 Zeus" position="1">Focus on infantry and heroes. Zeus grants stronger infantry</icondata>
<icondata icon="icons\god symbol hades icon" techname="Age 1 Hades" position="1">Focus on archers and buildings. Hades grants a trickle of Gold.</icondata>
<icondata icon="icons\god symbol poseidon icon" techname="Age 1 Poseidon" position="1">Focus on cavalry. Poseidon grants cheaper cavalry and better trade.</icondata>
<icondata icon="icons\god symbol hermes icon" techname="Age 2 Hermes" position="2">Hermes has granted increased line of sight for your buildings.</icondata>
<icondata icon="icons\god symbol ares icon" techname="Age 2 Ares" position="2">Ares has granted decreased cost for your military buildings.</icondata>
<icondata icon="icons\god symbol athena icon" techname="Age 2 Athena" position="2">Athena has granted a bonus to your Heroes against enemy Myth Units.</icondata>
<icondata icon="icons\god symbol aphrodite icon" techname="Age 3 Aphrodite" position="3">Aphrodite has granted increased speed to your Villagers.</icondata>
<icondata icon="icons\god symbol dionysos icon" techname="Age 3 Dionysos" position="3">Dionysos has granted strength to your Cavalry.</icondata>
<icondata icon="icons\god symbol apollo icon" techname="Age 3 Apollo" position="3">Apollo has granted increased attack to your Archers.</icondata>
<icondata icon="icons\god symbol artemis icon" techname="Age 4 Artemis" position="4">Artemis has granted decreased cost for your Archers.</icondata>
<icondata icon="icons\god symbol hera icon" techname="Age 4 Hera" position="4">Hera has granted speed and attack for your archers.</icondata>
<icondata icon="icons\god symbol hephaestus icon" techname="Age 4 Hephaestus" position="4">Hephaestus has granted better armor for your soldiers.</icondata>
<icondata icon="icons\god symbol isis icon" techname="Age 1 Isis" position="1">Focus on infantry. Isis grants cheap improvements and a full tech tree.</icondata>
<icondata icon="icons\god symbol ra icon" techname="Age 1 Ra" position="1">Focus on chariots. Ra grants stronger chariots and Pharaohs.</icondata>
<icondata icon="icons\god symbol set icon" techname="Age 1 Set" position="1">Focus on archers. Set grants the ability to convert wild animals with Priests and Pharaohs. </icondata>
<icondata icon="icons\god symbol anubis icon" techname="Age 2 Anubis" position="2">Anubis has granted increased speed to your Anubites. </icondata>
<icondata icon="icons\god symbol bast icon" techname="Age 2 Bast" position="2">Bast has granted you an increased population cap. </icondata>
<icondata icon="icons\god symbol ptah icon" techname="Age 2 Ptah" position="2">Ptah has granted increased attack to your counter units. </icondata>
<icondata icon="icons\god symbol hathor icon" techname="Age 3 Hathor" position="3">Hathor has granted free goats for you to eat. Nummy Goats.</icondata>
<icondata icon="icons\god symbol nephthys icon" techname="Age 3 Nephthys" position="3">Nephthys has granted faster gold income. </icondata>
<icondata icon="icons\god symbol sekhmet icon" techname="Age 3 Sekhmet" position="3">Sekhmet has granted cheaper archer improvements.</icondata>
<icondata icon="icons\god symbol horus icon" techname="Age 4 Horus" position="4">Horus has granted cheaper Spearmen and Axemen.</icondata>
<icondata icon="icons\god symbol osiris icon" techname="Age 4 Osiris" position="4">Osiris has granted you new Gold Mines.</icondata>
<icondata icon="icons\god symbol thoth icon" techname="Age 4 Thoth" position="4">Thoth has granted increased Favor generation.</icondata>
<icondata icon="icons\god symbol loki icon" techname="Age 1 Loki" position="1">Focus on Myth Units. Loki grants cheaper Myth Units.</icondata>
<icondata icon="icons\god symbol odin icon" techname="Age 1 Odin" position="1">Focus on the Hill Fort. Odin grants Ravens to gather knowledge of your surroundings.</icondata>
<icondata icon="icons\god symbol thor icon" techname="Age 1 Thor" position="1">Focus on the Longhouse. Thor grants faster-training infantry.</icondata>
<icondata icon="icons\god symbol forseti icon" techname="Age 2 Forseti" position="2">Forseti has granted increased speed to your lumberjacks.</icondata>
<icondata icon="icons\god symbol heimdall icon" techname="Age 2 Heimdall" position="2">Heimdall has granted increased line of sight for your units.</icondata>
<icondata icon="icons\god symbol freyja icon" techname="Age 2 Freyja" position="2">Freyja has granted stronger Hersir.</icondata>
<icondata icon="icons\god symbol bragi icon" techname="Age 3 Bragi" position="3">Bragi has granted free Villagers to help you build your empire! Use them wisely, Mortal.</icondata>
<icondata icon="icons\god symbol njord icon" techname="Age 3 Njord" position="3">Njord has granted better Dwarves. They now gather and train faster.</icondata>
<icondata icon="icons\god symbol frigg icon" techname="Age 3 Frigg" position="3">Frigg has granted cheaper farms.</icondata>
<icondata icon="icons\god symbol hel icon" techname="Age 4 Hel" position="4">Hel has granted lower population for your Myth Units.</icondata>
<icondata icon="icons\god symbol baldr icon" techname="Age 4 Baldr" position="4">Baldr has granted stronger Town Centers.</icondata>
<icondata icon="icons\god symbol tyr icon" techname="Age 4 Tyr" position="4">Tyr has granted stronger Ulfsarks.</icondata>

I guess you COULD theoretically bring it back (btw, alot of those missing/non-existent icons are probably hiding in the MP Alpha, but I'm not sure)

Lead Designer and Producer of Age of Mythology's biggest mod compilation:
posted 05 July 2018 04:38 PM EDT (US)     14 / 20       
@XLightningStormL. It would be great to add that feature again.
(id: Lilitu)
posted 09 July 2018 03:40 PM EDT (US)     15 / 20       
In some AoM Editor Twitch Stream (thatwriteryouknow) I learned that:

- Rocks align to the surface, but Cinematic Rocks do not.
- The falling direction of the tree probably depends on the rotation of the tree placement. (Though that would mean implosion is rotating trees)

Some other mystery uncovered:
Placing in the editor units like "Excavation" and "Trojan Horse" show up as the foundation:
By normal placement there is no variation allowed to place those units as an excavated sword / fully build horse. However using Copy&Paste on the units allows you to place the fully constructed variant ignoring that flag (more or less, I think they still start at 1 HP).

Azarath Metrion Zinthos

Steam: Order of Azarath
posted 10 July 2018 07:25 AM EDT (US)     16 / 20       
According to the orientation data of units it looks like they're usually placed rotated 180 degrees on the y axis. I can remember someone (I think Lewonas?) stating something about this a long time ago but not sure if I remember it correctly.

We cannot rely on luck to be successful.
(id: Lilitu)
posted 15 July 2018 09:22 PM EDT (US)     17 / 20       
Why does the servant have the ExperienceUnit-flag? The only other units are Skylla and Hydra. So is the Servant secretly getting stronger? o_o

Azarath Metrion Zinthos

Steam: Order of Azarath
posted 20 July 2018 05:51 AM EDT (US)     18 / 20       
He does! You can simply try this by letting him kill a couple of fishing ships and then fight against another servant.

// Boost for Hydra (or in fact every unit with the ExperienceUnit-flag)
experienceMaxDamageBonus 2.0
experienceKillCap 12.0
(id: TheBronyKing11)
posted 20 July 2018 09:48 AM EDT (US)     19 / 20       
Funny thing is, I assume there is likely some sort of greater flexibility in the Unit Experience, especially considering that originally the Norse (at least around the Late Alpha/May-August 2001 period) originally had a feature where they're infantry units would automatically be upgraded into heroes upon gaining a certain amount of "experience".

Lead Designer and Producer of Age of Mythology's biggest mod compilation:

[This message has been edited by XLightningStormL (edited 07-20-2018 @ 09:48 AM).]

posted 20 July 2018 10:21 AM EDT (US)     20 / 20       
Wouldnt it be a nice feature for any unit that they grew stronger the longer they survive in battle? (Of course not as strong as the hydras buff.)
This could definitely increase the importance of a good unit micro...
You must be logged in to post messages.
Please login or register

Hop to:    

Age of Mythology Heaven | HeavenGames