Over the Reich - Creation Thread

I think you should make it good enough so that players can jump right in and test out aircraft and figure other things out without first having to fix dozens of cities. I wouldn't worry about making it perfect, just good enough so that someone playing for the first time doesn't suffer a major disadvantage because they waited a few turns before taking a close look at city production.

Maybe set up cities with partially completed items, so a handful of things finish each turn, and then the player can take a look at that city and decide new production or change worker allocation, etc.

That's a good idea. I'm going to set up the specialists fairly balanced between science and fuel. If someone wants to min/max that will be on them. I will also take your advice and have some stuff be nearly built with 2-6 turns. There has been a pretty consistent theme with testing that there are times when the offensive stalls, so I think having the Allies get some aircraft coming online through turns 4-7 should help with that. Here's a look at the first 19 turns of my latest playtest so you can see what I mean. Of note I have tried to maximize the buildup for the Allies, but it's probably not possible to do that and hit 225 points by turn 25 to get a battle group. I think there ought to be some trade off, and no guarantee, but it's fairly far off now and I think it is preferable to have more targets in the sky/action early than to simply adjust the point distribution/requirements.

I'm also a little bit concerned with the tech distribution and might give the Germans a few prototype units to start (also so they can see what they're useful for) and potentially a few extra aircraft factories at the beginning of the game. I'm going to see how it goes now that Jagerstab has been researched before making this decision.

Allied Points / Tech
Turn 1: 30 points
Turn 2: 52.5 points
Turn 3: 52.5 points, Industry II
Turn 4: 60 points
Turn 5: 83 points
Turn 6: 90.5 points, Industry III
Turn 7: 90.5 points
Turn 8: 92 points, Fuel Production II
Turn 9: 92.5 points
Turn 10: 92.5 points
Turn 11: 117, Fuel Production III
Turn 12: 125.5 points
Turn 13: 126 points
Turn 14: 126 points, Political Support I
Turn 15: 126 points
Turn 16: 126 points, Interceptors I
Turn 17: 126 points
Turn 18: 126 points
Turn 19: 133.5 points, Political Support II

Axis Points / Tech
Turn 1: 1.5 points
Turn 2: 1.5 points
Turn 3: 1.75 points, Fuel Production II
Turn 4: 18.69 points
Turn 5: 19.69 points
Turn 6: 19.69 points
Turn 7: 20.94 points
Turn 8: 36.19 points, Fuel Production II
Turn 9: 36.19 points
Turn 10: 36.43 points
Turn 11: 59.94 points
Turn 12: 53 points, Political Support I
Turn 13: 68.62 points
Turn 14: 69.2 points, Industry II
Turn 15: 99.6 points
Turn 16: 114.6 points
Turn 17: 129.9 points, Industry III
Turn 18: 129.9 points
Turn 19: 129.9 points, Jagerstab

I did note a couple of bugs so far:

-No clue why, but the Task Force sometimes doesn't activate for the Allies unless it is done manually, and then it often says "that a raid on low alt, high alt, and night are all triggered."

-Wolf Packs are protected by air units.

-The torpedo unit needs to be able to attack aircraft carriers that have air units on it - I think this needs to be added to a table somewhere along with the other bombs

-Attacking an aircraft carrier with a bomber loads this error:

Code:
D:\Test of Time\Scenario\OTR - update\events.lua:4897: bad argument #1 to 'pairs' (table expected, got nil)
stack traceback:
    [C]: in function 'pairs'
    D:\Test of Time\Scenario\OTR - update\events.lua:4897: in upvalue 'getDamage'
    D:\Test of Time\Scenario\OTR - update\events.lua:5059: in local 'targetReactionDamage'
    D:\Test of Time\Scenario\OTR - update\reaction.lua:210: in upvalue 'individualReaction'
    D:\Test of Time\Scenario\OTR - update\reaction.lua:242: in function 'reaction.reaction'
    D:\Test of Time\Scenario\OTR - update\events.lua:5404: in upvalue 'primaryAttackReactionWrapper'
    D:\Test of Time\Scenario\OTR - update\events.lua:7238: in function <D:\Test of Time\Scenario\OTR - update\events.lua:6889>
 
