Over the Reich - Creation Thread

Are we sure we can't come up with an actual bonus for the refinery/factory critical industry. Maybe a free factory/refinery for a city without every turn (though that in particular seems powerful). I can certainly implement the existing proposal, but it is slightly more work than to check if building is there, if so apply bonus. Psychologically, it might feel better for the German player to lose a bonus, rather than being actively punished. It would also mean that all five industry can simply be rebuilt by the player, rather than having 2 be forcibly rebuilt.

What if Politz halved the fuel cost for German aircraft attacks?

Perhaps Schweinfurt could reduce the shield cost of industry and aircraft factory buildings?
 
What if Politz halved the fuel cost for German aircraft attacks?

This shouldn't be too hard to implement, and I like it a lot. Not too powerful, but still worthwhile. Could make Jets more feasible.

Perhaps Schweinfurt could reduce the shield cost of industry and aircraft factory buildings?
That's not so easy to do, since the Allies have the same buildings in the build queue. We could 'give back' some shields when something is produced, that wouldn't be too hard.

Maybe it could count as the equivalent of one Civilian Improvement for the purposes of determining if Industry can be built. That could be useful, but probably more so in the later game after stuff has been bombed. That's not a huge problem, except that I believe Schweinfurt-Regensburg was an early-mid war attack, and it might be nice thematically to make it a tempting early target. Maybe make Schweinfurt produce an extra train whenever it produces one. Not too powerful, but it makes attacking Schweinfurt (even if just the factories) a better than average endeavour. Maybe this could use a little more thought.

I noticed that the initial industry placement doesn't consist of veteran units. This might explain why I occasionally had really good success bombing things (probably with vet 500lb bombs, especially likely at night). Do you want a script that will turn them all veteran, or is it intentional that certain targets be 'soft' the first few times they are hit? If the latter, it should probably be indicated to the players.
 
Maybe make Schweinfurt produce an extra train whenever it produces one. Not too powerful, but it makes attacking Schweinfurt (even if just the factories) a better than average endeavour.

If it's only for one city (Schweinfurt), that's not that useful to be "critical." Now, you make it every city produces two trains (kind of like Regensburg allows every city to produce two 109s), and you have a compelling reason to launch repeated attacks as the Allies. However, it may also imbalance things more than we want since one could effectively double Germany's industrial buildup.

Another option would be to either reduce the build cost of German flak artillery, which (I think) is easier than the improvements because only Germany has access to them? That would be useful to Germany and potentially a decent reason for the Allies to attack it? Maybe a 25% reduction in cost across the board?
 
I noticed that the initial industry placement doesn't consist of veteran units. This might explain why I occasionally had really good success bombing things (probably with vet 500lb bombs, especially likely at night). Do you want a script that will turn them all veteran, or is it intentional that certain targets be 'soft' the first few times they are hit? If the latter, it should probably be indicated to the players.

Can you please define, "really good success?" They basically start as non-veteran to help balance 250lb bombs but I suppose I overlooked what might happen when the 500lb show up. Maybe I need to make deeper targets start as vets and just leave a few of the more local targets non-vet to account for this? I would not need a script - this would be something I'd want to manually change on a case by case basis and simply haven't considered. I do think we might want new industries built to start as vet given you've mentioned this.
 
Hi John,

I actually played a little bit with the scenario, a while back, in solo mode just to get a feel for the mechanics. There are so many great and fun features that you gentlemen added that make it such an interesting game to play.

In my younger days, I was introduced to wargaming board games and though I played a lot of them with my friends I also ended up playing a lot of them solo. As you say, it certainly makes it more challenging to play since you know what each ‘side’ is thinking, but as long as you play honestly for both sides you can still make it interesting (for example in a WWII scenario, the Axis typically are on the offensive in the first years and therefore you try by all means to get an early victory and when playing as the Allies you do all you can to prevent that from happening. If you fail to achieve that victory early on, the roles tend to reverse in the latter years).

Depending on the game, I could also introduce some in house mechanics to implement some type of play balance. Being an ex-boardgamer, I’m very familiar with the use of dice to play to resolve combat or other game mechanics and therefore I’m also aware of the ‘too many rolls’ to make syndrome.

