The Great Patriotic War: WWII on the Eastern Front (Development Diary)

I hate saying this, but this project has become a kind of love/hate interest. I really love what civ 5 allows modders to do, but at the same time there are numerous headaches I have to figure out to make it happen.

I am burnt out, but I am still working on and off. The new patch has enabled some major performance improvements between turns, but the graphics issues mentioned above now plague development. I am following the DLL discussion threads with great interest to see what others unlock that might solve some of these types of problems.

At this very moment I am trying to figure out how to make the AI attack aggressively towards the major cities such as Moscow, Stalingrad and LEningrad. Not easy to accomplish when the AI constantly wants to pull back a large portion of the units I give it and instead play it safe!
 
Time for a much needed update.

I have given myself a good kick up the butt to get things moving along again and surprisingly the short break helped me clear my mind and solve some complex coding problems.

Whilst I hate providing constant updates without screenies, I think the below items should give you a good idea of how things are progressing.

Production System
This whole feature is now pretty much complete. The vision I had around resources feeding into buildings which in turn produce production resources and equipment is complete. The whole system has been rewritten about 3 times and I am confident that the current version is as fast and modular as I can make the code.


Unit Supply System - Damage Allocation and Equipment Stats

This feature is also complete with each unit now having its equipment and personnel quantities updated to reflect its current HP level. Equipment losses are randomly generated based on a 'head-ache inducing' algorithm that ensures specific rules are always followed (i.e. you can't have equipment without personnel) when allocating HP damage across the equipment values.

For those curious, each unit in the game has a table of equipment (TOE) associated with it that tells the game how its max HPs are distributed across personnel and equipment.

Unit Supply System - Resupply and Recovery
The other side of the supply system coin is the healing of units. This code is also finished but still needs some robust testing.
On each player's turn, the game checks a set of criteria that enables each unit to be resupplied (heal HPs):

  • Rule 1 - Is the unit cutoff (identical to the WWII RED mod, units capture tiles as they progress across enemy territory and convert the tile culture). Cutoff units will not get resupplied at present, but this probably needs to be refined further to avoid player abuse of AI which is not aware of the supply system!
  • Rule 2 - Is a unit connected to a city that has a supply depot? Simply being connected to a city is not enough.
  • Rule 3 - Is there enough personnel and equipment in the supply pool to resupply the unit? Each turn, a unit is healed 6HP which is distributed across personnel and equipment. If you lack a specific equipment type then the unit wont get the full 6HP for that turn and so on.

Aggressive AI
Reminder - The AI nations are Germany, Italy, Hungary, Slovakia, Finland and Romania. The USSR is the only playable nation.

This is currently my main focus and I have been running numerous tests to determine how the AI responds with certain unit types and map features. The biggest surprise is that the AI does work well with the map defensive/offensive features and is capable of conducting similar moves to Operation Barbarossa. Keep in mind that this is on Immortal difficulty with the Soviet side static (all units fortified).

After some major tweaking of unit and city stats, the AI seems to take an identical approach to the real German invasion by splitting its forces towards Leningrad, Moscow and Kharkov. In almost every game, the AI responds to the Pripet Marshes similar to historical circumstances and encircles the Soviet forces around Kiev before target the southern portion of the USSR.

Also, in every test, the AI reaches almost identical frontlines to the real Axis forces by the time the mud season sets in.

However, I have had to 'boost' the AI's efforts a bit by introducing city capture events that provide additional reserve troops. This ensures the AI's mindless slaughter of units does not hinder its initial charge across the map.

I will post more on my learnings as things progress.


Overall, if I was to give an indication of progress it would be around the 60-70% complete mark.

Happy to answer any feedback or questions any of you may have. :)
 
Well folks....as per Murphy's law, when your in the lead a big brick wall pops up and smacks you! :wallbash:

For those who have read through all my posts, you will remember back in post 36 that the last G&K patch did something that enabled my counter units to work all of a sudden.

With the latest 1.0.2.13 patch, the reverse has occurred and all my unit icons have reverted back to being invisible on the map. Each unit is there and can be selected, but the actual counter just refuses to appear.