I've had less time to work on this yesterday and today than I thought I would. If I get the chance to do some work today, I'll work more on the combat reporting feature, but I won't try to integrate it into the events. I'll be working very long hours Friday to Monday, so I don't want to risk breaking anything in the events. If you need some information or a fix, let me know. The worst that will happen is that I'll say it has to wait.

I'm taking this to mean that you don't have the events. I have the events.
 
The events are available.

-Added text for 56th FG arrival
-Added text for B-17 build up
-Increased # of initial B-17s that arrive on turn 3 from 6 to 10
-Added buildup of 4x B-17F on turns 5, 7, 9, and 11
-total buildup thus 26 bombers through turn 11 - this should help keep the pressure up early game
-Fixed issue of U-Boat being protected from air attack


-I can't figure out the issue of torpedos not being able to attack carriers
-I can't figure out the bug which now has new coding given the events have changed in size:

Code:
9, 21, 0
Hurricane IV
D:\Test of Time\Scenario\OTR - update\events.lua:4900: bad argument #1 to 'pairs' (table expected, got nil)
stack traceback:
    [C]: in function 'pairs'
    D:\Test of Time\Scenario\OTR - update\events.lua:4900: in upvalue 'getDamage'
    D:\Test of Time\Scenario\OTR - update\events.lua:5062: in local 'targetReactionDamage'
    D:\Test of Time\Scenario\OTR - update\reaction.lua:210: in upvalue 'individualReaction'
    D:\Test of Time\Scenario\OTR - update\reaction.lua:242: in function 'reaction.reaction'
    D:\Test of Time\Scenario\OTR - update\events.lua:5407: in upvalue 'primaryAttackReactionWrapper'
    D:\Test of Time\Scenario\OTR - update\events.lua:7242: in function <D:\Test of Time\Scenario\OTR - update\events.lua:6893>
 

Attachments

Bug report: When attempting to vet swap between 2 units without home cities (which is very likely to occur given payload) this error pops. Perhaps we could just have a text message if nil stating "Veterancy can only be transferred to a unit with a home city" so that the error doesn't pop?

D:\Test of Time\Scenario\OTR - update\vetswap.lua:144: attempt to index a nil value (field 'homeCity')
stack traceback:
D:\Test of Time\Scenario\OTR - update\vetswap.lua:144: in function 'vetswap.swapVetStatus'
(...tail calls...)
D:\Test of Time\Scenario\OTR - update\events.lua:6926: in function <D:\Test of Time\Scenario\OTR - update\events.lua:6893>
 
I'll have a look at this stuff when the events are available and I also have time.

-No clue why, but the Task Force sometimes doesn't activate for the Allies unless it is done manually, and then it often says "that a raid on low alt, high alt, and night are all triggered."

I gave them 0 movement points upon the activation of certain other units, in order to prevent an exploit. Without it, you could activate it via the city menu, use goto to a land tile, and unload a ground unit, avoiding landing restrictions and enemy fire, or something of that nature. I don't remember exactly. I'll revisit it, to make sure it is still necessary.

On that topic, you might want to mention in the readme that the player can use the command 'a' to activate a unit inside a city, and run the unit activation code.

Not sure about the raid message.

-Wolf Packs are protected by air units.

-Fixed issue of U-Boat being protected from air attack

OK, I won't look at this one.

-The torpedo unit needs to be able to attack aircraft carriers that have air units on it - I think this needs to be added to a table somewhere along with the other bombs

You're probably correct, but I'll have to find out exactly where.

-Attacking an aircraft carrier with a bomber loads this error:

Do carriers react to bombers, but were never given a damage schedule for bombers? I'll have to take a look.

