Civ 4 Tactical


Feb 2, 2013
Socially distant
Civ 4 Tactical (alpha version)

This is a total conversion mod that changes Civilization IV to a tactical game based on ranged combat.

Help welcomed - see spoiler below for details

It's a chaotic and cluttered mess, for now, but it works! So I'm uploading it in case I don't end up having any time to take it further.

My main focus is on small SDK tweaks that allow Civ4's ranged combat system (which the AI can already use quite well) to be adapted to any type of tactical mod, but specifically ones that involve tanks.

General Overview

  • Realistic simulation of tactical combat from the 1920s forward
  • But still fun to play and balanced
  • And still usable by the AI.
My vision is a mod where players control certain World War II or Cold War forces (like US infantry, German Panzers, British Airborne, etc., replacing normal civs) on a Civ4 map in full conquest mode, trying to eliminate all the other players. This could be used to set up specific battle scenarios, or you could just load in against random opponents in a tactical deathmatch.


Current plans:
Spoiler :

  • To avoid massive tech trees but still allow research and growth during the course of a game, I want to include a tech tree based on types of technology (infantry, tanks, rockets, etc.) and years (1939, 1940, 1950s, etc.). Then every unit in the game will require their specific tech/year combo to be buildable.
  • I will eventually include some sort of Era Limiter mod so that players can stay in World War II if they want.
  • As far as civilization structure, I'm thinking of dividing each nation into their general forces - artillery, tanks, infantry, airborne, etc. - and giving each its own unique play style.
  • I also want to include all the ridiculous prototype tanks/guns/etc. that never saw actual combat because I think they're awesome - but I want to figure out a way for players to exclude those if they wish.
  • To balance gameplay I am planning on limiting all civs to one city, removing tile bonuses to commerce/food/etc., and giving everyone workers that can build improvements that provide 10 food/10 hammers/10 commerce per turn. This way it becomes about what units are built, where units go, and so on rather than where "cities" are located.
  • All the text and graphics will eventually be updated to a tactical military theme.

SDK changes:

Spoiler :

  • Changes to combat mechanics
    • Hitpoints are ignored for calculating the combat strength of a unit. So a 70 strength tank has 70 strength no matter how many times you've shot it. (This allows strength to represent armor.)
    • Ranged combat damage now subtracts RANGE_COMBAT_DAMAGE after doing the calculation. In effect, this means that units with less attacking strength than the target's defense will do zero damage. (This means attacking strength can represent armor penetration or "ability to damage", per se.)
    • Adjusted the AI calculation for valuing a ranged attack so that it actually uses rangeCombatDamage instead of CombatOdds. AI won't shoot you if it can't do damage.
  • Added XML tags
    • All of these go right after "iAirCombatLimit" and are optional, and they go in this order.
    • bCannotAirAttackIfMoved - if set to 1, the unit can only use ranged attacks if it is in the same tile as the end of the last turn. If the unit moves it will not be able to use ranged attacks until next turn. (Useful for MGs, artillery, or even tanks without stabilizers.)
    • bIgnoreLineOfSight - if set to 1, then the unit's ranged strikes don't have to be on tiles it can see; it can target any tile within range.
      • Have not yet figured out how to make the ranged combat interface reflect this.
      • Also, you can't "blind fire" units that are unseen by anyone.
    • iRangedAttackMoves - this replaces the "RANGED_ATTACKS_USE_MOVES" tag in GlobalDefines and defines a certain number of movement the ranged attack uses (60 = 1 game move).
      • If you don't set this to anything then the default is 60 moves or 1 game move. (Hardcoded, sorry.)
      • If you put anything but a whole number the game rounds it down. So movement 60 takes 1 move per shot, movement 59 takes 0.
      • As a side effect, the "RANGED_ATTACKS_USE_MOVES" define now does absolutely nothing.
    • iRangeCombatMinDamage - if this is greater than 0, and the unit can do greater than 0 damage to the target, then it does a minimum of this much damage with each shot.
    • CannotAttackUnitCombats - list tag that encloses unitcombats the unit will not be allowed to attack (either normally or with ranged attacks). Allows having air units that run around on the map alongside regular units who can't attack them.
  • Included Unit Combat Attack Defense Mod, which allows modders to adjust a unit's strength vs. different unitcombats in only attack or only defense.
    • In effect this allows adjusting ranged attacks so that you can do damage when you attack certain units but not others, and those bonuses don't affect your unit when it is attacked. So a sniper with a big bonus against infantry will still be vulnerable to infantry when attacked by them.

One important thing to note - the AI can use ranged combat and seems to use all the new tags. I don't know how smart it is - especially with stuff like bIgnoreLineOfSight - but it does use it all.

Potential SDK changes to come:
Spoiler :

  • Randomized damage
  • I am not happy with Civ4's invisibility system...
  • Some way to deal with unit angling (side armor) - but that's quite an overhaul (would have to teach the AI about angling everywhere)
  • Blind firing
  • Artillery inaccuracy - hitting tiles near your aim but not quite

Spoiler :

  • Spoiler :

Spoiler :

*kine100 - Browning Automatic Rifle, M1 Carbine, M1 Garand, M3 SMG, Thompson SMG and modern versions. Marines M3, M14, Marines M1 Garand, M60, Marines BAR. Inf M14, M16, Inf M60, Rangers M14, Rangers M16.
*Buddy3101 - Springfield
*Dacubz145 - Military Tent (used for supplies and buildings), handheld mortar (modified by clanky4)
*Refar - supply improvements (modified from "post-apocalyptic caravans" - do not appear to be working as buildings right now.)
*Flying pig and Mechaerik - medic
*bernie14 - bazooka infantry

Spoiler :

  • Just ignore the tech tree completely, it's awful.
  • You might get some error messages about Civ4VoteInfos.xml. Just ignore those too. I think I used the vanilla VoteInfos instead of Warlords on accident.
  • The tile selection interface does not understand bIgnoreLineOfSight.
  • The AI still just sends stacks of units flying into your base to get mowed down by whatever riflemen you have on hand. Honestly it's quite boring at the moment. Hopefully that changes when they get tanks.

Interested/want to help?
Spoiler :

I will welcome any help you can give! So far I have just been tweaking the SDK, so the mod's XML and interface are a bit of a mess. If you are able to help with any of the following, I would really appreciate it:
  • Testing - download the mod and try it out! Especially see how the AI does with all the changes.
  • Gathering together art and giving proper credit
  • Interface stuff - colors, text, buttons, and so on
  • Tedious XML stuff (civilizations, tech tree, etc., ping me and I'll give you details)
  • Exposing the new SDK functions to python so that the civilopedia (platypedia) and main interface can be updated. I can do this, but it will take me a long time to get to it.
  • If you are a wicked SDK modder, then tinkering with the AI to make it function more tactically would be really, really helpful. (Or merging in an AI mod of some kind.) I can do SDK, but not very well.
Or, any suggestions, advice, or help you want to give, I'm open to it! I want this to be a mod that's fun for other people to play, not just me :lol:

Top Bottom