From: Newark, OH
Red Storm: Under the Hood
A glimpse into the inner working of the game engine.
Welcome to Under the Hood. This segment will cover a number of topics related to the actual running of the game engine and also touch on the design decisions made by the team along the way. This is in no way a line by line code breakdown nor will it be a 50,000ft gloss over summary. I want to fly you all in about 5000ft so you can make out relevant details and get a good understanding of what we are trying to achieve. Each posting will cover a different topic and hopefully inspire a few questions and comments. I hope you find it both enlightening and entertaining. Off we go...
2 Hard versus Soft Factors
These are the various values used by the game engine, particularly the combat engine, to resolve almost every action that goes on during game play. They come in various shapes and sizes and some are in editable data files while others are hidden away in the hundreds of thousands lines of code. Let’s look at some of the major factors used in the game.
2.1 What is a Hard Factor?
Hard Factors are probably some of the easiest data types to understand and also acquire for game use. These are known data values for certain items like weapons and platforms (vehicles and aircraft). These values are also constants. They don’t tend to change out of the blue or rely on other factors for their existence. Armor thickness, gun maximum range, crew size, ammo load, time period, special equipment, and dozens of others all fall in this category. These factors relate to hard data and are found in the editable data file in the game.
That is not to say they aren’t manipulated in the game engine. Some definitely change based on situation. For example, the armor penetration of a 125mm gun is set in the game based on its effective range penetration value versus a slab of angled steel plate. That is a hard factor. Fairly well known/estimated based on unclassified information. In the game the actual value for penetration will be based on the range to target, target armor capability, etc. We will discuss this more a bit later.
2.2 What is a Soft Factor?
Soft Factors are on the other end of the spectrum. These tend to be values for certain abilities and functions that are very subjective or widely varying in value. In Red Storm these include values for force behavior. Items like Morale, Readiness, and Training. Not only are these tough to pin down in a global sense, like training level of US forces, they can vary from unit to unit in a large group.
These types of values are typically going to be set by the scenario designer based from the national values in the data files, but adjusted to fit the units and situation. Beyond even that level of variability, some of those factors change dramatically over time during a battle. Weather, movement, losses, and level of enemy presence all contribute to the current state of these values. During the game we will know how hard the 125mm gun will hit at a given range, but if it hits falls on both hard factors of sub-systems and the very fluid soft factors of the unit.
2.3 How are Hard and Soft Factors used in the game?
Let’s take the simple case of a platoon of M1A1s engaging a company of T-80BVs in a game of kinetic tag as the T-80s move over a hill about 3000m away. Right off the bat we have a good number of both types of factors. Looking at the M1A1 platoon in some detail we have all of the hard data for the M1A1 main battle tank itself. Speed, crew number, fire control, stability, sensors, weapons, ammo, special equipment and protection rating values we will use in a number of actions shortly. Let’s add to that the soft factors for the crew. They have as stated above a readiness, morale, and training soft factors. If this is the first action they have seen they may be well rested with high morale. If they have been in early fights the readiness and morale may be down as well as possibly losing subunits. The same factors are in play over on the Russian side of the engagement too.
Now the computer knows where both units are of course, but the players may not see the other depending on the fog of war settings. So in order to see the T-80s, the M1A1s go through a series of routines to check and see if the T-80s are visible. There are a number of hard and soft factors here as well. The weather impacts visual range of not only eyeballs but of special equipment like thermal imagers equipped on the M1s. The time of day also plays a part. If it is night time it is harder to see. Certain equipment has reduced functionality at dawn and dusk (the thermals for starters). Now the game also has to look at the lay of the land. Is line of sight clear of elevation obstructions? Is the line of sight blocked by accumulated hindrance of the terrain or smoke or wrecks? What is the movement state and poster of both units? How many sub-units are in the target unit? Is the target shooting? Wrap all that up with the current soft factor state of our crew and we are finally in a position to just see the target. With all that we may not get a full description of the target or a correct count. War is hell and all.
For the sake of this example we will say the crew is rested and the weather is clear and the thermal sights are working to specification and through the intervening clutter have spotted elements the Soviet tank company cresting the ridge 3000 meters away. On the other side of this game of tag we have the Soviets pushing across the map in order to secure an objective a few kilometers behind the defensive US position. The Soviet crew is a bit fatigued from dashing toward the objects and under the constant threat of a sudden ATGM or sabot round ruining their day. They are looking for an enemy without the aid of thermal imaging but they are getting the same benefit of clear weather and minor intervening obstructions. Unfortunately, the US Platoon is both small in number, not moving, dug in, and waiting. The Soviets keep moving forward unaware that they are “it”.
Hopefully as you read through you started to see all of the various hard and soft factors coming into play within the game engine to arrive at the US platoon spotting the Soviet company. At this point the FPC game engine has made and is making a good number of calculations and checks versus all of the variables to arrive at this state at this time in the game.
The AI commander of the US tank platoon now has a new piece of information to analyze. Even here there are a number of decisions being made based on all of the information we have talked about from above. The tank platoon has to weight staying in place or moving to a better position for itself or to support other friendly forces or objectives, shooting or waiting for a better shot and also waiting to see if it has been spotted either by a sudden laser warning receiver alert or worse the puffs of smoke from Russian cannons or growing lines of smoke from tube launched ATGMs. The new spotting report is also moving up the command chain and may be placed in the queue for an airstrike or artillery barrage if any are on call. Does your head hurt yet? Thankfully the computer grinds all of this information out and provided you as the commander what you need to know.
As we said earlier, all of these hard and soft factors are interdependent and are used in various combinations to achieve the results you will see on the screen. Even though there are many abstractions used in the game engine, we have a high level of detail applied to every major decision or calculation.
More to come!
I've opened another post for questions and comments.
< Message edited by Capn Darwin -- 6/8/2013 5:04:00 AM >
Work on Southern Storm continues! Very busy times right now.
Cap'n Darwin aka Jim Snyder
On Target Simulations LLC