I exhausted all possible ideas as to what might be causing this problem. As I have not touched any artdef or unit code before the most recent patch, I am blaming some patch change for the issue. Normal game units appear fine, but mine just refuse to appear.

At this point, this scenario is broke and only strategic view mode is showing the units correctly. Unless I find some solution to this problem then I might have to raise the white flag on this scenario for good. :(

I have started a thread here to see if any unit gurus might be able to figure out what is wrong, but so far no suggestions have solved the problem. Please let me know if you can get the attached example unit in the thread to work in any way.
 
As there was no forthcoming solution on my unit counter problem, I have had to revert back to using 3D models instead. There is nothing wrong with these units that prevent me using them, but the lack of specific units was easier to over come when I was using my counters.

However, with the arrival of snafusmith's units on the Civ 5 section, I think I can plug the gap in missing units. He has assured me that mechanized/motorized ww2 style units are on his wish list along with other ww2 goodies :woohoo:

In the interim, I have begun dusting off some old re-skins I did of danrell's ww2 units a while back (I take no credit for the models of course).

Here is a sample of the Finn selection I plan to use in the scenario. Keep in mind that this is the best I can do based on how the dds skin file is orientated. Unfortunately I can not do anything about incorrectly inverted insignias.

Feedback on anything is welcome....hopefully someone has an interest in what I am doing!

 
Of course someone has interest in what you do !

First I'll like to play a WWII scenario I didn't make :)

I'll have an use for any reskin, and once I'll have finished the planned features of R.E.D. (which is not *soon* :D) it may be time to look at a "raw material -> buildings -> resources/equipment" mechanism, and if your system already use a part similar to R.E.D. supply, that makes it even more interesting for me.

On another subject, I'm placing some GameEvents in R.E.D. DLL that may be of use to you, like one that should be called when one player turn is ending, but before the units movement points are restored, or so I hope...

I'm still unsure if I can add Lua functions to influence the tactical AI, but I will try to at least get feedback from it.
 
Is is it planed for axis nations to be playable at any point in time?
 
Awesome! Your reskins look good. I was planning on working on Blood and Iron but I've found the same old truth holds from Civ4 - I like making units better than mods. Can you post a list of the most wanted units for your mod? I should finish the GMC truck today.
 
Is is it planed for axis nations to be playable at any point in time?

At this stage it is the low on my priority list as the whole extended supply system is focused on replicating the critical aspects of the Red Armies fall and recovery. As has been stated previously,the biggest issue I faced with an AI USSR was its lack of awareness of the production system, equipment, lend lease and evacuations.

However, I have been writing the code in a way that any nation can use it if needed down the track with a bit of rework.

The Axis AI nations are smaller and get major bonuses to compensate for their stupidity. In all my tests, Germany manages to get to its Sept 41 frontline only when given extra units via capturing specific western citites. This is also coupled with a very aggressive 'Barbarossa' promotion that is applied for the first couple of turns to crack through the start line.

On another subject, I'm placing some GameEvents in R.E.D. DLL that may be of use to you, like one that should be called when one player turn is ending, but before the units movement points are restored, or so I hope...

I have managed to get things working via the UnitSetXY event and doing a stocktake of fuel supplies for each player via the PlayerDoTurn event. This is the last piece of the puzzle to completing the whole extended supply system. However, I am always open to options that reduce my bloated code base!

What would be nice would be to embed an extended supply system into the DLL! :mischief: That also depends on somone being willing to convert over 3000 lines of code into C++ :cringe:

Awesome! Your reskins look good. I was planning on working on Blood and Iron but I've found the same old truth holds from Civ4 - I like making units better than mods. Can you post a list of the most wanted units for your mod? I should finish the GMC truck today.

Smitty, without going 'request crazy', here are my unit gaps (ones in italics are nice to have instead of critical):

Vehicles
  • Soviet Late War Motorized Infantry (GM truck you are currently building)
  • Soviet Early War Motorized Infantry (Gaz truck)
  • German Motorized Infantry (Blitz truck)
  • German Panzergrenadiers (Sdk251 Halftrack)
  • German Panzerwerfer (to complement the Katyusha on Soviet side)