OTR is a very large game, which could take a couple of weeks to play even if you were playing solo against the AI. It could easily take a week or more above that if you were playing both as the Axis and Allies. There are so many units to control in OTR, not to mention all the other elements that a player needs to take care of, that I can see that your proposed solution to use dice would not only substantially add more time to game play but could very quickly become a tedious process as well.

If you’ll permit me, I think I could propose a simpler solution for solo play. As you are a lot more familiar with your game and its play balance, you can determine whether this additional change should be applied to both the Allies and Germans, just to air units or ground and naval units as well.

For now, I see this primarily applied to German air units. Thus whenever an air unit starts the turn on an airbase and you activate it, you give it a random chance (could be a 1 in 2, or 1 in 3 or even 1 in 4) that it will expend all its movements on that turn and therefore be unable to take off (as you say could be because of engine troubles, command indecision, Allied counter measures, whatever the reason).

Air units that are in the air are not affected, but as the current implementation is designed when they expend their munitions they need to return to base. Therefore, as the defender you don’t fully control your forces and this simple mechanism would remove the tedium of rolling possibly hundreds of dice rolls and having to interpret them.

Just my two cents worth but I hope it helps to provide an alternative solution for solo play.
 
If it's only for one city (Schweinfurt), that's not that useful to be "critical." Now, you make it every city produces two trains (kind of like Regensburg allows every city to produce two 109s), and you have a compelling reason to launch repeated attacks as the Allies. However, it may also imbalance things more than we want since one could effectively double Germany's industrial buildup.

Another option would be to either reduce the build cost of German flak artillery, which (I think) is easier than the improvements because only Germany has access to them? That would be useful to Germany and potentially a decent reason for the Allies to attack it? Maybe a 25% reduction in cost across the board?

Reducing the cost of flak artillery is doable, and could be useful. However, that could lead to a situation where the German player is desperately trying not to finish flak since next turn, the cost will be reduced. (E.g. see that flak will be completed next turn, switch to train, which will not be completed, Restore Schweinfurt, switch back to flak, have more shields than if Flak were just built.)

How about an extra reaction (or two) per turn for each unit. I think that would be fairly easy. Think better ball-bearings, better equipment, less maintenance. Or, maybe, recover all German units by 2hp per turn or something. Think better industry, easier availability of replacement parts.

Can you please define, "really good success?" They basically start as non-veteran to help balance 250lb bombs but I suppose I overlooked what might happen when the 500lb show up. Maybe I need to make deeper targets start as vets and just leave a few of the more local targets non-vet to account for this? I would not need a script - this would be something I'd want to manually change on a case by case basis and simply haven't considered. I do think we might want new industries built to start as vet given you've mentioned this.

3 vet 500lb bombs stand a pretty good chance of destroying a target. This was most noticeable with Lancasters vs Urban at night, but there were probably daytime cases as well (using B24s) that don't stand out as clearly. This would certainly explain some variance I saw. Had I noticed the lack of vet status before, I would have started my assaults with Vet B24s, to try to get the most out of the first few attacks (each attack has a 50% chance for the defender to become veteran). What I typically did was to send in rookie B17s (when I had mixed attacking forces) to soak up reactions (and possibly get damaged and become vet).

A quick test of 4 vet 500lb bombs vs rookie industry (4 Aircraft factories, 2 Refineries) had 4 of the 6 targets destroyed.

I checked, and new targets are veteran.

If we want a few soft targets, why don't we just pick a few locations, and have the units at those locations be set to half health (or less, if they were already damaged) each turn, at least until they have been destroyed once. That way, there isn't pressure to search the starting map for the weak targets and then remember where they are in the current game.
 
If we want a few soft targets, why don't we just pick a few locations, and have the units at those locations be set to half health (or less, if they were already damaged) each turn, at least until they have been destroyed once. That way, there isn't pressure to search the starting map for the weak targets and then remember where they are in the current game.

Really, the only soft targets we "need" are parts of the Ruhr on turn 1, if we even need them (I'd have to test it and see if it is acceptable... A few more bombers could always be added to the attack/removed from airfields in England where they are sitting stationary on turn 1 too). So, maybe a script to fix this at once would be helpful.

How about an extra reaction (or two) per turn for each unit. I think that would be fairly easy. Think better ball-bearings, better equipment, less maintenance. Or, maybe, recover all German units by 2hp per turn or something. Think better industry, easier availability of replacement parts.

Since we don't have the airfield improvement (well, we do, but at its cost, we effectively don't) why not just have aircraft that are in a city (airfield) recover their damage as though there was an airfield improvement present? That would be very useful and quite indicative of the spare parts/machines you laid out. Also it won't do anything for aircraft that stay airborne to try to get extra attacks in, so if a player wanted to maximize this by bringing aircraft