Bug report: When attempting to vet swap between 2 units without home cities (which is very likely to occur given payload) this error pops. Perhaps we could just have a text message if nil stating "Veterancy can only be transferred to a unit with a home city" so that the error doesn't pop?

I'm 99% sure I know what the error is and how to fix it. There should be no problem transferring veterancy between NON units.
 
I assume that you haven't been editing vetswap.lua, so I've mad the update for the vet transfer event.
 

Attachments

I'll get the events to you tonight but I've made several changes to keep the pace of the game brisk and avoid long periods of nothingness. I need to fix a few more things.
 
The events are available.

CHANGES (GAME AND EVENTS)
-Gave 4x prototype units to the Germans at game start (2x at Peenemunde, 2x at Regensburg).
-Added quartermaster at Hamburg, Mannheim, Dusseldorf, Vienna
-Gave 1x prototype unit to the Allies at London
-Changed production values in Allied cities, set up the cities so they are playable from the start with minimal intervention
-Added Molesworth and Kings Cliffe AF
-Gave Allies some A-20's at Molesworth to start (stand in for Bostons)
-Added Borkum, Bretigny, Bron, St. Trond, Leeuwarden Airfields for Germans to help them field larger force early
-Compensated for the number of planes Allies get at the start by giving Germans some industry, fuel refineries, and aircraft factories in Occupied Europe - also, this will give Allies close targets to hit early--it is unlikely German player would choose to build such easy marks at the start of the game so the Allies had nothing to test their tactics out on.
-Gave Germans Fuel Production I tech as well at game start.
-Added event where Allies get 14x RAF bombers every 100 points for first 500 points to help keep up the pressure
-Added event where Allies get 12x USAAF bombers every 75 points for first 525 points to help keep up the pressure
-Deleted turns 3, 5, 7 etc. USAAF bomber reinforcements - instead one must actually succeed to get reward
-To compensate, Germans now have an "Experten" unit that can fire 6x per turn, is their best defensive unit, and shares the interception skills of the jet fighters. Very dangerous opponent. They will also be very rare.
-Changed Schweinfurt so the Germans get an Experten unit if they succeed. Tested and it works.
-Added German "Adolf Galland" unit - a powerful jet that can defend itself well, intercepts better than regular jets, has jet benefits.
-The Germans can earn 4x Experten in the scenario currently. The first is for shooting down a number of enemy bombers, the second is for defending Schweinfurt, the third is for earning a number of points, and the fourth is for earning a number of points and have jet technology.
-Fixed some small bugs

QUESTIONS
killPortExtras(winner,loser) - I noticed that there are two references to this - the second one appears to be in limbo - can you see if this is as it should be?
 

Attachments

here you go - rules, a save, a scenario file, and the units. I still need to update the describe.txt with the new units and the readme.
 

Attachments

I have the events. I think I can track down bugs without the other files updated.

QUESTIONS
killPortExtras(winner,loser) - I noticed that there are two references to this - the second one appears to be in limbo - can you see if this is as it should be?

Yes, it is correct. At one place, I define the function killPortExtras to kill certain units in a city when the corresponding military port is destroyed. In the other place, I execute the function.
 
Events are available. I'll probably take them again tomorrow evening if you don't have them.

Changelog:

6 or 7 places with unit:activate() have had a line added that runs the onActivate function for the new unit. This corrects the bug where the torpedo can't attack the carrier. The problem was that the Carrier's flags weren't being updated. I presume that bombing carriers has been previously tested using hurricanes, which can land on carriers.

Attempted an implementation of code (gen.activateBetterUnit) that would choose to activate a unit on the same map as the last activated unit (excluding those units issued with a wait order). Unfortunately, there seems to be a problem with civ.ui.centerView, so the map stays night even though a day unit has been activated. I'm not sure how to fix this. You can try it out, as it is still in the code.

Remember to update vetswap with the file I provided earlier today.
 

Attachments

