Customize a Technics File

From SEOW Wiki
Jump to navigation Jump to search

There is much discussion in IL-2 communities about the importance of flight models in air simulation. Flight models are clearly critical factors and they need to be good to ensure credible combat results and flight experience. In SEOW, we do much more than just air operations, so the issue of ground war fidelity is equally as important. The Technics file (actually named technics.ini) presents a relatively simple interface to the behavioural data for ground objects. From SEOW v6 onwards, the SEOW Mission Planner provides a simple tool for displaying, analyzing and editing Technics files.


Why edit a Technics file?

Technics files are internal game configuration files that pre-determine behaviours associated with ground objects (mobile and stationary). Parameters such as armour thickness, movement speed, shooting range and many others are found in the Technics file. The stock Technics file provided by IL-2 contains values that are reasonably sensible defaults for many common IL-2 scenarios, however there are choices inherent in the parameter values that do not make sense for some combat situations, plus there are some simple typographical errors that need to be corrected. So that means that a campaign designer may wish to tweak values to suit the intended campaign design. For example, a campaign that features street fighting may wish to reduce armour shooting ranges to make infantry relatively more effective. Or, for a campaign run on good roads in summer time, the designer may wish to increase speeds of some vehicles to give them a comparative advantage.

Here is the key issue. In a coop setting, the settings in the Technics file of the game host override all the Technics files of all other participants. That means it is easy for a designer to develop a customized Technics file and then be sure that all players will see the desired in-game ground behaviours.

EDIT: Recent testing has showed this to be false - all coop players must have the SAME technics file installed. Therefore we promote the development of simple Technics mods for all players to use via JSGME.

That makes it easy to develop a useful Technics mod and to know that it is being used appropriately by all participants. Despite the fact that the Technics file is written in clear text, it is a complex and long file and it is not easy to compare settings among many different ground objects. SEOW has a new tool, the Technics Processor Tool, which simplifies this task and has easy options for exporting edited data as new Technics files and for use to configure the SEOW campaign database.

SEOW Technics Processor Tool (TPT)

The TPT is available with all versions of the Mission Planner after v6.0.0. You can find TPT under the Tools page shown on the main MP screen. Please note that the TPT employs the DHTML5 File API, so at this stage it only works under Firefox (recommended) and perhaps Google Chrome. It will not work with Internet Explore or with Firefox/IETab. TPT has an optional setting (in the Technics/Technics_Configuration.php file) to enable/disable password authentication to use the tool. By default, the need for authentication is disabled ($TechnicsAuth = 0;). Authentication is enabled by setting $TechnicsAuth = 1;. If authentication is enabled users will need to supply the password defined in Technics/auth.js before they can use TPT.

Once authentication barrier is passed, the user will see a a page with a simple file loading dialog where they can navigate their LOCAL filesystem to select a starting technics.ini file. It is important to note that even though the TPT is located on a remote web server, it only ever operates on LOCAL files on the user's computer. There is no way to use TPT to edit (or hack) remote technics.ini files.

The following picture shows the TPT after the user has navigated to and loaded a stock technics.ini file. Note that the standard "sepia" skin has been selected for the MP. TPT dynamically adjusts its colouring scheme to MP skin settings.

Below the file loader dialogue, there is a single row of tool links, followed by a large data grid showing the data contained in the loaded technics.ini file. The data is grouped into 3 categories: gunnery, armour and movement, each of which is associated with a tool link. Only one category is displayed at any time; the display category can be changed simply by clicking on the relevant tool links above. Note that not all parameters in the technics.ini file are displayed by TPT, only a subset that are of most interest to campaign designers.

The list of tool links is:

  • reload : goes back to the loaded technics.ini file and reloads and refreshes all data values from this file; also resets display view to gunnery category.
  • gunnery : changes display view to gunnery category, with appropriate column headings.
  • armour : changes display view to armour category, with appropriate column headings.
  • movement : changes display view to movement category, with appropriate column headings.
  • toSQL : creates a list of SQL INSERT statements from data in the current category view that can be used to update relevant values in the SEOW Object_Specifications table in the database. This allows easy synchronization between the game technics.ini and related SEOW campaign information.
  • save : allows the user to save the current data set (under ALL categories simultaneously) in a new technics.ini file, using a local filesystem navigator.
  • ? : a help tool that displays definitions of the various editable parameters presented in the various categories of the data grid

Here is a picture of the ? help tool:

This is a scrollable element that provides information on the definition and measurement units for every displayed data column in the three category views.

Finally, the save tool displays a simple window that leads to a local filesystem navigator for choosing the saved Technics filename.

Using the Data Grid View of TPT

The main body of TPT is a displayed data grid view showing data of the chosen category. This looks a little like a spreadsheet, but it does not contain the same scripting engine of a spreadsheet (although it potentially could with some development effort). The library used to generate the data grid is dhtmlxGrid [1] which is very powerful and configurable.

In the current implementation of TPT, the data grid allows the following functions:

  • sort : each column of the data grid can be sorted alphanumerically by clicking on the column header. Repeated clicking cycles between ascending and descending sorts
  • edit : each data value can be edited by double-clicking and entering the desired value (see Warning/Disclaimer section below)

These features allow rapid comparison of parameter values and assessment of rankings etc, quick changes etc. Some rules and tips are useful:

  • object fields : these are not editable
  • blanks : In the actual technics.ini file, not all objects have all relevant parameters defined for them. Missing parameters will appear as blank entries in the data grid. Inserting values for blank parameters will cause the associated parameter directives to appear for the selected object in the saved Technics file. Alternatively, removing values (creating blank fields) for parameters will cause the associated parameter directives to be removed from the saved Technics file.
  • text versus numeric : the data values are shown as listed in the loaded technics file. It is the user's responsibility to ensure that edited data in each field is correct and appropriate - no validation is performed by TPT.
  • undo : no list of changes is kept internally by TPT, so if you want to undo ALL your edits you can either use the reload tool or just go back to the file loader above and reload manually. There is no other undo support
  • save : the save tool does NOT simply overwrite the loaded technics file - it ALWAYS presents you with a file chooser to select the location and name of the saved Technics file
  • tokens : when saving the new Technics file, TPT will insert textual tokens inside the file to indicate changed parameter values or newly inserted parameter directives. This makes it easy to edit the Technics file and search for changes manually using Notepad or similar. Note: no tokens are written for removed parameter directives.


Warning/Disclaimer

As noted above, TPT performs no internal validation of data changes entered by the user. Therefore the user accepts ALL responsibility for the changes they make in customizing a new Technics file.

Furthermore, the Technics file should be regarded as what it is - an integral part of the internal IL-2 game code. The IL-2 game engine is tightly linked to the Technics file, so it is possible that changes to the Technics parameter values may result in unexpected in-game behaviours, or even in game crashes and/or loading failures. For these reasons we state the following items for TPT users (and for all mod developers):

  • Caveat Emptor : use at your own risk, you alone are responsible for customizing your own Technics file.
  • Test Before Use : make sure you test your new Technics file to confirm that the game loads correctly and that the ground objects display the intended behaviours BEFORE you host your coops/campaigns.
  • Backup!!! : always keep a backup of the stock technics.ini file so you can quickly revert to a known set of parameters. TPT is written in such a way to help guide you to keep a backup.

That said, with TPT you can consider how to customize your ground campaign for greatest fidelity, dependent on season, terrain and the composition of opposing forces. Enjoy!