Depending on the game, I could also introduce some in house mechanics to implement some type of play balance. Being an ex-boardgamer, I’m very familiar with the use of dice to play to resolve combat or other game mechanics and therefore I’m also aware of the ‘too many rolls’ to make syndrome.
that I can see that your proposed solution to use dice would not only substantially add more time to game play but could very quickly become a tedious process as well.

You are probably right there and as my goal has been to create a scenario with no house rules, adding a bunch for single player would be disappointing.

For now, I see this primarily applied to German air units. Thus whenever an air unit starts the turn on an airbase and you activate it, you give it a random chance (could be a 1 in 2, or 1 in 3 or even 1 in 4) that it will expend all its movements on that turn and therefore be unable to take off (as you say could be because of engine troubles, command indecision, Allied counter measures, whatever the reason).

So I'm not sure about this because the Germans have enough aircraft shortages as it is, but your idea did get me thinking and I believe you're on the right track. What about this instead:

Use onResolveCombat to create a percentage chance (perhaps as high as 50%) that an attack over ocean terrain will be unsuccessful. The main point is that I don't want players unrealistically launching interceptions against themselves over the North Sea just because they know that something is there. While a player could still resist the urge, even if they couldn't, there'd be no guarantee that they'd have success and they might find their units totally out of position. . Also, we might reuse code currently utilized in the clouds mechanism where we can tell if a tile is "coastal" and not have this take any effect if there is a land square right next to it. That would solve the issue of rivers and the coastal cities getting some advantage from this problem quickly.

What would you both think of something like that?
 
Since we don't have the airfield improvement (well, we do, but at its cost, we effectively don't) why not just have aircraft that are in a city (airfield) recover their damage as though there was an airfield improvement present? That would be very useful and quite indicative of the spare parts/machines you laid out. Also it won't do anything for aircraft that stay airborne to try to get extra attacks in, so if a player wanted to maximize this by bringing aircraft

Do we want this for any aircraft in a city, or only aircraft that have spent a turn waiting in the city. I think there is a unit attribute that corresponds to 'has moved since last turn,' which the game probably uses to check if the unit should be healed. I may want to look into that anyway.

Use onResolveCombat to create a percentage chance (perhaps as high as 50%) that an attack over ocean terrain will be unsuccessful. The main point is that I don't want players unrealistically launching interceptions against themselves over the North Sea just because they know that something is there.

The onResolveCombat thing could be done, and would be fairly easy, but it would be per attack, and wouldn't represent a mission travelling into the blue and finding nothing.

I've not been paying much attention to these play against yourself mechanics, but do you want a 'roll dice' key that spits out a 'dice roll', or maybe even a dice roll converted to what it is actually 'supposed' to mean.
 
Do we want this for any aircraft in a city, or only aircraft that have spent a turn waiting in the city. I think there is a unit attribute that corresponds to 'has moved since last turn,' which the game probably uses to check if the unit should be healed. I may want to look into that anyway.

ideally one that spends its turn in the city, or this will be too powerful.

The onResolveCombat thing could be done, and would be fairly easy, but it would be per attack, and wouldn't represent a mission travelling into the blue and finding nothing.

I've not been paying much attention to these play against yourself mechanics, but do you want a 'roll dice' key that spits out a 'dice roll', or maybe even a dice roll converted to what it is actually 'supposed' to mean.

The single player experience can never be randomized anyway, so I'm OK with simply having there be a good chance that an attack over the North Sea or Atlantic falters. Maybe we could just have the line west of Ireland for the Atlantic and east of England where the combat effectiveness is decreased given we do want the Luftwaffe to launch attacks against near-coastal shipping, not to mention naval invasions.

I wouldn't worry about a dice roll mechanism in game. If people want to use one for more fog of war, they can, but I'd argue that once bombers hit the continent, they would usually be heard by someone, so simply preventing players from cheesing it up against the North Sea might work well enough.
 
