True LOS - Realistic Battle Distances
Posted: Mon Jul 29, 2019 7:40 am
True LOS - Realistic Battle Distances
Version 1.1
Update 1.1, August 11, 2019, fixes some formation errors More Info
True LOS (Line of Sight) expands 4 to 1 scaled distances to real distances, in proportion to troop sprites and map objects.
All execution distances are affected:
Engagement - musket and artillery ranges, canister implementation distance
Auto Charge - minimum distance from enemy before charge triggers
Auto Retreat - minimum distance from approaching enemy before artillery automatically retreats*
Retreat - distance units retreat
Withdraw - distance units withdraw
Objective Activation Radius
Improved AI Response - AI has more time to react since enemy is further away when receiving AI LOS tactical response data.
In Modifications prioritize "True LOS" in the lowest position. Exceptions are mods with Unitglobal or Drills files. These files must be modified, run and walk speeds in Unitglobal, row and column distances (halved) with custom formations in Drills, to conform with "True LOS" data, and, their mods positioned below "True LOS".
The Bugles & Flags mod is compatible with "True LOS", its custom formations having been included and edited. Prioritize B&F above "True LOS".
ATTENTION...folks not using Bugles & Flags MUST rename or delete the 'gui' file located in the Logistics folder of "True LOS".
Unzip and copy to the Mods folder: Performance Note
Since LOS distances are increased expect more demand on computer performance. To offset this demand and establish better FPS rates adjust 'Max Terrain Draw Distance' to a lower level in 'Options', page 2.
Determining True Distance
Realistic distances were made possible by adjusting the 'UnitPerYard' setting in the Map.ini files (51 map .ini files included, all I could find for now). The original number of '=30' was adjusted to '=62' by the following procedures:
1) the game was started and two infantry opposing units were set so that their engagement range was 100 yards
2) screenshot - center camera between both units wide enough to include the flags of both engaged units
3) open screenshot in Paint.net (or any graphics program that displays pixel measurements)
4) measure the height of an infantry sprite in one of the engaged units
5) measure the distance between engaged units' flags
6) divide height of infantry sprite in half (this establishes how many pixels per yard, figuring sprite height at 6 feet, or two yards), after dividing that number, now representing 1 yard, divide it into the distance between engaged units
7) the goal then (by tweaking the 'UnitPerYard' number) is to get that last divided number (now representing yards) as close to 100 as possible (I went with 90 considering the average height of men of that era was quite a bit under 6 feet - The average man during the American Civil War was around 5'6" or 5'7", according to Wiki)
These seven steps result in a fairly accurate map distance of 100 yards in proportion to the size of troop sprites and map objects; end result setting for the map.ini file: UnitPerYard=62.
Determining Marching (walk) Speed for True Distances
As noted by a recent post by MarkT, for centuries the accepted normal speed of marching infantry is three miles per hour. The following steps established this ‘walk’ speed:
1) edited a ‘move forward’ command on the B&F toolbar to 880 yards (1/2 mile)
2) opened the game and used this command to move 1/2 mile (Kansas map, no movement impediments)
3) based on the 3 miles per hour speed, it takes 10 minutes to walk 1/2 mile, the officer’s journey was timed as so, tweaking the walk speed until the 1/2 mile destination was reached in 10 minutes
4) walk speed was established at 3 using this process
5) all other walk and run speeds in the unitglobal file were based on this established walk speed
The Eureka Moment and Formation Adjustments
This mod evolved from another quest: Finding a path to real distance readouts, primarily, engagement distances, to enable SR1 (1:1 sprite ratio) play that displayed accurate (true) distances. Previous mods that lengthened engagement distances were a bust as far as I was concerned because they only addressed that one fix, all other distance data being ignored, thus inaccurate.
The Eureka Moment came as I discovered 'UnitPerYard=30', and changed it to 'UnitPerYard=90', with Immediate results - ranges were greatly increased, but way too far. Followed up by changing it to 'UnitPerYard=60' and tweaked it from there as discussed above.
However, formations were distorted due to the increased ranges. Fortunately they were fixed by simply reducing all row and column distances by half (multiplying by 0.5). I say simply, but still a long and tedious process since all the individually altered sprite locations within each formation had to be adjusted also. The main row and column adjustments were relatively fast by applying the 0.5 formula to the row and column width columns of the Drills file.
Maps
As mentioned earlier there are 51 modded map.ini files included with this mod. I tried to include every map available for this game. For new maps or maps I missed folks can mod them themselves and include them in this mod in the Maps folder. In these cases please notify through this thread and they’ll be included in a future update.
Note: In the Sandbox map selection window you’ll see two map names of each map when this mod is enabled. Select either map for play, I’ve found no issues by selecting either. Please report any anomalies otherwise.
*Auto Retreat - minimum distance from approaching enemy before artillery automatically retreats
This should address an artillery ‘vulnerability to capture’ issue, making artillery more difficult to capture. The original release of this game allowed artillery to go into retreat mode while limbering, this also made artillery difficult to capture. However, after realistic considerations and negative feedback thereof, an official patch changed this so artillery could be captured while limbering. While making the MP gamers happy, this change made enemy AI artillery easy fodder for capture with SP play, obviously weakening AI effectiveness. Now, with this mod enabled, the longer distances should provide for more escape time for the AI’s artillery, thus making the AI more competitive for SP play.
Conclusion
The short engagement distances have always bugged me. Having been in marching bands and being a marching band director for much of my life I knew that the engagement distance wasn’t even close to the length of a football field and a half plus 10 yds. (160 yards), it looked closer to a third of that. I realize that the game engine was scaled for SR4 play, but that scaling method consequently messed up historic realism placing troops too close during engagements causing an abundance of melees, bunching up of engaged units and the overlapping of line formations. This mod fixes many of these non-historic occurrences along with other distance associated issues, and above all, gives the game, and player, a more historic perspective of how 19th Century battles were actually fought.
Although initially an SR1 quest, I feel this mod could easily replace how folks play SOWGB. Regardless, it’ll at least demonstrate historic 19th Century warfare more accurately…Or, that’s at least its designed purpose.
Now I’ve gotta learn how to build or adapt maps for SR1 play so historic battlefields and battles can be depicted even more realistically, at least up to Division level considering performance limitations of this game engine. This mod appears to open the final door to such future pursuits…
And yes, of course, a Waterloo version of this mod will be in the works soon.
Version 1.1
Update 1.1, August 11, 2019, fixes some formation errors More Info
True LOS (Line of Sight) expands 4 to 1 scaled distances to real distances, in proportion to troop sprites and map objects.
All execution distances are affected:
Engagement - musket and artillery ranges, canister implementation distance
Auto Charge - minimum distance from enemy before charge triggers
Auto Retreat - minimum distance from approaching enemy before artillery automatically retreats*
Retreat - distance units retreat
Withdraw - distance units withdraw
Objective Activation Radius
Improved AI Response - AI has more time to react since enemy is further away when receiving AI LOS tactical response data.
In Modifications prioritize "True LOS" in the lowest position. Exceptions are mods with Unitglobal or Drills files. These files must be modified, run and walk speeds in Unitglobal, row and column distances (halved) with custom formations in Drills, to conform with "True LOS" data, and, their mods positioned below "True LOS".
The Bugles & Flags mod is compatible with "True LOS", its custom formations having been included and edited. Prioritize B&F above "True LOS".
ATTENTION...folks not using Bugles & Flags MUST rename or delete the 'gui' file located in the Logistics folder of "True LOS".
Unzip and copy to the Mods folder: Performance Note
Since LOS distances are increased expect more demand on computer performance. To offset this demand and establish better FPS rates adjust 'Max Terrain Draw Distance' to a lower level in 'Options', page 2.
Determining True Distance
Realistic distances were made possible by adjusting the 'UnitPerYard' setting in the Map.ini files (51 map .ini files included, all I could find for now). The original number of '=30' was adjusted to '=62' by the following procedures:
1) the game was started and two infantry opposing units were set so that their engagement range was 100 yards
2) screenshot - center camera between both units wide enough to include the flags of both engaged units
3) open screenshot in Paint.net (or any graphics program that displays pixel measurements)
4) measure the height of an infantry sprite in one of the engaged units
5) measure the distance between engaged units' flags
6) divide height of infantry sprite in half (this establishes how many pixels per yard, figuring sprite height at 6 feet, or two yards), after dividing that number, now representing 1 yard, divide it into the distance between engaged units
7) the goal then (by tweaking the 'UnitPerYard' number) is to get that last divided number (now representing yards) as close to 100 as possible (I went with 90 considering the average height of men of that era was quite a bit under 6 feet - The average man during the American Civil War was around 5'6" or 5'7", according to Wiki)
These seven steps result in a fairly accurate map distance of 100 yards in proportion to the size of troop sprites and map objects; end result setting for the map.ini file: UnitPerYard=62.
Determining Marching (walk) Speed for True Distances
As noted by a recent post by MarkT, for centuries the accepted normal speed of marching infantry is three miles per hour. The following steps established this ‘walk’ speed:
1) edited a ‘move forward’ command on the B&F toolbar to 880 yards (1/2 mile)
2) opened the game and used this command to move 1/2 mile (Kansas map, no movement impediments)
3) based on the 3 miles per hour speed, it takes 10 minutes to walk 1/2 mile, the officer’s journey was timed as so, tweaking the walk speed until the 1/2 mile destination was reached in 10 minutes
4) walk speed was established at 3 using this process
5) all other walk and run speeds in the unitglobal file were based on this established walk speed
The Eureka Moment and Formation Adjustments
This mod evolved from another quest: Finding a path to real distance readouts, primarily, engagement distances, to enable SR1 (1:1 sprite ratio) play that displayed accurate (true) distances. Previous mods that lengthened engagement distances were a bust as far as I was concerned because they only addressed that one fix, all other distance data being ignored, thus inaccurate.
The Eureka Moment came as I discovered 'UnitPerYard=30', and changed it to 'UnitPerYard=90', with Immediate results - ranges were greatly increased, but way too far. Followed up by changing it to 'UnitPerYard=60' and tweaked it from there as discussed above.
However, formations were distorted due to the increased ranges. Fortunately they were fixed by simply reducing all row and column distances by half (multiplying by 0.5). I say simply, but still a long and tedious process since all the individually altered sprite locations within each formation had to be adjusted also. The main row and column adjustments were relatively fast by applying the 0.5 formula to the row and column width columns of the Drills file.
Maps
As mentioned earlier there are 51 modded map.ini files included with this mod. I tried to include every map available for this game. For new maps or maps I missed folks can mod them themselves and include them in this mod in the Maps folder. In these cases please notify through this thread and they’ll be included in a future update.
Note: In the Sandbox map selection window you’ll see two map names of each map when this mod is enabled. Select either map for play, I’ve found no issues by selecting either. Please report any anomalies otherwise.
*Auto Retreat - minimum distance from approaching enemy before artillery automatically retreats
This should address an artillery ‘vulnerability to capture’ issue, making artillery more difficult to capture. The original release of this game allowed artillery to go into retreat mode while limbering, this also made artillery difficult to capture. However, after realistic considerations and negative feedback thereof, an official patch changed this so artillery could be captured while limbering. While making the MP gamers happy, this change made enemy AI artillery easy fodder for capture with SP play, obviously weakening AI effectiveness. Now, with this mod enabled, the longer distances should provide for more escape time for the AI’s artillery, thus making the AI more competitive for SP play.
Conclusion
The short engagement distances have always bugged me. Having been in marching bands and being a marching band director for much of my life I knew that the engagement distance wasn’t even close to the length of a football field and a half plus 10 yds. (160 yards), it looked closer to a third of that. I realize that the game engine was scaled for SR4 play, but that scaling method consequently messed up historic realism placing troops too close during engagements causing an abundance of melees, bunching up of engaged units and the overlapping of line formations. This mod fixes many of these non-historic occurrences along with other distance associated issues, and above all, gives the game, and player, a more historic perspective of how 19th Century battles were actually fought.
Although initially an SR1 quest, I feel this mod could easily replace how folks play SOWGB. Regardless, it’ll at least demonstrate historic 19th Century warfare more accurately…Or, that’s at least its designed purpose.
Now I’ve gotta learn how to build or adapt maps for SR1 play so historic battlefields and battles can be depicted even more realistically, at least up to Division level considering performance limitations of this game engine. This mod appears to open the final door to such future pursuits…
And yes, of course, a Waterloo version of this mod will be in the works soon.