Aircraft
  • German Stuka G variant (anti tank gun mount)
  • Romanian IAR-80 fighter

Infantry
  • Soviet late war infantry (current Russian Infantry model but with a cloth sack (rucksack?) over shoulder).
  • Soviet Siberian (winterized) infantry
  • Soviet NKVD infantry (similar to Russian Infantry model but maybe distinguishable by a cap or something?)
  • Romanian/German cavalry (change of cossack model fur cap to a helmet instead?)

Field Guns
  • German 88 (intend to use this as a static city defence unit in later part of war)
    [*]Soviet heavy 203 mm howitzer M1931 (B-4) (if I am going to include artillery units, then the unit will only represent heavy artillery formations used in later part of war!)
  • German heavy 17 cm Kanone 18 artillery (ditto as Sovivet comments in previous point....maybe a simple conversion of some of your WWI big guns might suite Germany?)
    [*]German Karl-Gerät Siege Mortar (I think you also made something similar to this for your WWI mod?)

Special Items
  • Soviet Fortified Region (plan was to represent this via a pillbox model as it is static)
  • German Hedgehog (sandbag defence with a couple of German troop models?)
  • Soviet locomotive (intended to represent factory evacuations...but need tofigure out the whole stay on railroad tiles thing!)

Let me know if any tickle your fancy!
 
Smitty, without going 'request crazy', here are my unit gaps (ones in italics are nice to have instead of critical):

Vehicles
  • Soviet Late War Motorized Infantry (GM truck you are currently building)
  • Soviet Early War Motorized Infantry (Gaz truck)
  • German Motorized Infantry (Blitz truck)
  • German Panzergrenadiers (Sdk251 Halftrack)
  • German Panzerwerfer (to complement the Katyusha on Soviet side)

Aircraft
  • German Stuka G variant (anti tank gun mount)
  • Romanian IAR-80 fighter

Infantry
  • Soviet late war infantry (current Russian Infantry model but with a cloth sack (rucksack?) over shoulder).
  • Soviet Siberian (winterized) infantry
  • Soviet NKVD infantry (similar to Russian Infantry model but maybe distinguishable by a cap or something?)
  • Romanian/German cavalry (change of cossack model fur cap to a helmet instead?)

Field Guns
  • German 88 (intend to use this as a static city defence unit in later part of war)
    [*]Soviet heavy 203 mm howitzer M1931 (B-4) (if I am going to include artillery units, then the unit will only represent heavy artillery formations used in later part of war!)
  • German heavy 17 cm Kanone 18 artillery (ditto as Sovivet comments in previous point....maybe a simple conversion of some of your WWI big guns might suite Germany?)
    [*]German Karl-Gerät Siege Mortar (I think you also made something similar to this for your WWI mod?)

Special Items
  • Soviet Fortified Region (plan was to represent this via a pillbox model as it is static)
  • German Hedgehog (sandbag defence with a couple of German troop models?)
  • Soviet locomotive (intended to represent factory evacuations...but need tofigure out the whole stay on railroad tiles thing!)

Let me know if any tickle your fancy!

I think a lot of the trucks/tanks sound good. I'm really interested in making some arty units and maybe some of the pillboxes. It'll take a while, but I'll start working on some units for you.
 
Vehicles
  • Soviet Late War Motorized Infantry (GM truck you are currently building)
  • Soviet Early War Motorized Infantry (Gaz truck)
  • German Motorized Infantry (Blitz truck)
  • German Panzergrenadiers (Sdk251 Halftrack)
  • German Panzerwerfer (to complement the Katyusha on Soviet side)

Aircraft
  • German Stuka G variant (anti tank gun mount)
  • Romanian IAR-80 fighter

Infantry
  • Soviet late war infantry (current Russian Infantry model but with a cloth sack (rucksack?) over shoulder).
  • Soviet Siberian (winterized) infantry
  • Soviet NKVD infantry (similar to Russian Infantry model but maybe distinguishable by a cap or something?)
  • Romanian/German cavalry (change of cossack model fur cap to a helmet instead?)