So I'm not sure about this because the Germans have enough aircraft shortages as it is, but your idea did get me thinking and I believe you're on the right track. What about this instead:
Use onResolveCombat to create a percentage chance (perhaps as high as 50%) that an attack over ocean terrain will be unsuccessful. The main point is that I don't want players unrealistically launching interceptions against themselves over the North Sea just because they know that something is there. While a player could still resist the urge, even if they couldn't, there'd be no guarantee that they'd have success and they might find their units totally out of position. . Also, we might reuse code currently utilized in the clouds mechanism where we can tell if a tile is "coastal" and not have this take any effect if there is a land square right next to it. That would solve the issue of rivers and the coastal cities getting some advantage from this problem quickly.
What would you both think of something like that?

I'm not certain why you would want to implement the effect only over ocean tiles as I imagine most of the air combat occurs over land, but the important concept here is to introduce an element of uncertainty and unpredictability for the players, i.e. that their forces aren't entirely under their control. From a solo player experience perspective, this would make playing the game so much more simple than a complicated dice role mechanism. Whether that is done through the onResolveCombat or onActivate feature I guess is a question of which make most sense and perhaps is the less complicated programmaticaly.
 
Last edited:
I'm not certain why you would want to implement the effect only over ocean tiles as I imagine most of the air combat occurs over land, but the important concept here is to introduce an element of uncertainty and unpredictability for the players, i.e. that their forces aren't entirely under their control. From a solo player experience perspective, this would make playing the game so much more simple than a complicated dice role mechanism. Whether that is done through the onResolveCombat or onActivate feature I guess is a question of which make most sense and perhaps is the less complicated programmaticaly.

In my experience through a few playtests as the Germans, it has never been particularly difficult to find the bomber streams once they cross land. It is, however, tough to find them (and do anything effective against them) over the sea. Thus, from a "practical" standpoint, I'd argue the advantages players gain from knowing where the stream is are really only while it is in the north or west Atlantic somewhere. That is an advantage one would not have in the base game (instantly directing the luftwaffe to the coast of Scotland would be quite the gamble in the base game).

If that makes sense?
 
In my experience through a few playtests as the Germans, it has never been particularly difficult to find the bomber streams once they cross land. It is, however, tough to find them (and do anything effective against them) over the sea. Thus, from a "practical" standpoint, I'd argue the advantages players gain from knowing where the stream is are really only while it is in the north or west Atlantic somewhere. That is an advantage one would not have in the base game (instantly directing the luftwaffe to the coast of Scotland would be quite the gamble in the base game).

If that makes sense?

I don't have sufficient experience playing the scenario to make a firm judgement call on the best solution, though I have seen the youtube playthrough videos and believe I have an overall feel for the tactical conundrums players have to deal with when playing in multiplayer.

When playing as the Germans in a solo game, for example, since you are playing both sides, though you may not necessarily recall the exact position of all the Allied forces arrayed against you, you should have sufficient recollection to be able to place your forces to meet the different challenges coming from different directions. If on the other hand, you introduce the unpredictability factor into the mix, you can't be certain which units will respond in any given turn and therefore might need to increase the number of defenders in one sector over another in order to increase your chances of success.

In this regard, perhaps Prof. Garfield's suggestion to use onResolveCombat is more appropriate because you really don't know if your units will be effective until they are actually engaging in combat, as opposed to an onActivate which once in the air will always work. In this manner, your defensive screen becomes much more unpredictable.

Again these are just my musings on how to make solo play more approachable to players. But for certain, I feel that the solution needs to be implemented from within the code and thereby remove what Agricola and Techumseh would call tedious administrative work (easier said then done for sure but I think given what I understand of your code by no means an insurmontable challenge).

I hope this helps.
 
When playing as the Germans in a solo game, for example, since you are playing both sides, though you may not necessarily recall the exact position of all the Allied forces arrayed against you, you should have sufficient recollection to be able to place your forces to meet the different challenges coming from different directions. If on the other hand, you introduce the unpredictability factor into the mix, you can't be certain which units will respond in any given turn and therefore might need to increase the number of defenders in one sector over another in order to increase your chances of success.

