I’m Marcus and there is one thing that I think has been driving me crazy for decades. Each time someone says that XCOM: Enemy Unknown “brought back” turn based tactics (which it certainly did) I think they should be pointed towards a title that was effectively addressing the very same issues in 1999. Jagged Alliance 2 not only predicted the direction of tactical combat – it improved upon the systems that would eventually become common place in the genre. Whilst Firaxis is deserving of accolades for bringing the genre back into the public eye if you’re serious about tactical gaming you owe it to yourself to learn how Jagged Alliance 2 addressed problems that XCOM 2012 never quite resolved.
I’ve debugged inventory systems built action point calculations and wrestled with AI pathfinding implementations. Upon examining Jagged Alliance 2’s technical implementation alongside its design decisions I find myself looking at a game that fundamentally understands tactical depth. Although Jagged Alliance 2 sold in excess of 100,000 copies in Germany by October 1999 whilst selling approximately 24,000 in the U.S. by the end of 1999 it clearly demonstrated how narrow the market for tactical gaming was before XCOM came along and popularised the genre.
| Developer | Sir Tech Canada |
| Publisher | TalonSoft |
| Platform | PC Windows |
| Year Published | 1999 |
| Genre | Turn based tactical strategy |
| Players | Single player |
| Our Rating | 10/10 |
Jagged Alliance 2 became a foundational tactical game due to its ability to solve numerous problems that are still being tackled today by developers. The estimated number of copies sold worldwide (150,000 to 500,000) does not accurately represent the total influence that Jagged Alliance 2 has had on every single tactical game that has come after it.
The Only Tactical Game To Get Action Points Right
One of the key aspects of Jagged Alliance 2’s tactical combat was the AP cost associated with each of the mercenaries’ movements and attacks. Unlike modern tactical games Jagged Alliance 2 tracked AP costs for nearly every conceivable action. For example reloading swapping to a new gun opening doors climbing up stairs and even turning to face a different direction all had AP costs associated with them. The reason that modern tactical games typically reduce this to “move and shoot” is that programming this level of granularity into a game is extremely difficult from a programming standpoint.
Sir Tech accomplished this task through the inclusion of an interrupt system in Jagged Alliance 2. Instead of using simple overwatch mechanics Jagged Alliance 2 allowed players to interrupt enemy actions based on their relative AP pools and situational awareness. For example if a player had a larger AP pool remaining than an enemy who moved into his/her line of sight he/she could potentially interrupt that enemy’s action and take a shot. However the calculation included such factors as stance weapon readiness and whether the character was currently aiming at the sector.
In terms of tactical gameplay positioning was no longer simply about finding cover and seeing the enemy. It was now about maintaining initiative through AP management. As a result players began to intentionally position their mercenaries with specific AP counts in strategic areas knowing exactly how many AP they would require to interrupt specific enemy actions. The maths behind this system was complicated enough that few modern games attempt to implement anything similar.
Additionally the AP system in Jagged Alliance 2 had to account for weapon swap times reload animations and movement penalties depending on the terrain type. Each weapon in the game had unique AP costs for firing at different modes (e.g. semi automatic burst fire full auto) based on the specific characteristics of that particular weapon. Therefore the code had to track not only the current AP count for each character but also the projected AP costs for each queued action in order for players to plan and execute complex multi action turns.
What was truly impressive was that the AP system performed smoothly on 1999 era hardware. To accomplish this the development team had to optimise the AP calculations to manage dozens of potential active characters perform real time interrupt cheques and update AI pathfinding.
Inventory Systems Beyond Equipment Slots
The inventory system in Jagged Alliance 2 went well beyond the typical limitations of equipment slots and weight limits. Nearly every piece of equipment had a condition rating that would deteriorate as it was used and as it received combat damage. Jamming frequency increased as condition decreased armour provided less protection as it was damaged and medical supplies had limited uses before they became useless. This was not simply busywork; it provided players with genuine strategic decisions regarding resource allocation and equipment priority.
Technically speaking the condition system was implemented across hundreds of unique items. Each weapon had unique jam probability calculations based on its current condition ammunition type and usage history. The code tracked the condition of individual components (i.e. a rifle’s barrel firing mechanism and stock could degrade at different rates based on how the player utilised the weapon). Burst fire caused more wear to the firing mechanism whilst environmental damage affected different components differently.
The ammunition system added additional complexity. Different rounds had varying armour penetration values damage multipliers and accuracy modifiers. For example hollow point rounds devastated unarmoured targets but bounced off military grade armour. Armour piercing rounds penetrated protection but dealt less tissue damage. Ballistic calculations took into consideration the length of the barrel range to the target and target protection in determining actual damage values.
To engineer a system that tracked so much data without overwhelming the player with too much information required significant design decisions. The inventory screen needed to display condition ratings compatibility warnings and performance statistics in addition to being easily navigable during combat. The development team addressed this issue through contextual display of relevant information and smart sorting algorithms that prioritised relevant information based on the current situation.
The medical system deserves special attention as it integrated seamlessly with the inventory system. Different types of injuries required specific treatment approaches (i.e. bandaging bleeding wounds administering morphine for shock performing surgery on serious wounds). Each medic had a success rate based on their skills for each procedure and attempting treatment above the medic’s skill level could actually worsen injuries. The code tracked multiple injury states per body part per character and updated status effects and performance penalties in real time.
AI Behaviour That Remains Impressive Today
The enemy AI in Jagged Alliance 2 employed decision trees that many modern games have not been able to surpass. Rather than employing simple aggression states or scripted responses the AI analysed tactical situations using weighted probability matrices. Enemies would suppress player positions whilst other enemies flanked retreat when outnumbered and even conduct coordinated retreats when faced with superior firepower.
A major technical challenge in developing the AI was having to calculate paths for multiple units simultaneously whilst avoiding predictable movement patterns. The decision making code analysed the quality of cover sightlines effectiveness of the weapon at the current range and ammunition conservation. Enemies would not waste automatic fire at long range nor expose themselves unnecessarily when low on health.
The suppression mechanics were also highly sophisticated. AI units understood that sustained fire could pin down player mercenaries even without scoring hits limiting their movement options and creating opportunities for flanking manoeuvres. The code calculated suppression effects based on weapon type rate of fire and proximity to impact points. Suppressed characters suffered reduced accuracy and AP costs for movement creating legitimate tactical pressure.
Another impressive aspect was how the AI adapted to player tactics. The AI tracked player behaviour patterns and adjusted its own strategies accordingly. If players consistently utilised the same overwatch positions enemies would attempt to avoid those sight lines or employ indirect methods of attacking. If players preferred long range engagements enemies would attempt to close the distance using cover and smoke grenades.
The pathfinding algorithms had to solve complex multi unit coordination problems in real time. Moving a group of enemy units from point A to point B whilst maintaining formation avoiding player sight lines and positioning for effective firing solutions required advanced spatial reasoning. That this was accomplished smoothly on Pentium II processors speaks to significant code optimisation.
Strategic Layer Integration That Many Modern Games Lack
The strategic map in Jagged Alliance 2 was not merely a mission selector but a fully integrated campaign layer where every tactical decision had lasting implications. Control of territory affected income generation training of militia units affected defensive capabilities and degradation of equipment necessitated resource management decisions that would impact future engagements.
The economic system tracked multiple resource flows simultaneously. Income generated from mines depended on the loyalty ratings of the mercenaries operating them which varied based on the mercenaries’ behaviour and tactical decisions. Hiring costs equipment expenses and medical bills placed a real budget constraint on players that influenced their tactical decisions. Players could not simply throw money at the problem and expect to succeed because resource constraints dictated efficiency.
What is technologically impressive is how seamlessly the strategic and tactical layers interacted. Purchases made on the strategic map showed up in the mercenaries’ inventory screens. Injuries sustained in combat would affect the mercenaries’ performance until properly treated. Territory control would influence enemy patrol routes and reinforcements. The data persistence across these two disparate game modes required careful database management and synchronisation of state information.
The militia system offered a strategic dimension that is largely ignored by modern tactical games. Training civilians to fight required time investment and resource allocation but properly trained militia could independently defend territories. Calculations for the AI to simulate militia combat required simulating tactical encounters without player input tracking casualties equipment lost and changes to territory control.
Why It Matters In 2024
You can play Jagged Alliance 2 today through the Gold Pack release which combined the base game with the Unfinished Business expansion released in 2000. The Gold Pack is available on Steam and will run reasonably well on modern systems although the interface will look dated.
Most importantly understanding the design decisions behind Jagged Alliance 2 allows you to appreciate what modern tactical games achieve and where they fall short. XCOM: Enemy Unknown simplified many of the systems that Jagged Alliance 2 approached with greater depth sacrificing complexity for accessibility. Both philosophies have value and recognising the technical and design prowess of Sir Tech’s creation offers context for evaluating modern efforts.
Modders continue to keep Jagged Alliance 2 relevant with projects such as 1.13 which overhaul existing systems whilst preserving the core mechanics. The fact that these modifications are possible speaks to the solidity of the original engine and the design structure of the code.
An Engineering Achievement That Continues To Inspire
From a developer’s perspective reviewing Jagged Alliance 2 in light of its engineering achievements it is clear that the number of complex systems that worked seamlessly together is unmatched in modern games. The action point calculations inventory management AI decision making and strategic layer all required sophisticated programming solutions. The fact that the game ran reliably on late 90s hardware and maintained tactical depth speaks to the discipline of the engineering effort.
Every tactical game since Jagged Alliance 2 owes some debt to the innovations introduced by the original. The template it set (i.e. detailed character progression equipment management territorial control and turn based combat with real time elements) continues to influence modern tactical games. When XCOM: Enemy Unknown revived the genre it essentially updated systems that Jagged Alliance 2 had already mastered.
That is why this game deserves to be recognised beyond nostalgia. It represents a pinnacle of tactical design and technical implementation that modern games continue to draw inspiration from. Understanding what Sir Tech achieved helps appreciate how far the genre has evolved and which innovations we have sadly abandoned. Jagged Alliance 2 may have done XCOM: Enemy Unknown before it; in many ways it did XCOM: Enemy Unknown better than XCOM has yet to do.
Marcus is a retired software engineer from Seattle who spent his career debugging games before the industry transformed beyond recognition. He writes with technical precision about the engineering elegance behind classics, from Z80 assembly language to Mode 7 scaling tricks, treating code like archaeological artifacts worthy of study. His articles are deep dives into why certain games pushed their hardware to breaking points, paired with the dry humor of someone who’s actually shipped titles and understands the impossible constraints developers faced. For readers interested in the “how” behind their favorite games, Marcus is essential reading.

0 Comments