Total War Modifications
UPDATE: Since 2021 I have been working on a new modification for Rome Total War (Though it will not be released, in part due to licencing, I may release gameplay footage)
I am also looking into the changes in the New Total War: Rome Remastered and learning any changes to the code and will be creating for the modified engine.
"AUC/YYYY"
years ago the city of Rome was founded (
ab urbe condita). The seeds were sown that would grow into one of the largest empires
ever seen, This empire inspired one of the greatest strategy games ever, a game I have been playing, and modifying for years.
My fascination with gaming started with the
Settlers 3 in 1998, and has developed over many different projects,
but my coding life since 2004 has been mostly spent modifying the
Creative Assembly's Total War series.
It started with
Rome Total War, a strategy game based in antiquity. Since then it has led to my modification of many of the games I play,
including
Zoo Tycoon 2,
The Sims and
Other games.
Still to this day do I modify Rome Total War, and some of the more recent releases in the Total War series, like
Total War: Rome II and Total War: Attila.
My most extensive knowledge is in modifying Rome Total War, where I have completely customised my own game, creating extensive expansion on the vanilla gameplay, including new factions,
entirely new rosters, fully reasearched historical events, cities and units in a completely new style for the game.
Rome Total War & Medieval II Total War
Coding:
Almost all files and databases within the game to a custom level
Entire Unit rosters:
Linking of units to a Culture and Voice. UI pictures and UI Text to distinguish units in the campaign and in battles,
along with historical background and expanded statistics. Unit Skins and colouring, matching units to a factional/cultural colour palette and style.
Model Masking using alpha channels and other tricks to make different skins on a model appear differently, for example to vary shield shapes between factions.
Pricing; a fully balanced pricing index to ensure units and factions are correctly balanced. Relationships to other units,
insuring elites stay elite and levies stay as levies in relation. Building recruitment, full balance and multi-building usage of various modes of recruitment.
Formation settings using custom formations and differing skeleton lethalities and other variables to balance and randomise unit performance.
Building trees:
Balancing costs and bonuses, to unsure powerful buildings are costed correctly,
along with shifting focus of the game from trade to agriculture in certain regions. Recreating historical buildings and their in-game bonuses,
for instance, using historical sources and clever coding to enable the Castra Praetoria
ingame to be well balanced yet historically accurate.
Sounds:
Ambient sounds, including battle and campaign sounds. culture specific sounds,
ensuring each culture has its own unique feel and own unique sound. Front end ensuring seamless transition from one type of menu music to another,
this involved extensive use of Audacity and in-game code triggers. Event orientated sounds, insuring events have unique and meaningful sounds to denote their cause and effect.
Usage of variable code to ensure sounds trigger and flow correctly, whilst still maintaining some random triggers to ensure no two plays are the same.
Vegetation:
Ensuring vegetation size, population, amount, climate type, seasonal variation,
campaign and battle map types and locations are accurate and tactical within the game environment.
Battle mechanics:
Basic unit collisions and charge collisions correct to give advantages and disadvantages correctly to each force.
Advanced unit balance, including variables in size, lethality, attack radius, collision masses and power per man. Horse, camel, elephant, chariot and special attack mechanics,
to ensure each type has its own weaknesses and advantages whilst still making "luck" a player in battles. Engine (onager, ballista, repeating ballista, scorpion, lithobolos)
capabilities and usage, including advanced placement and projectile attack, also increasing and decreasing certain advantages and weaknesses of different types. Addon mechanics
(pig, dog, handlers) including extensive usage of certain specialities in game and limitations of other mechanics, Unit statistics and running mechanics, ensuring lightly armoured units
can outrun heavily armoured units, well-drilled soldiers (Knights, Legionaries, Spartan Hoplites) can go for further than levied soldiers (city militias and irregular troops),
and nobody can outrun light cavalry.
Mapping:
An example of the campaign map centred over "Britannia"
Graphics, climates, region ownership, faction capabilities, areas of recruitment,
regional variation, addition of Easter eggs, campaign to battle tile development (ensuring correct landmarks are present in both areas),
implementation of world wonders in battle map and campaign (Pyramids of Giza, Lighthouse of Alexandria, Hanging Gardens of Babylon, Mausoleum at Halicarnassus,
Colossus of Rhodes, Statue of Zeus at Olympus, Temple of Artemis) addition of new wonders and special buildings (Castra Praetoria, Stonehenge)
dynamic change of ingame trade networks and land fertility via usage of buildings, regions and seasons, resource lists and location changing,
plus implementation of different resources and effects.
UI interface adaptation and advice dynamics, including complex scripting.
Graphical work:
An example of updated Parthian units using models and skins from the Total War community.
Including UI (from splash screen to credits, almost all aspects modified)
Model skins (custom colour palettes, historical and gameplay orientated modification and changes to mapped skins,
completely new skins, adaptation of previous skins and usage of skins in new ways on new models and in new environments).
Game mechanics research:
- An extensive knowledge on limitations and coding within the game engine
- Troubleshooting with blind errors
-
Identification of modern limitations on the RTW, BI and ALX engines,
transferable coding and graphics between the three game engines. coding parameters to enable options of BI engine in ALX engine and vice versa
- Implementation of M2TW and RTW coding, graphics, models and other elements within each other
- Adaptation of the plugin code and usage in making buildings and regions unique.
Historical research:
- In depth knowledge of the classical world, Vast and wide range of knowledge from the Iron age through to medieval times.
- Extensive knowledge of ancient rituals, religion and politics, specifically that of the Roman Empire and Roman Republic.
- Extensive knowledge of Roman military traditions and tactics.
- Extensive knowledge of Carthaginian, Ptolemaic, Seleucid, Macedonian, Athenian, Spartan (and other Greek/Diadochi States),
Celtic, Germanic, Briton, Steppe society and military traditions.
- Knowledge of Getae/Dacian, Parthian, Armenian, Persian, Pontic, Berber, and other ancient peoples traditions.
- Knowledge of Medieval Europe, North Africa and Near East Peoples and Military.
- Basic knowledge of some Indo-European languages (both extant and extinct, specifically Latin, Celtic and Ancient Greek) words and usage.
Caesar's DE BELLO GALLICO, Book V. translated into English
Skills learnt:
Expert at coding Rome Total War, and educate others on
fan websites
about coding and how to code certain aspects.
Almost expert at coding Medieval II Total War, and educate others on
fan websites
about coding and how to code certain aspects.
Proficient at
Photoshop, GIMP and other graphical tools to edit mapped skins and graphical parts of the engine.
Basic knowledge of 3D modelling and how to use 3D Modelling in an game environment.
Trouble shooting.
Cheatsheet
Below is a cheatsheet I use for my unit stats in Rome Total War
For example: Tier 4, Heavy Infantry (seasoned) with Gladius, with armour of Reinforced Large Shield, Head, Cheeks, Left Left, Right Leg, Right Arm, Thighs, Mail Shirt.
Attack |
Attack Bonus |
Charge |
Armour |
Shield |
Defence Skill |
Morale |
Additional Notes |
8 |
3 |
3 |
10 |
6 |
12 |
9 |
Armour: (1+1+1+1+1+5) Morale: (8+1) |
Infantry
Type |
Attack |
Charge |
Light |
6 |
2 |
Medium |
8 |
2 |
Heavy |
8 |
3 |
Class |
Attack Bonus |
Defence Skill |
Tier 1 |
0 |
6 |
Tier 2 |
1 |
8 |
Tier 3 |
2 |
10 |
Tier 4 |
3 |
12 |
Tier 5 |
4 |
14 |
Factor |
Attack Bonus |
Charge Bonus |
Defence Skill |
Knife |
-2 |
-50% |
-- |
Hand Weapon |
-- |
-- |
-- |
Spear |
-- |
-- |
-- |
Sarissa |
Set 14 |
Set 1 |
-- |
Sarissa (weak) |
Set 12 |
Set 1 |
-- |
Axe |
1 |
-- |
-3 |
Falcata |
1 |
-- |
-1 |
Falx/2H |
3 |
-- |
-3 |
Unarmoured |
-- |
-- |
+50% |
Old |
-- |
-- |
-2 |
Cavalry
Type |
Attack |
Charge |
Light |
6 |
6 |
Medium |
6 |
8 |
Heavy |
8 |
8 |
Class |
Attack Bonus |
Defence Skill |
Tier 1 |
0 |
6 |
Tier 2 |
1 |
8 |
Tier 3 |
2 |
10 |
Tier 4 |
3 |
12 |
Tier 5 |
4 |
14 |
Factor |
Attack Bonus |
Cavalry Bonus |
Charge Bonus |
Defence |
Knife |
-2 |
-6 |
-2 |
-- |
Hand Weapon |
2 |
-4 |
-1 |
-- |
Spear |
-- |
-- |
+1 |
-- |
Javelin |
-1 |
-2 |
+1 |
-- |
Xyston |
-2 |
+2 |
+3 |
-- |
Kontos |
-2 |
+4 |
+3 |
-- |
Unarmoured |
-- |
-- |
-- |
+50% Skill |
Horse Armour (Cataphract) |
-- |
-- |
-- |
+50% Armour |
Morale
Class |
Morale |
Levy |
6 |
Seasoned |
8 |
Elite |
10 |
Factor |
Bonus |
Heavy Infantry |
1 |
Heavy Cavalry |
2 |
General |
4 |
Armour
Shields |
Shield Value |
Bucklers |
2 |
Small Shields |
3 |
Medium Shields |
4 |
Large Shields |
5 |
Reinforced Large Shields |
6 |
Superior Large Shields |
7 |
Peripheral |
Armour |
Notes |
Head |
1 |
-- |
Cheeks/Neck |
1 |
-- |
Left Leg |
1 |
One of leg armour or greaves can be taken. |
Right Leg |
1 |
One of leg armour or greaves can be taken. |
Greaves |
1 |
One of leg armour or greaves can be taken. |
Left Arm |
1 |
-- |
Right Arm |
1 |
-- |
Thigh |
1 |
-- |
Body Armour |
Armour |
Notes |
Mail Shirt |
5 |
Lorica Hamata, Lorica Plumata |
Scale Shirt |
5 |
Lorica Segmentata, Lorica Squamata |
Cuirass |
4 |
Usually Generals/Elite Early Units |
Linothorax |
3 |
Hardened Leather |
Leather |
2 |
-- |
Pectoral |
4 |
Muscle cuirass |
Factor |
Armour |
Defence Skill |
Weak Melee Shield |
-- |
-50% of Shield |
Cavalry Shield (Rounded) |
-- |
-50% of Shield |
Horse Armour (Balancing) |
≤ Defence Skill |
Adjust |
Other Total War Games
An example of shield values in the Pack File Manager.
Since Empire Total War, the games have been using a newer engine (named Warscape) I am able to modify many aspects of the games,
Empire Total War, Napoleon Total War, Total War: Shogun II, Total War: Rome II & Total War: Attila.
It includes:
- Usage of internal and external programmes including The Total War Assembly Kits,
Pack File Manager (external fan-made application to parse and edit in-game files),
Photoshop, GIMP, Audiokinetic: Wwise, and
Notepad (HTML, XML and some in-game code)
- Troubleshooting compatibility between various modifications.
- Modifying areas of the game to balance better and/or be more historically accurate.
- Modification of various shaders, graphical options and depth of field to develop a greater feel to the game without performance problems.
- Various graphics edited or newly created for use in-game
- Troubleshooting poor and ineffective coding, also removing/reusing legacy coding.
- Various scripting and AI coding.
- ESF editing, to determine various in-game attributes.
- Database editing and mapping of the database.
Back to Top