So you think that this alone would be sufficient randomness to make the SP game more enjoyable? Because I have to admit, aside from my misgivings about the late game, there were a ton of sorties that were cancelled due to mechanical failure. I'm starting to warm to your idea. I'd like to offer a single player option with minimal code necessary, but if there were one or two things like this, I think it would be well worth it to put in (we'll never get people to play MP if they can't try it out SP).

thereby remove what Agricola and Techumseh would call tedious administrative work

Yes - that should always be a primary aim - removing that whenever possible.
 
As I mentioned, I haven't played the scenario, by any means nearly enough, to judge if that alone would make it more accessible for solo play. But I think I have more then sufficient experience in war gaming to a state that introducing randomness to units’ combat abilities would make the game more challenging for solo players as it would return a certain element of unpredictability to their planning. You might know were the enemy is coming from but you couldn't guarantee that your forces would be able to respond adequately to their incursions, as certainly happens for real in any conflict... the best laid plans of mice and men...

Again, you could just as easily implement this randomness for both sides, Allies and Axis. Lord knows how many bombing raids, though they reached their destination, oftentimes missed their target by miles.

Essentially, the point I'm trying to make, is that you want to reintroduce a type of fog of war when playing solo. When playing multiplayer this fog of war already exists in the game mechanics. For solo play, unless someone comes up with a better idea, the best way I can see this working in OTR is to introduce a factor of unpredictability. You might be Bomber Harris ordering a raid on the Ruhr or in charge of the Luftwaffe’s Night Fighter arm, but once those planes are in the air you don’t really control what happens next.

You’ll certainly want to think it over first and see if it makes sense or whether there are other alternatives.
 
I definitely appreciate your help - I don't have much experience playing board games vs. myself (though I've thought about it as they look pretty interesting), so I'm glad to hear from someone who does. With that said, once Midway is done, I'm never making a MP scenario again :lol: (a shame, really, because I think they're fun and I have a Cold War one built up more or less in excel, but without players...)

I'm not keen to create much more work for myself or Prof. Garfield but on the other hand with everything we have invested so far, if we could make some minor accommodations that would actually see the scenario played by individuals, I think, after all this time, it would make sense to add them. At the end of it all, I certainly want someone to play this.
 
Would you like to see the AI make a munitions attack? After fiddling with the events for a couple hours, I've got it to work (with some compromises -- only one attack will be made, regardless of movement remaining. I ran into an infinite loop problem and didn't want to figure it out tonight).