Field Guns
  • German 88 (intend to use this as a static city defence unit in later part of war)
    [*]Soviet heavy 203 mm howitzer M1931 (B-4) (if I am going to include artillery units, then the unit will only represent heavy artillery formations used in later part of war!)
  • German heavy 17 cm Kanone 18 artillery (ditto as Sovivet comments in previous point....maybe a simple conversion of some of your WWI big guns might suite Germany?)
    [*]German Karl-Gerät Siege Mortar (I think you also made something similar to this for your WWI mod?)

Special Items
  • Soviet Fortified Region (plan was to represent this via a pillbox model as it is static)
  • German Hedgehog (sandbag defence with a couple of German troop models?)
  • Soviet locomotive (intended to represent factory evacuations...but need tofigure out the whole stay on railroad tiles thing!)

Let me know if any tickle your fancy!

I second this. Would also help Gedemon's mod IMO.
 
Saw you noticed the deuce and a half - glad you liked it. Next I think I'm going to make the German 88. Back to work though, so it'll probably take a bit longer than the truck.
 
Saw you noticed the deuce and a half - glad you liked it. Next I think I'm going to make the German 88. Back to work though, so it'll probably take a bit longer than the truck.

Its a beauty and worked nicely. Cant wait for the 88 and anything else you release :)
 
This is the first post in a planned series of information I plan to consolidate once the mod is released.

I figured it would be a good chance to put all my scenario 'mechanics' into simple slides so that players get an idea of how the scenario works and to also remind me of things I chose to do. I am finding that my code is becoming so complex I am starting to forget what things do.

Please note that all information I post is not final and subject to change with play testing.

First up is seasons.

 
Looks cool - are the terrain graphics going to change with the seasons?

Yes.

Grass and plains change to snow. Unfortunately the graphics don't refresh in game so players will have to save and reload to refresh graphics (at least until Firaxis changes something!).

I planned from the start for weather and seasons to play a major part in this scenario.
 
Very Interesting :crazyeye: , I see some ideas related with game mechanics taken from HoI 3, which would really add a lot of complexity and create a better simulation. But I trully think in order this to work in the future you should try to find someone or create yourself additions to core AI libraries, that it would take into account new systems, and act rationally. Good luck. I really wish, you will find patience and strength and finish it :goodjob:
 
Do the seasons vary in length between different games or will they be always the same length?
 
Do the seasons vary in length between different games or will they be always the same length?

At present they follow a set calendar which is actually an XML table in my scenario. However, if you know of any more accurate info (like exactly when mud and snow fell across each year for the campaign) then please post any links or references.

I have gone off a standard eastern European calendar of seasons and made note of any significant seasonal changes as I read various historic sources.
 
Update Dec 2012

Time for another update. Have not had too much time in the past few weeks for modding, but work progresses none the less.

This week I have been deeply buried in more coding as the scenario starts to resemble something close to an alpha release. Having spent countless hours writing code to make the magic, I now have to spend time tweaking all the production, unit and supply variables to get a balance.

Some key highlight and progress:
  • Rail system is fully integrated into production and supply model. Rail tracks on the map now do more than increase movement. I plan to expand this feature to map out key vital rail routes if time permits.
  • Winter now affects a whole range of things across the scenario. Workers need more, production slows randomly and units suffer.
  • The surrounding battle situation around cities now determines the possibility of a city going into panic (resistance) and production suffering.
  • Cities cutoff/isolated also suffer from panic.
  • Early capture of Soviet cities triggers partisans behind enemy lines (thanks to whoward's plot iterations code..which is also used in the panic situation above :hatsoff:).
  • Unit fuel dependent movement is now fully operational. No fuel, no movement! Code is designed to refuel motorized units on a movement point basis. Use 3 out of 6 moves...you only require 3 moves to be refueled. Gives more reason to conserve unit movement similar to real life.
  • Events are slowly being written. So far I have finished Italian and Far East Reserve deployments and am working on the lend lease system starting with the Iran Invasion. I am yet unsure how to represent industry evacuations but really want to include this feature some how.

More info to come as time allows. :scan:
 
Events are slowly being written

Which event are you planning to include?

Minor detail; Copenhagen should be a german puppet, as Denmark retained its own government untill 1943 when Germany took over the control of the country completely.
 
Top Bottom