coconut Posted October 10, 2015 Posted October 10, 2015 (edited) You may ask "Why, can't we already make groups of vehicles in the FME?". The problem is that these groups are useless in combat when facing anti-tank canons or other tanks: When the leader is destroyed, the next unit in line moves to the leader's position, where it typically gets destroyed by the same unit that destroyed the leader (duh!). To work around this problem, I build my columns from smaller platoons, and try to get a front of multiple platoons attacking enemy defenses simultaneously. I'll just the rest of the details to the the readme file. Let me know if there's anything unclear. This is a command-line tool to create tank columns for the game IL-2 Sturmovik: Battle of Stalingrad.Tank Column Specification-------------------------Create a group file with the mission editor containing a vehicle and a number of waypoints. The vehicle and the waypoints will be replaced by multiple groups of vehicles.Each group is called a platoon, and is composed of a number of tanks (currently 2, although that might change in the future) and escort vehicles (a single AA truck).A unit is composed of a number of platoons (2 by default).A column is composed of a number of platoons (6 by default, which corresponds to 3 full units).The name of a waypoint is used to control the behaviour of the column:- CombatZone: Leave the road and prepare to spread out- Spread: The generated waypoint is moved laterally by a random amount (currently hard-coded to 400m)- Tighten: The generated waypoint is moved laterally by a random amount (currently hard-coded to 80m)- Destination: Last waypoint. When reached, the column is considered to be successful.- OnRoad: To be used after a CombatZone to get back on the road (not fully implemented, tanks from multiple platoons tend to collide)The orientation and location of the vehicle define the location and orientation of the vehicles when they are spawned.The country of the vehicle decides the type and country of the generated vehicles.Generated group---------------The tool generates a group file ready to be imported in the mission editor.The tank groups in a column and their logic are all located on top of each other.As an exception, the following nodes make the interface of the column and are moved a bit away from the rest of the mess (north-east of the spawn point):- Init: A timer which spawns a platoon.All platoons in a column a linked in such a way that platoons are spawned on a regular basis (fixed time interval).The Init node of the first platoon must be dragged away and connected (as target) to logic that activates the platoon (e.g. a MissionBegin MCU)- ShutdownAll: Deactivate all vehicles and their logic.- SomeSuccess: At least one vehicle reached the destination.- AllFailure: All platoons were destroyed. 99% reliable (you'll probably want to use a timeout for those 1% when complete destruction was not detected).Behaviour of the column-----------------------Beside what has been described in the tank column specification regarding waypoints, logic is also generated to implement a number of interesting behaviours.When a platoon is approached by an enemy plane, a green flare is fired by the platoon to request air cover, and the platoon performs an emergency stop.When a platoon reaches the destination, it fires a yellow flare.When a platoon approaches another platoon on the road, it stops until the other platoon moves ahead or is destroyed.When a platoon in a unit reaches the first spread point after the combat zone entry, it waits for the other platoons in the unit before proceeding. There is an example of specification group in TankSpec.Group. The utility is to be called from a cmd window. If you type "CreateTankColumn /?" you'll get a description of all parameters. >CreateTankColumn.exe /h Usage: CreateTankColumn [-u <unit size>] [-n <number of platoons>] -f <path to specification group> -o <output file name> <unit size> must be larger than 0 (default : 2) <number of platoons> must be larger than 0 (default : 6) <path to specification group> is the path to a .Group file that specifies the country of the platoons and their waypoints <output file name> is the name of the .Group file to be generated. Sources are available at https://bitbucket.org/johdex/sturmovikmission Edited October 10, 2015 by coconut 5
Jade_Monkey Posted October 11, 2015 Posted October 11, 2015 (edited) Very interesting! Thanks for sharing. I have not explored land units in depth but it looks like a great tool to create proper land AI behavior. Edited October 11, 2015 by Jade_Monkey
LoupVert Posted October 11, 2015 Posted October 11, 2015 Comes handy! Thanks a lot for sharing coconut!
coconut Posted October 11, 2015 Author Posted October 11, 2015 And here comes version 0.2, with a bug fix (Russian columns would panic stop when approached by an allied plane). 1
coconut Posted October 12, 2015 Author Posted October 12, 2015 Version 0.3 (download): - Removed logic that deleted wrecks. It was intended to avoid accidental pile ups of vehicles against wrecks, but it introduced more problems that it solved (wrong vehicle deleted, corruption of the allKilled counter). - Reduced enemy plane proximity trigger radius for panic stop to 750m. 1
IRRE_Golgoth21 Posted October 12, 2015 Posted October 12, 2015 (edited) I used to put the leader behind his team, just to avoid as far as possible the behaviour you mentioned. But, your tool seems to be really powerfull. Thank you very much, Professor Edited October 12, 2015 by -IRRE-golgoth21
coconut Posted October 12, 2015 Author Posted October 12, 2015 Don't you get troubles when travelling on roads, or in column, with the leader back? Anyway, I just found out using low priority on the waypoints in combat zones solves quite a few problems. You can have pretty large groups that work decently well that way. Another benefit is that it seems the game is much better at handling one large group than multiple small groups when it comes to FPS. No idea why. In the end, I think this tool might not be needed at all. Oh well...
TP_Jacko Posted October 12, 2015 Posted October 12, 2015 Another benefit is that it seems the game is much better at handling one large group than multiple small groups when it comes to FPS Coconut do you mean FPS. Does the larger group apply to AI aircraft as well I have been using smaller groups of 2 or 4 aircraft.
coconut Posted October 12, 2015 Author Posted October 12, 2015 Yes, I meant FPS, but now that I'm thinking about it, I was testing on the Lapino map, that could just as well have been the reason.
AbortedMan Posted October 13, 2015 Posted October 13, 2015 Think I may be doing something wrong here...or maybe the .exe is referencing a folder on your system that isn't on mine? A little guidance would be appreciated Thanks! E:\Downloads\CreateTankColumn-0.3>CreateTankColumn.exe -u 10 -n 3 -f E:\Download s\CreateTankColumn-0.3\ColumnCoconut.Group -o E:\Downloads\CreateTankColumn-0.3\ Coconut.group Failed to create columns because 'Could not find a part of the path 'C:\Users\jo hann\Documents\Visual Studio 2013\Projects\sturmovikmission\data\TankPlatoon.Gro up'.'
coconut Posted October 13, 2015 Author Posted October 13, 2015 (edited) @@AbortedMan That was a bug in my tool. Should now be fixed (download). Thanks a lot for testing it and reporting that bug! By the way, there is an example specification with the tool in TankSpec.Group, and a Readme file where I tried to explain things. Also, I would not pick 10 for the unit size and 3 for the number of platoons. That would give you an incomplete unit composed of 3 platoons, where 10 where expected. The other way around, unit size = 3 and number or platoons = 10 would produce more interesting results (3 units and one third of a unit). If the unit size is too big you risk collisions on the battlefield, as the way I distribute platoons on the moving front isn't very smart (it's simply random, with no checks for overlaps). Edited October 13, 2015 by coconut
AbortedMan Posted October 13, 2015 Posted October 13, 2015 (edited) @@AbortedMan That was a bug in my tool. Should now be fixed (download). Thanks a lot for testing it and reporting that bug! By the way, there is an example specification with the tool in TankSpec.Group, and a Readme file where I tried to explain things. Also, I would not pick 10 for the unit size and 3 for the number of platoons. That would give you an incomplete unit composed of 3 platoons, where 10 where expected. The other way around, unit size = 3 and number or platoons = 10 would produce more interesting results (3 units and one third of a unit). If the unit size is too big you risk collisions on the battlefield, as the way I distribute platoons on the moving front isn't very smart (it's simply random, with no checks for overlaps). Awesome. Thanks for the update and the info! Oh and I forgot to ask, but I haven't tested this yet...am I able to change which vehicles are in the convoy? I imagine this will be possible once they're in the mission through the editor, but will that change/ruin any functions if their object names change? For example if I want all trucks with one or two AA units mixed in (and no tanks). Edited October 13, 2015 by AbortedMan
AbortedMan Posted October 14, 2015 Posted October 14, 2015 (edited) Any ideas?... Running Windows 10 Home. Not sure if certain libraries or specific programs are required...I've got none of that coding stuff. Edited October 14, 2015 by AbortedMan
coconut Posted October 14, 2015 Author Posted October 14, 2015 (edited) It took some careful examination of your screenshot to see what happened. In the top left window, you typed "CreateTankColumns-0.3.1>CreateTankColumn.exe", which redirected the output of your (failed) command to a file named "CreateTankColumn.exe", erasing the original content of the file. Then you tried executing that file, giving you that error message. Extract the ZIP again and try again, you should get better results. Edit: Also, don't run this as admin, it's not needed. I'm shivering at the thought of what might have happened if the word "format" had appeared in the text you redirected to the file. Oh and I forgot to ask, but I haven't tested this yet...am I able to change which vehicles are in the convoy? I imagine this will be possible once they're in the mission through the editor, but will that change/ruin any functions if their object names change? For example if I want all trucks with one or two AA units mixed in (and no tanks). This is not possible at the moment, but I don't think it should be a problem. I'll look into that right now. Edited October 14, 2015 by coconut
coconut Posted October 14, 2015 Author Posted October 14, 2015 This is not possible at the moment, but I don't think it should be a problem. I'll look into that right now. Fresh version 0.4 (donwload) now makes this possible. All vehicles are expected to be German, and the conversion to Russian vehicles is done following these rules: let tryGetRussianBaseEquivalent = function | "horch830" -> Some ("gaz", "gaz-m") | "opel-blitz" -> Some ("zis", "zis5") | "pziii-l" -> Some ("t34-76stz", "t34-76stz") | "pziv-g" -> Some ("t70", "t70") | "sdkfz10-flak38" -> Some ("gaz", "gaz-aa-m4-aa") | "sdkfz251-1c" -> Some ("ba64", "ba64") | "sdkfz251-szf" -> Some ("zis", "bm13") | "stug37l24" -> Some ("kv1-42", "kv1-42") | "stug40l43" -> Some ("kv1-42", "kv1-42") | _ -> None Sadly, no German counter-part for the bt7m, and it's therefore missing from the list. I think one of the trucks might also be missing. To take advantage of this feature, modify (or make a copy of) TankPlatoon.Group in the mission editor to suit your needs, save, then use option -t followed by the name of the group file you just saved. 1
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now