Duplicate your OTR folder (I don't want to merge this into the 'production' OTR at the moment)

Extract the attached zip into that folder (new events and rules), and open the saved game, aitest.sav.

The ME 109 should come out to the B17 and attack it, at least from most positions (you can try to find some that won't work).

Things I learned:
1. The AI won't use the munitions properly if they have the 'destroyed after attacking' flag. I wasn't too surprised by this, since I knew that missiles work differently in the base game. This is annoying for converting OTR, where I use the missile flag to see if stuff is a munition in a few places, but not a serious problem, since we can always delete the winning unit in combat via event, as long as we have a list of munitions.

2. The civ.getActiveUnit() function doesn't register AI units as 'active.' Fortunately, I was able to re-define civ.getActiveUnit to fix this, or every instance of civ.getActiveUnit would have had to be checked if we try to make a version to fight the AI.

3. The AI seems to deplete movement points even if it doesn't move (but not count them as move-spent). The exact mechanics might need to be looked into at some point.

Here are my thoughts on Single player OTR:

I'm willing to put a little code to facilitate playing vs oneself (a dice roll dialog box is a trivial undertaking) in the multiplayer game.

I think two single player games based on OTR are possible with a moderate amount of work for each one, and I'm willing to put it in. I don't want to try to get the AI to play OTR 'legitimately', but I think we could make two scenarios that feel like OTR from the human perspective, even if on the back side we do substantial cheating for the AI. I wouldn't try to force the AI to use trains, for example, but just create aircraft based on the number of industry tiles currently existing. I would make it two scenarios, so we could use different mechanisms to get a feel for each side.

I think we should finish OTR multiplayer first, then discuss possible ideas for either an Allied AI or a German AI, and make one as a separate scenario.
 

Attachments

  • OTR-AI.zip
    228.8 KB · Views: 98
The ME 109 should come out to the B17 and attack it, at least from most positions (you can try to find some that won't work).

I've yet to find one that will work - this numpty 109 seems predestined to fly due south to Switzerland. Even if i position my unit due south of it, it flies right around it and carries on. If I position my unit exactly south of it on a subsequent turn (meaning it can't go in motion unless it moves elsewhere than south first, it just sits there.

I think we should finish OTR multiplayer first, then discuss possible ideas for either an Allied AI or a German AI, and make one as a separate scenario.
I'm willing to put a little code to facilitate playing vs oneself (a dice roll dialog box is a trivial undertaking) in the multiplayer game.

Since we have someone here in @tootall_2012 who has quite a bit of experience playing MP games SP, I say we explore this a little bit, see if we can throw in 2-3 functions that add appropriate randomness to the game so that it is more enjoyable to play against oneself. Not go crazy, but maybe an option here or there to get people playing the "base" OTR in the hopes that it sparks an interest in a couple of folks playing each other MP, and even if not, then at least we can play this against ourselves until we are old and gray.

I think two single player games based on OTR are possible with a moderate amount of work for each one, and I'm willing to put it in. I don't want to try to get the AI to play OTR 'legitimately', but I think we could make two scenarios that feel like OTR from the human perspective, even if on the back side we do substantial cheating for the AI. I wouldn't try to force the AI to use trains, for example, but just create aircraft based on the number of industry tiles currently existing. I would make it two scenarios, so we could use different mechanisms to get a feel for each side.

I mean, I'm willing to put in the effort if you are. I agree that trying to get them to play legitimately would be much more work than it's worth. I do think if I spent significantly more time on the regions definition than I did for MP, we might exploit that functionality (I'm thinking it might be easiest and best to just use a grid like Midway, but which much larger boxes). I won't go too deep into it here and now, but I'm basically thinking of directing one group of units (Group A) towards another group of units (Group B) based on which region Group A and B are in at the time, even if they are several regions apart at the moment.

I'm not sure how long your Civ2 history goes back. Where you around when Captain Nemo was building Red Front? If you were, you might recall that some of the biggest fanfare he received for that scenario, and one of the biggest reasons it was so successful, is that he was able to finally crack the moveunit command and get it working to the extent that the AI was relentless and, seemingly, "smart." If we could figure out a way to get the AI to respond intuitively to attacks brewing many tiles away, especially if we could use teleport to make this happen over several maps, then I think we'd figure out something that every designer would love to use in the future.
 
By the way, here is the latest update to the scenario:

Added 3.7cm flak to Rheinsehlen, Bretigny, Metz, Pocking, Deelen, and Doberitz. These will form the "HQ" airfields or hub airfields for the Single Player game if we go with a hub/spoke method. If not, well, now there is a strong airfield in each general region for Germany to hide. This leaves plenty of "soft" targets behind.
-344,102,1: Add critical target Messerschmidt Flugzeugwerke at Regensburg
-311,55,1: Add critical target Blohm & Voss U-Boot Werke at Hamburg
-379,69,1: Add critical target Politz Refinery (controlled by Berlin)
-316,94,1 : Add Kugelfischer-Georg-Schäfer Ball Bearing factory at Schweinfurt
-372,56,2: Add critical target Erprobungsstelle der Luftwaffe at Peenemunde
 

Attachments

  • OTR1-7updates.zip
    377.3 KB · Views: 109
I've yet to find one that will work - this numpty 109 seems predestined to fly due south to Switzerland. Even if i position my unit due south of it, it flies right around it and carries on. If I position my unit exactly south of it on a subsequent turn (meaning it can't go in motion unless it moves elsewhere than south first, it just sits there.

I had that happen a few times, usually for positions due north of the airfield. But just now, I loaded the game again, and the position where everything is saved (at low altitude) works. The plane goes south a square, then diverts to the bomber, and attacks.
 
But just now, I loaded the game again, and the position where everything is saved (at low altitude) works. The plane goes south a square, then diverts to the bomber, and attacks.

I downloaded the files I submitted, and got the same thing you did, so somehow I managed to screw up the file upload. Try again, it should work now (I hope). I was getting worried that there might be a difference between different releases of TOT.
 

Attachments

  • OTR-AI-Correct.zip
    229.3 KB · Views: 101
Top Bottom