Random Battle and Campaign Generator Mod (Full Version)

All Forums >> [Current Games From Matrix.] >> [World War II] >> Panzer Command: Ostfront >> Maps, Models and Mods



Message


dazoline II -> Random Battle and Campaign Generator Mod (6/6/2011 4:30:24 PM)

I've completed version 0.2 of my MoreRandomOptions mod.

I've added several pieces of functionality, most notably the ability to store units in a single place for a random campaign and to be able to edit these units via the newly modded XML files.

For a detailed list of changes and information take a look at the Readme.txt file in the attached zip.

I welcome any feedback.



Edit:
I will put this description in the Readme.txt file for better clarity.
I've uploaded vesion 0.2a here, the modifications are a new readme file and a small fix for the RCG.

Modifying the Core Units:
A new set of files have been created to allow easier modifying of core units for random campaigns.

Out of the box functionality when building a Random Campaign means using a campaign file (Data/Random Campaigns) and a set of battles files (Data/Battles), the battle files contain the core units, which means without the mod you have to edit the core units in every battle file.

The modded files are contained in (Data/Campaign Core Units) and are named exactly like their counterparts in (Data/Random Campaigns). There are a number of different bits of functionality to these new files.

1. You only have to edit one file to affect all key core units across all campaign battles.

2. The modded files support upgrades. If you look in one of the longer modded campaign files such as 1st Inf, 41 - 44 you will see multiple core tags inside the coreunit tag. Each tag has a date and scenario attribute which describes when that upgrade takes place. In the core tag are unit tags, corresponding to the core units in that scenario. Remember that the unitname attribute of a unit tag is what keeps track of that unit between battles and provides the upgrade path.

3. A file, in (Data/Campaign Core Units) will provide some of the units for each of that campaigns battles subject to:
a. An out of the box random campaign will have no CCU (Campaign Core Unit) file, the code will recognize this and only use the core units present in the battles files. This allows the code to execute on non modded campaign files without crashing.
b. A random campaign that has a CCU file will have its key core units in Battles files replaced by the units in the CCU file. Note a key core unit is different than a core unit, not sure why but it is.
c. Any non key core units in Battles files will not be replaced, so there will be variability retained in the units used from battle to battle in a campaign.
d. The Random Campaign description will display the key core units described in the CCU not the original key core units from the campaign file.




Example.
In the Battle file below the units numbered from 1 to 6 are the key core units, these are present in every campaign battle. The CCU file below the battle file replaces these 6 units with nine modified units.
The scenario generated from the RCG will contain the units 7 - 10 from the battle file and the units from 1 - 9 from the CCU file.
An upgrade for unit 1 in the CCU file will look like below with the first instance being a Mark III G tank and the upgrade being a Mark III H tank type.

Note I've seen key core units that come as replacements in some battles so if you want all your key core units present for all turns in a battle you have to set the attributes reinforcementChance="1" reinforcementTurn="0" in the unit tags.


Battle File German Summer 41 (First) - 1st Pzr Div.xml
<coreunits>
1. <unit unitid="Pz Kpfw IIIG" unitname="HQ 2/1-1 Panzer" exp="Veteran" number="2" max="2"></unit>
2. <unit unitid="Pz Kpfw IIIG" unitname="2/2/1-1 Panzer" exp="Veteran" number="5" max="5"></unit>
3. <unit unitid="Pz Kpfw IVE" unitname="2/1/1-1 Panzer" exp="Elite" number="4" max="4"></unit>
4. <unit unitid="Pz Grenadier 41" unitname="1/2/1-1 PzGren" exp="Veteran" number="3" max="3"></unit>
5. <unit unitid="Sd Kfz 251" unitname="1/2/1-1 Transport" exp="Veteran" number="3" max="3"></unit>
6. <unit unitid="Sd Kfz 222" unitname="1/1-1 Aufkl" exp="Veteran" number="2" max="2"></unit>
7. <unit unitid="81mm Mortar" unitname="2/1-1 81mm Mortar" exp="Veteran" number="6" max="6" probability="A=.99;D=0.5"></unit>
8. <unit unitid="105mm Artillery" unitname="105mm Artillery" exp="Veteran" number="4" max="4" probability="A=0.75;D=0.5"></unit>
9. <unit unitid="150mm Artillery" unitname="150mm Artillery" exp="Veteran" number="4" max="4" probability="A=0.33;D=0.25"></unit>
10. <unit unitid="JU-87 Stuka" unitname="JU-87 Stuka" exp="Veteran" number="2" max="2" probability="A=0.75;D=0.75"></unit>
</coreunits>



