Home Fries Posted May 22, 2013 Posted May 22, 2013 I have been a fan of DCS/ED since the days of Flanker 1, and I am glad to see the livery system in DCS evolve from the original 10 skins in a CDDS file to the open-ended system we have now. Additionally, the use of level 2 graphics (i.e. Decals) with the F-15C and new Su-27 add a lot of potential to detail oriented skinners and rivet counters. This Concept of Operations (CONOPS) proposes a long term evolution to take the decal system to the next level. This will allow skinners and mission builders the flexibilty to add unprecedented levels of detail and accuracy to their missions. First, the limitations of the current decal system: Decal placement is restricted to locations as specified on the object, and cannot be easily changed by the end user. There is currently one level of decal, which means that minor variations such as skins for individual companies, platoons, or individuals require separate entries in the livery. This becomes more of a factor with UH-1 units, which had platoon level markings (never mind company or battalion). The requirement for separate livery entries make it a requirement to have not only the skin, but the individual modification of a client in order for another client to see the skin. What I propose has been done in a similar fashion with the Strike Fighters series of games, which has quite a robust skinning and decal system (though not without its own limitations). There are three primary considerations with this philosophy: A five-tiered decal system. The ability for the end user to place decals independent of the 3D model specifications. The ability to restrict certain decals based on entries in the lua. Consider the possibilities: My flight is USA F-15s. I choose the default F-15C skin, and then I choose the 19th Fighter Squadron (AK) in a separate entry (locked to USA squadrons due to nation selection in the mission editor). This reduces the clutter in the skin menu and yet allows for an equally detailed selection. Once I choose the squadron, the Major Command, or MAJCOM (e.g. Pacific Air Forces) is filled in, and I am now free to chose any individual markings (i.e. my personalized aircraft) and serial number. If I chose to fly my individualized aircraft online (this is assuming this choice is ever made availiable), those who didn't have my personalized decals would still see the default F-15C skin with 19th FS markings and default personalizations (e.g. the "Alaska" nose art). This becomes even more of a factor with the recent UH-1H beta release, being that US Army helos were marked to the platoon level. Consider this: I wish to design a helicopter assault/troop insertion mission re-creating the Ia Drang Valley battle using a Huey battalion. I choose the US Army skin, select the 1st Cavalry Division (Major Command). The 228th and 229th Aviation Battalions are made available for selection, and I choose the 229th. Then for each helicopter, I can choose Company A through D. With the same skin, I can show the three different companies (A-C) of slicks and Company D (gunships) with correct markings on each aircraft. I could even mark individual platoons as desired (they often used different colored bands on the tail boom). Implementation: The same LUA format in description.lua can be used, either appended to description.lua or as a separate file or files. You could have separate lua files (named for each unit in that tier) in each subfolder with the different tiers as well for increased modularity; architecture specifics exceed the scope of this CONOPS. There are five tiers of Decals: Country MAJCOM Squadron Company Individual Under each airframe folder in "liveries" you could have the following folders: Skin\ Country\ MAJCOM\ Squadron\ Company\ Individual\ For units that didn't have company level markings, the Company folder could be omitted. Each folder represents a different tier of decal as specified above. They could be selected with a menu in the Mission Editor similar to the following graphic: The first item to be selected is the skin, though one could make the argument that you should be able to select the squadron and the list of available skins will follow. For now, though, we'll assume that we start with the skin, and all other list boxes are greyed out. Once we select the skin, the country is locked in, though we can override this if we check the override restrictions box next to the skin. At this point, we select either the MAJCOM or the Squadron. Until one entry is selected, all entries appear in both listboxes. Once a unit is selected, the list of squadrons or MAJCOMS is restricted. For example, If I chose the 1st Cavalry Divsion as my MAJCOM, I would have access to the 228th and 229th Aviation Battalions, but if I chose the 229th AvBn, the MAJCOM would be restricted to the 1st Cavalry Divsion. Once the squadron is selected, the company and individual/platoon level markings can be selected. For example, if I chose A Company, then for individual markings I could go with the default (blue triangles on the doors), or select individual markings of MAJ Bruce Crandall or CPT Ed Freeman (both MoH recipients from the Ia Drang Valley). Selecting B Co. or C Co. would give me blue squares or blue circles on the doors respectively, and the option for flying individualized skins for MAJ Crandal or CPT Freeman could be restricted to A Co. only. This leaves serial numbers, or modexes and BuNos for USN/USMC aircraft. This is probably of importance only to a rivet counter, but there are plenty of rivet counters who enjoy DCS! My concept for this is more open ended, with my only real contribution to be to allow restrictions in the LUA on the values available. Pseudocode: Here is the proposed basic structure of the LUA entries: Country = { {"material name", position X, position Y, position Z, "filename", true}; ... }where Position is a standardized unit from the CG of the 3D model. Note that there is no need for graphic type, since all decals will be type 3. MAJCOM = { {"material name", position X, position Y, position Z, "filename", true}; } MASTER = {"USA}The MASTER field allows for a many to one relationship between the tier and the tier above. This allows for restrictions in the available tennant selections (e.g. you wouldn't see that MAJCOM when selecting "UK" as country). Squadron = { {"material name", position X, position Y, position Z, "filename", true}; } MASTER = {"1st Cavalry Division"}Company = { {"material name", position X, position Y, position Z, "filename", true}; } MASTER = {"229th AvBn"}Individual = { {"material name", position X, position Y, position Z, "filename", true}; } MASTER = {"229_A Co."} SUPERSEDE = {Company}The SUPERSEDE line allows for individual markings to supersede default markings at a higher level. For example, while Co. A, 229th AvBn flew with blue triangles on their doors, MAJ Crandall had custom doors that featured a coiled snake smoking a cigar, all of which was superimposed on the blue triangle. This would allow you to ignore the default decals of a higher tier in order to allow precedence to individual markings. Serial Numbers and Modexes: As specified previously, my only real interest in this is to allow restrictions on numbers and ranges used. These entries would normally be placed at the Squadron tier (the organizational level at which fonts, colors, and placement are standardized), but restrictions could be levied at any level. Best practice would be to levy restrictions at the lowest possible tier so that there are no conflicts between tiers. Default placement in the mission editor would pair the first serial with the first prefix, second serial with the second prefix, et. al., and allowing for individual selection. This allows USN/USMC skinners to pair a Modex with a Buno and reduces the likelihood of repeated serial numbers within the same mission. Prefix = {"61", "62", "63"}This allows the first part of the serial to be limited to a set of years, but without requiring the number to be on the skin itself. Omitting this field allows free entry in the Mission Editor. Note: this can also be used for the USN/USMC Modex. Just use something like the following: Prefix = {"301".."318", "401".."418"}Serial = {"619".."624"}This could be left blank to allow free entry of the tail number, as is with the system in place. Adding a restricted list of serial numbers would be good for skinners who want people to fly the actual airframes of the unit they skinned. This could also be used for the USN/USMC Buno with something like the following (though with more entries): Serial = {"158215", "161773"}Finally, a more detailed explanation of the "Override Restrictions" check box. What I have been proposing so far is the third consideration in this CONOPS: the ability for skinners to restrict certain decals based on entries in the lua. But suppose somebody want's to do a "What If?" type scenario that exceeds the boundaries specified by the skinner. Perhaps somebody wants to fly online with a UK pilot on their wing, despite the flight being designated as USA. Checking this box would remove the restrictions specified in the LUAs, allowing for complete freedom (or at least limited only by the available decals). Again, I'm not expecting this tomorrow or next week, but I think that a standardized approach to managing tiered decals will help DCS greatly once more add-on aircraft (including USN and RAF) are made available for DCS World. The added bonus is that this is also likely to significantly reduce the hard drive footprint and texture loading requirements of DCS World as well. I look forward to your comments. -Home Fries My DCS Files and Skins My DCS TARGET Profile for Cougar or Warthog and MFDs F-14B LANTIRN Guide
Recommended Posts