I have the events but will release them this morning. I figured out the hurricane bug. It had nothing to do with carriers.
 
The events are available.

Attempted an implementation of code (gen.activateBetterUnit) that would choose to activate a unit on the same map as the last activated unit (excluding those units issued with a wait order). Unfortunately, there seems to be a problem with civ.ui.centerView, so the map stays night even though a day unit has been activated. I'm not sure how to fix this. You can try it out, as it is still in the code.

That created a funky bug - I tested it by having a few night aircraft at different distances near a daylight gun battery. It stayed on the night map and somehow transported the gun battery to the night map from the daylight map. I've -- out the code for this to continue with my playtest so please remove the -- if you continue to work on it.

EVENTS CHANGES
-I figured out the issue for the bomber bug. It was only showing up against the Hurricane and it is because of a typo on my end. It is fixed.

-I made a minor change to some text - the Schweinfurt ace was unnamed. Now it will be Klaus Mietusch. He's not the most glamorous of the Experten and wouldn't actually get his Ritterkreuz until the following year, but he recorded his 46th and 47th kills during the Schweinfurt raid.

-Added explanation text to Hydra German victory giving them (now 1x) V2 launch sites, mostly because I completely forgot that we gave them these as an award and was scratching my head to see if I had missed something/there was a bug. Now the German player will be alerted as to why they received this. Unfortunately I can't tell them where it goes and there are 7 possible tiles it could randomly appear. Could you please add a %string statement to if flag("OperationHydraDoFailureGermans") then to let the player know where to find it? This is the kind of tweak I don't tempt fate with.

-I went through the rest of the historic mission texts and made the results a little clearer to the parties.

-Corrected B-17 reinforcements so they show up on appropriate map
-Significantly increased number of B-17s that show up on turn 3 and dispersed which airfields they arrive at.

-The death of an Experten unit now costs Germany 300 fuel
-The death of Adolf Galland now costs Germany 500 fuel
-Both are tested and work.

RULES/GAME CHANGES
-Added "trade" tech back in describe but need to do so in the game
-Fixed describe text for trade, Experten - still need to do Galland
 

Attachments

Over the next few days I intend to spend some time testing the effects of Allied bombing on the German fuel supply. I suspect that it may not have the desired effect currently.

Ideally, if the Allies remove most fuel refineries from the map, the Germans should have to make tough choices with their science and tax rate. It should truly cause a massive problem. I'm not sure that is currently the case but will play around with it to figure it out.

In the event that the current system doesn't work, I am considering giving the Germans an expensive city improvement to drive up their costs, perhaps to the extent that prototype (caravan with cash boost eliminated) units don't just become nice to have, but vital as the tax rate may need adjustment to the point where fuel production is nearly maxed to keep the economy running.

I'll let you know how it goes...

I also intend to define the regions but I have two questions:

1. I dont need to cover the entire map, right? There is a mechanism for "near so and so..."?

2. What happens if I accidentally overlap? Should I leave a safety margin so this doesn't happen?

I think once I know that I can get cracking.
 
1. I dont need to cover the entire map, right? There is a mechanism for "near so and so..."?

That's right. If the tile is in none of the "regions," it will be 'near' the nearest "landmark", which I explained how to define earlier (and for which we could always use cities). I could find the nearest region, but that is much more complicated to do

2. What happens if I accidentally overlap? Should I leave a safety margin so this doesn't happen?

An overlap means that one of the two regions will be "chosen", but we don't know which. A bit of overlap shouldn't matter.
 
Before I go too crazy let's see if I'm doing this right.