1st Panzer Div 1941 Short.mine.xml
<coreunits desc="...">
<core date="6/22/1941" battle="German Summer 41 (First) - 1st Pzr Div">
1. <unit unitid="Pz Kpfw IIIG" unitname="HQ 2/1-1 Panzer" exp="Elite" number="2" max="2" reinforcementChance="1" reinforcementTurn="0"></unit>
2. <unit unitid="Pz Kpfw IIIG" unitname="2/2/1-1 Panzer" exp="Veteran" number="5" max="5" reinforcementChance="1" reinforcementTurn="0"></unit>
3. <unit unitid="Pz Kpfw IIB" unitname="2/2/1-2 Panzer" exp="Veteran" number="5" max="5" reinforcementChance="1" reinforcementTurn="0"></unit>
4. <unit unitid="Pz Kpfw IVE" unitname="2/1/1-3 Panzer" exp="Veteran" number="4" max="4" reinforcementChance="1" reinforcementTurn="0"></unit>
5. <unit unitid="Pz Grenadier 41" unitname="1/2/1-1 PzGren" exp="Veteran" number="5" max="5" reinforcementChance="1" reinforcementTurn="0"></unit>
6. <unit unitid="Sd Kfz 251" unitname="1/2/1-1 Transport" exp="Veteran" number="5" max="5" reinforcementChance="1" reinforcementTurn="0"></unit>
7. <unit unitid="Pz Grenadier 41" unitname="1/2/1-2 PzGren" exp="Veteran" number="5" max="5" reinforcementChance="1" reinforcementTurn="0"></unit>
8. <unit unitid="Sd Kfz 251" unitname="1/2/1-2 Transport" exp="Veteran" number="5" max="5" reinforcementChance="1" reinforcementTurn="0"></unit>
9. <unit unitid="Sd Kfz 231" unitname="1/1-1 Aufkl" exp="Veteran" number="3" max="3" reinforcementChance="1" reinforcementTurn="0"></unit>
</core>
<core ... >
1. <unit unitid="Pz Kpfw IIIH" unitname="HQ 2/1-1 Panzer" exp="Elite" number="2" max="2" reinforcementChance="1" reinforcementTurn="0"></unit>
2. <unit unitid="Pz Kpfw IIIG" unitname="2/2/1-1 Panzer" exp="Veteran" number="5" max="5" reinforcementChance="1" reinforcementTurn="0"></unit>
3. <unit unitid="Pz Kpfw IIB" unitname="2/2/1-2 Panzer" exp="Veteran" number="5" max="5" reinforcementChance="1" reinforcementTurn="0"></unit>
4. <unit unitid="Pz Kpfw IVE" unitname="2/1/1-3 Panzer" exp="Veteran" number="4" max="4" reinforcementChance="1" reinforcementTurn="0"></unit>
5. <unit unitid="Pz Grenadier 41" unitname="1/2/1-1 PzGren" exp="Veteran" number="5" max="5" reinforcementChance="1" reinforcementTurn="0"></unit>
6. <unit unitid="Sd Kfz 251" unitname="1/2/1-1 Transport" exp="Veteran" number="5" max="5" reinforcementChance="1" reinforcementTurn="0"></unit>
7. <unit unitid="Pz Grenadier 41" unitname="1/2/1-2 PzGren" exp="Veteran" number="5" max="5" reinforcementChance="1" reinforcementTurn="0"></unit>
8. <unit unitid="Sd Kfz 251" unitname="1/2/1-2 Transport" exp="Veteran" number="5" max="5" reinforcementChance="1" reinforcementTurn="0"></unit>
9. <unit unitid="Sd Kfz 231" unitname="1/1-1 Aufkl" exp="Veteran" number="3" max="3" reinforcementChance="1" reinforcementTurn="0"></unit>
</core>
</coreunits>





Erik Rutins -> RE: Random Battle and Campaign Generator Mod (6/6/2011 6:40:11 PM)

Outstanding! I will give this a try today but I see some exceptional improvements based on the readme. The ability to easily modify core units for campaigns should be very, very popular.

Regards,

- Erik




Erik Rutins -> RE: Random Battle and Campaign Generator Mod (6/6/2011 9:14:52 PM)

Really some great improvements here, thank you for posting this!

The map size does seem to be a bit out of sync with the selection though. I clicked on "Template" to see the description with the map size and cycled through a few maps and the size didn't always correspond to the selected map and was reported differently for the same map a couple of times, once correctly and once incorrectly. I was using the drop down menu to select different maps and occasionally clicking on and off "Template" to switch back to the view of the terrain map.

Regards,

- Erik




junk2drive -> RE: Random Battle and Campaign Generator Mod (6/6/2011 10:13:23 PM)

Looks good. I found that if I changed from text back to map, the size and text appeared correctly for the next selected map (RBG).

(RCG) I'll give it a better look tonight.




dazoline II -> RE: Random Battle and Campaign Generator Mod (6/6/2011 10:20:26 PM)

The map size is flaky, I've never used Javascript to get image size from a seperate image before so I don't know about the reliability of the code. The HMTL aspect of the HTA app lends its own flake to the reliability as well.

I think I'll put a wish item in to include the size of a map in the XML. That way the generator doesn't have to rely on judging an image size, it just reads it from the XML.




junk2drive -> RE: Random Battle and Campaign Generator Mod (6/7/2011 4:25:33 AM)

I had a chance to look at the programs and readme. Nice job on all.

Still consuming the RBG core unit files. My brain is slow. I think you are saying I won't have to do like in the other thread and add units to all the xmls and rename the files to match.




dazoline II -> RE: Random Battle and Campaign Generator Mod (6/7/2011 2:07:48 PM)


quote:

ORIGINAL: junk2drive

I had a chance to look at the programs and readme. Nice job on all.

Still consuming the RBG core unit files. My brain is slow. I think you are saying I won't have to do like in the other thread and add units to all the xmls and rename the files to match.


The biggest part of this mod is to only edit the core files in one file and have that one edit be in all generated scenarios for the campaign.

I've edited my initial post to clarify how to work with the new modded XML and uploaded a new version with the revised readme and a small fix for the RCG.





junk2drive -> RE: Random Battle and Campaign Generator Mod (6/7/2011 2:39:24 PM)

Thanks for the improvements and explanations. Things are getting better all the time.




HintJ -> RE: Random Battle and Campaign Generator Mod (6/8/2011 1:56:40 AM)

So this will make it so if I want to do a random campaign w/custom units, I don't have to edit every single .xml for each game?

How do I use it?

Sounds like a great idea, but can somebody please post a .zip of the original contents of the Data->Random Campaigns folder? Stupidly I copied over them and I don't think I was supposed to do that.




junk2drive -> RE: Random Battle and Campaign Generator Mod (6/8/2011 2:08:39 AM)

HintJ the instructions are in the readme and the first post. Ask away if it is still not clear.

dazoline, the folder is named Current which caused confusion when looking in JSGME for the folder. There is also a text, General Unit Manager which I am not sure if it is notes to yourself or something the mod needs or what?




junk2drive -> RE: Random Battle and Campaign Generator Mod (6/8/2011 2:13:21 AM)

You really should be using JSGME

Here is the random campaigns folder.




HintJ -> RE: Random Battle and Campaign Generator Mod (6/8/2011 2:41:52 AM)

thanks.

If I understand correctly, after installing I edit the provided .xml files to have the custom units and upgrades I want for a campaign, then run the Random Campaign Generator, and thats it?




junk2drive -> RE: Random Battle and Campaign Generator Mod (6/8/2011 2:55:51 AM)

That is how I understand it. If you view the other thread where I added some infantry and halftracks, I had to add it to all the files and change all the file names in order to keep the originals. Of course I could have made copies of the originals and made a JSGME mod.

The main thing is that your added units must have unique names. They don't have to be the number scheme like 1/1/1-1 but you can't copy and paste without changing the unitname after.




dazoline II -> RE: Random Battle and Campaign Generator Mod (6/8/2011 3:06:58 AM)


quote:

ORIGINAL: junk2drive

HintJ the instructions are in the readme and the first post. Ask away if it is still not clear.

dazoline, the folder is named Current which caused confusion when looking in JSGME for the folder. There is also a text, General Unit Manager which I am not sure if it is notes to yourself or something the mod needs or what?


My bad, I re did the zip file removing the extra text file and making the folder name consistent with the Mod name.




HintJ -> RE: Random Battle and Campaign Generator Mod (6/8/2011 3:08:51 AM)


quote:

ORIGINAL: junk2drive

That is how I understand it. If you view the other thread where I added some infantry and halftracks, I had to add it to all the files and change all the file names in order to keep the originals. Of course I could have made copies of the originals and made a JSGME mod.

The main thing is that your added units must have unique names. They don't have to be the number scheme like 1/1/1-1 but you can't copy and paste without changing the unitname after.