polygon = {{0,0},{98,0},{98,14},{76,20},{61,31},{36,48},{0,48},} --North Atlantic Approach
polygon = {{0,50},{46,50},{46,94},{0,94},} -- Mid Atlantic Approach
polygon = {{0,96},{46,96},{46,144},{0,144},} -- South Atlantic Approach
polygon = {{47,95},{47,145},{113,145},{123,135},{126,126},{123,109},{108,106},{97,101},{82,96},} --Bay of Biscay
polygon = {{47,91},{83,91},{83,47},{47,49},} --Celtic Sea
polygon = {{84,72},{84,90},{118,92},{121,95},{131,93},{137,93},{138,82},{147,83},{147,89},{162,90},{165,85},{193,81},{192,74},{186,76},{166,76},{157,75},{142,74},{118,74},} -- English Channel
polygon = {{84,68},{88,70},{94,70},{102,66},{110,66},{117,65},{127,65},{122,64},{117,63},{111,59},{103,57},{93,59},} --Bristol Channel
polygon = {{93,55},{103,55},{103,53},{105,51},{113,51},{123,47},{123,41},{126,40},{139,41},{145,35},{144,26},{129,23},{116,18},{116,26},{107,29},{102,36},{93,47},} --Irish Sea

If this works I'll finish up the seas later tonight or early tomorrow a.m. and hopefully just finish up everything. This wasn't too bad. I think cities might normally be the best landmark with the exception of Ocean squares.
 
I confirmed my suspicions that fuel wasn't as detrimental as intended so I re-purposed get.Improvement(33) as Wehrmacht (which represents the cost, in fuel, of all German military operations throughout the war). When I have the events I need to edit out one line of code (the part that doesn't allow it to be built in cities). I'm not sure if that really matters though since it's already in cities and can't be built in the future. I can fix this when I have the events if you don't.

Right now it costs 3x fuel per turn, is in all 50 German cities, cannot be disbanded, and will automatically be destroyed when the city is captured. I don't see a need to complicate things by recreating it if the Germans re-capture a city. They would presumably re-capture some fuel stores too.

I also found a bug while testing - In Tours, improvement 29 needs its tile to correlate toe 165,127. Right now it duplicates the tile for the fuel refinery which causes the strategic bombing to not work for that target. I can fix this when I have the events if you don't.

Other Changes
-Describe.txt fixed for Adolf Galland and the new Wehrmacht improvement.
-Prototypes now require the rail network but have had movement increased to 12 to compensate

To Do
-Figure out how balanced Germany's science rate is and determine if additional prototype units are necessary either at game start or possibly as Germany's own mini point reward to keep them flush and at pace with the Allies.
 
Before I go too crazy let's see if I'm doing this right.

polygon = {{0,0},{98,0},{98,14},{76,20},{61,31},{36,48},{0,48},} --North Atlantic Approach
polygon = {{0,50},{46,50},{46,94},{0,94},} -- Mid Atlantic Approach
polygon = {{0,96},{46,96},{46,144},{0,144},} -- South Atlantic Approach
polygon = {{47,95},{47,145},{113,145},{123,135},{126,126},{123,109},{108,106},{97,101},{82,96},} --Bay of Biscay
polygon = {{47,91},{83,91},{83,47},{47,49},} --Celtic Sea
polygon = {{84,72},{84,90},{118,92},{121,95},{131,93},{137,93},{138,82},{147,83},{147,89},{162,90},{165,85},{193,81},{192,74},{186,76},{166,76},{157,75},{142,74},{118,74},} -- English Channel
polygon = {{84,68},{88,70},{94,70},{102,66},{110,66},{117,65},{127,65},{122,64},{117,63},{111,59},{103,57},{93,59},} --Bristol Channel
polygon = {{93,55},{103,55},{103,53},{105,51},{113,51},{123,47},{123,41},{126,40},{139,41},{145,35},{144,26},{129,23},{116,18},{116,26},{107,29},{102,36},{93,47},} --Irish Sea

This looks correct.

I don't have the events at the moment, just in case you thought I did. I expect to be able to do a good deal of work on this over the weekend. (Yes, I know I said something similar about last week, but I got hired at the last minute to work four days of advance polls for the Canadian Election, and that had some unexpected work to be done in the days before also.)
 
Back
Top Bottom