Just tested it out and it seems to work. It is great that dazoline II did this because it was badly needed. Requiring units w/unique names is no problem. In fact, the first thing I wanted to do is replace the 1/1/1/1 concept w/common names.




junk2drive -> RE: Random Battle and Campaign Generator Mod (6/8/2011 3:16:01 AM)

Yeah the first thing to do would be to put together the force the way you want it and then go in and change the names.

I foresee in the future an OOB list, for say a company of motorised troops with 3 platoons of troops and 3 platoons of halftracks, another company of 5 tanks, etc, where you just click and go.




HintJ -> RE: Random Battle and Campaign Generator Mod (6/8/2011 4:11:44 AM)

Hey this makes it real easy to experiment w/single units in platoons in the campaigns:


[image]local://upfiles/36350/DA6EB40886654270B04CAD3CC8483588.jpg[/image]




dazoline II -> RE: Random Battle and Campaign Generator Mod (6/8/2011 4:20:55 AM)


quote:

ORIGINAL: junk2drive
I foresee in the future an OOB list, for say a company of motorised troops with 3 platoons of troops and 3 platoons of halftracks, another company of 5 tanks, etc, where you just click and go.


Its in my wishlist, but I think the presets (I see it as a simple version of oob) would have to change to represent that organizational structure. Or we see some type of organizational XML evolve.





junk2drive -> RE: Random Battle and Campaign Generator Mod (6/8/2011 5:18:41 AM)

Maybe someone with a library of OOBs will chime in.

Since I don't, I'd be guessing. Or borrowing from other games. For example we have a 1st Panzer Division 1941 short. Thinking battalion size. We would make the (First) xml everything that a 1st PZ Div battalion would have available instead of the current short list. Then in the purchase screen, you would only get so many points to spend to start a force for the first battle. As the battle progresses, you would purchase replacements from the original, unpurchased, pool. Reinforcements would come from that pool as well.




dazoline II -> RE: Random Battle and Campaign Generator Mod (6/8/2011 1:28:29 PM)

I was thinking a bit different for picking the units.
Not along the lines of an organic battalion but using the concept of a task force, cobbled together from a divisions different organic units.
A pinch of motorized troops, a dash of recon and a whole bucket full of tanks from a panzer division. Of course your task force could be an organic battalion as well if you pick it that way. we could possibly use different organic divisions as source OOB.

This task force would then be available as a seperate XML file where the player could attach it to any random battle or campaign they wanted. A bit different from what we have right now. either modded or unmodded.

The second part of your idea where you get replacements, do you mean in the battle itself or after a battle?
After a battle I think what we would need is a save export utility to XML. Such as Save As XML when saving a game in game and only for single player games. With that XML we could then take the battle to a more operational state where we could do dynamic replacements and so on. I'm thinking of that one unrealized idea in/of CM 1 Combat Mission Campaigns. Which was only torpedoed by not being able to read the save game file at the end of a battle. Of course that is a long while away.





dazoline II -> RE: Random Battle and Campaign Generator Mod (6/8/2011 1:30:17 PM)


quote:

ORIGINAL: HintJ

Hey this makes it real easy to experiment w/single units in platoons in the campaigns:


[image]local://upfiles/36350/DA6EB40886654270B04CAD3CC8483588.jpg[/image]


Great!, Hope you like it.




HintJ -> RE: Random Battle and Campaign Generator Mod (6/11/2011 11:09:07 PM)


quote:

ORIGINAL: dazoline II

Great!, Hope you like it.


Oh yes, very much so!

In fact, having the ability to easily modify the units in a random campaign by editing only one .xml file is great.

I'm now playing random campaigns as 40:0, with every unit able to act independently each turn. I could have always have done this, but not w/out the laborious task of editing numerous .xmls.




junk2drive -> RE: Random Battle and Campaign Generator Mod (6/12/2011 3:03:52 PM)

The Campaign Editor has a button to switch to editing Random campaigns as well. Once a person gains enough experience with how this all works together, he should be able to customise a random campaign setup to be able to generate some interesting and challenging campaigns.




Nemo84 -> RE: Random Battle and Campaign Generator Mod (6/21/2011 12:46:09 PM)

I'm using this mod to create my own motorised kampfgruppe using the 1st Infantry Div campaign as a template, and I have a small question. I've noticed in your "1st Infantry Div 1942 short.xml" file (and a few others) something peculiar concerning unit upgrades.

The original:        <unit unitid="Regular 41" unitname="HQ/3/1-43 Infantry" exp="Elite" number="3" max="3"></unit>
upgrades into:     <unit unitid="Regular 42" unitname="HQ/3/1-43 Infantry" exp="Elite" number="1" max="3"></unit>

What exactly does this change in "number" mean? This is no doubt WAD from the original campaign author, but I'd like to know the consequences for points balancing. Will the other two squads of this unit simply vanish, including all their medals? Or will those still be present after buying the "replace losses"?






junk2drive -> RE: Random Battle and Campaign Generator Mod (6/21/2011 1:13:05 PM)

When you get to a battle where the upgrade appears, in the purchase screen, it will show 1 squad and replacements available 2. If you have points to spend, you can then click the replacement button with the chance of the experience dropping.

I think it would be better to edit it to 3.

It could be though, that if a 1940 tank is 50 points and an upgrade 1943 tank is 100 points, changing from 1 to 3 may cause you not to have enough points to get the rest of the TOE.




dazoline II -> RE: Random Battle and Campaign Generator Mod (6/21/2011 3:36:47 PM)

I haven't gotten through enough of a campaign to see the effect on numbers, I was assuming that the campaign running total for the unit in question would override the battle XML and replace the number there with the actual number of elements left after the last battle.

Junk do you believe that the upgrade battle.xml unit numbers will override the campaign running total for the unit in question?





Nemo84 -> RE: Random Battle and Campaign Generator Mod (6/21/2011 4:13:45 PM)

Personally, I suspect this lower number will override and is supposed to simulate troop transfers (to fill out other depleted companies with at least some veterans for example) and subsequent fresh replacements taking their place. Each time a unit does this in the xml files, it is automatically made "elite" while its predecessor was merely "veteran". The battle files that accompanies these kind of upgrades have a lot of additional points awarded to the player so he can get these units back to full strength.




dazoline II -> RE: Random Battle and Campaign Generator Mod (6/21/2011 5:42:37 PM)

Seems this got me to do a test.

I generated a random campaign and changed the first two battles XML. The first one I changed so the battle would be a minimum of turns. Changed all the flags to mine and 300 points each. The second battle I changed every unit to have a number of 1.

After winning the first battle with a marginal victory, seems you actually have to kill something to get a lengendary one [8D] The unit choice screen for the second battle comes up with the unit numbers for the first battle.

Ie. 5 Pz IIIGs for a unit in the first and 5 Pz IIGs still in the same unit for the second.


It leads me to conclude the numbers don't matter in the upgrade battles XML files as the campaign numbers are taken in the above test. I imagine the numbers are filled like that so a player could play the battle individually if they wanted and were able to manuiplate XML.




Nemo84 -> RE: Random Battle and Campaign Generator Mod (6/21/2011 8:31:11 PM)

Okay, here's a quick mod of the short '42 1st Inf Div campaign. Normal OOB was exchanged for a motorized kampfgruppe: 3x3 infantry platoons, a few HMGs and a AT team with trucks, 4 Sd Kfz 231, 3 StuG IIIC and some mortar support. The mid-year upgrade improves the infantry units and exchanges the StuGs for Marder III's to deal with the heavier Soviet tanks.

It's balanced around the same point costs as the original. I just finished the first campaign battle using this force, and it seems to still provide a decent challenge. The added armor makes dealing with light Soviet tanks a lot easier, but especially those armoured cars are far from invulnerable. There's a lot less infantry now, so it's a lot harder keeping those Russian swarms contained.

Just add using JSGME after adding dazoline's campaign mod and overwrite the original xml file from that mod.
Disclaimer: This file is not historically accurate, not balanced apart from point cost and not tested. If it somehow messes up the campaign halfway through, take some small consolation in the fact that I'll be as frustrated about it as you are.[;)]




76mm -> RE: Random Battle and Campaign Generator Mod (7/5/2011 6:52:26 AM)

I have a question about using this mod: I like to run macro-campaigns which are essentially mini-fictional wars, with the maneuver units being individual platoons. Over time, each army grows to several dozen platoons (or more). The key for playing such a campaign is retaining losses, etc. between campaign battles (just as in the standard campaign games).

Can I use this mod to track several dozen units over the course of a macro-campaign? Any particular battle might only feature a handful of platoons, rather than all of them, so I would need some means of selecting which platoons would participate in each battle.

I have no problem if I need to cut/paste things, as long as I don't have to manually track all of the casualties, etc.

Not sure if I explained this very clearly, but do you think I can work with this mod?




Page: [1] 2   next >   >>

Valid CSS!




Forum Software © ASPPlayground.NET Advanced Edition 2.4.5 ANSI
1.935547