1. We have added a Gift Upgrades feature that allows you to gift an account upgrade to another member, just in time for the holiday season. You can see the gift option when going to the Account Upgrades screen, or on any user profile screen.
    Dismiss Notice

Over the Reich - Creation Thread

Discussion in 'Civ2 - Scenario League' started by JPetroski, Feb 4, 2011.

  1. Prof. Garfield

    Prof. Garfield Deity Supporter

    Joined:
    Mar 6, 2004
    Messages:
    2,323
    Location:
    Ontario
    I have the events.
     
  2. Prof. Garfield

    Prof. Garfield Deity Supporter

    Joined:
    Mar 6, 2004
    Messages:
    2,323
    Location:
    Ontario
    Events are available.

    changelog:

    Keys 7,8,9 are no longer part of combat reporting. The Escape key is now the combat reporting key, because it can be used to select options in text box menus.

    The file combatReporting.lua is no longer necessary for the game. (it is replaced by log.lua)

    When the combat report is closed, the current 'location' is saved until it is opened again. This way, you can center on a tile, close the window to look around, then open again to continue through the report. In fact, you can opt to automatically close the window when you go to the report for a tile, and simply press escape again after you've had a look around.

    I've made another attempt at improving automatic unit selection. I think I've got it this time, but you should test it out.

    If there are bugs, search for and comment out these functions
    gen.selectNextActiveUnit
    gen.betterUnitManualWait
     

    Attached Files:

    JPetroski likes this.
  3. JPetroski

    JPetroski Emperor

    Joined:
    Jan 24, 2011
    Messages:
    1,755
    I'll check it out when I get home in a few days, but it looks promising!
     
  4. Prof. Garfield

    Prof. Garfield Deity Supporter

    Joined:
    Mar 6, 2004
    Messages:
    2,323
    Location:
    Ontario
    I have the events.
     
  5. Prof. Garfield

    Prof. Garfield Deity Supporter

    Joined:
    Mar 6, 2004
    Messages:
    2,323
    Location:
    Ontario
    Events are available.

    Changes:

    Replaced newspaper module with the archive from the text library, so newspaperv1.lua is no longer necessary.

    The Group radar report is also added to the archive (but reports activated by individual stations via 'k' are not).

    Very minimal testing was done on these changes, but I did test the archive system fairly extensively on my 'testing' scenario. Still, we may run into changes that must be made.
     

    Attached Files:

  6. JPetroski

    JPetroski Emperor

    Joined:
    Jan 24, 2011
    Messages:
    1,755
    I only had a chance to play with it briefly as I got in late, but I'm quite impressed. Perhaps during our playtest we simply upload the turns and really on this exclusively for the updates to see how practical that is.

    I haven't noticed any bugs but I only played a turn or so. I couldn't really tell if the map switch was or wasn't working - I'll have to get some bomber formations hitting the same target to be sure.
     
  7. JPetroski

    JPetroski Emperor

    Joined:
    Jan 24, 2011
    Messages:
    1,755
    I've had a chance to play with things a bit more. Not enough to comfortably say "no bugs" but enough to get a good grasp of it and notice a few things.

    1. You seem to have solved the extremely annoying problem of the game bouncing from unit to unit on various different maps rather than just going to the next closest unit on the map in question. This is ideal and on the whole I think this is good. It does have a side effect of requiring players to manually select their flak artillery on the low alt day map repeatedly to fire, but I think on the aggregate, this is preferable to the old situation where you would not have that problem, but you would frequently have to switch maps or press "wait" so you could continue with moving a major assault on one map. So I would say this is successful and far better. There's not going to be many flaks to play around with each turn, anyway.

    2. The combat reporting is detailed and useful but I have a suggestion for a tweak: it gets very "noisy" taking into account the ammo losses. Could we classify certain units as "munitions" and not count them? I think it would tremendously cut back on the need to scroll during most turns. Also, I'm not sure how helpful "survived" is, as it isn't terribly accurate. The below would seem to indicate that we lost 4 Halifax bombers and 7 survived, or were damaged. In actuality, we lost all 4, but it took 7 attacks to kill them. I'd rather just have an "aircraft losses" each turn as opposed to the survived field. I think losses is really the only information necessary.

    I do think we should count how many enemy aircraft we shoot down via reactive attacks and count that as victories, but the ammo really needs to be removed for that to be accurate/useful.

    All in all a very cool tool that I think is, frankly, going to be game changing for multiplayer scenarios. I'd estimate that this alone would cut back at least 10-15 minutes of effort, if not more, in playing (and reporting) a turn in a monster like Imperialism or any other MP scenario where there is much to do. You could add value to every MP scenario out there simply by converting the events as is to lua and plugging this in. I'm really impressed with it. Well done!

    upload_2019-10-24_20-17-48.png

    Edit - I think part of the reason you did it this way is because you need to show what cities were attacked. I wonder if we could simply show the target units as "attacked" and leave it up to the player to determine the full extent of damage?
     
    Last edited: Oct 24, 2019
  8. Prof. Garfield

    Prof. Garfield Deity Supporter

    Joined:
    Mar 6, 2004
    Messages:
    2,323
    Location:
    Ontario
    I can change that. Currently, when a unit is activated, the next unit is "selected", and all other units are given the 'waiting" attribute (I now have a "waiting" table to keep track of units actually told to wait), meaning only one unit will appear 'eligible' by the game to be activated next. The choice is made by a "score" function, and the lowest score is the next unit. Currently, score is +10000 if units are on a different map, +distance between units, and +1 if unit types are different. I can change the score function so that flak units are considered on map 0 for selection purposes.

    The Reporting Options page allows you to increase the number of lines shown in the text windows for the log (and anything else that uses the text library), so if you have a big monitor, you can avoid scrolling.

    I can remove munitions from the combat reporting, but then you'll have less information about what attacked you.

    Survived was meant to be "survived a combat", and I couldn't think of a better way to put it. It gives an idea of how many times you were attacked, and, as you note, reports attacks against units that were not killed. It can be removed, or tweaked, if you like.

    I did try to do that, though I may have missed a place. The loser will be the unit that got shot down, and the winner will be the reacting unit (not a munition). Only actual deaths would be noted, however. Maybe I could change that.
     
  9. JPetroski

    JPetroski Emperor

    Joined:
    Jan 24, 2011
    Messages:
    1,755
    I suppose I need to remind myself that I'm not the only one who would play this and others may have a use of such things. I personally find the information distracting, but I'm curious if you would find it useful and would miss it if it were gone? Then again, in a MP game, would one usually tell you what they killed your units with? I suppose only very generally?

    How about "engaged" or "engagements?" I think that makes more sense - P-47's were engaged 7 times with the loss of 4, but even that makes you think that 3 survived. I don't know. I suppose if we're aiming for a situation where one need not report to each other, it could be helpful, but again, what would we really report "heavy fighting over Berlin" as opposed to "I attacked your 4 P-47's 7 times" seems more likely.

    I think that is working as intended and I just wasn't very clear in my typing.
     
  10. JPetroski

    JPetroski Emperor

    Joined:
    Jan 24, 2011
    Messages:
    1,755
    What do you need from me so we can avoid "Near Map 1" - do you need specific coordinates within the greater region coordinate boxes?

    upload_2019-10-25_18-12-4.png
     
  11. Prof. Garfield

    Prof. Garfield Deity Supporter

    Joined:
    Mar 6, 2004
    Messages:
    2,323
    Location:
    Ontario
    From log.lua

    -- Every battle is assigned a region for organizational purposes.
    -- The region is determined by means of a "Geography Table"
    --
    -- A geographyTable is a table indexed by strings, with the
    -- following possible values
    -- geographyTable["My Region Name"] = function(tile)-->boolean
    -- The tile is considered in My Region Name if the function
    -- returns true, and not in the region if the function returns false
    -- geographyTable["My First Landmark Name"] = tile object
    -- geographyTable["My Second Landmark Name"] = {integer,integer,integer}
    -- geographyTable["My Third Landmark Name"] = {integer,integer,table of integers}
    -- geographyTable["My Fourth Landmark Name"] = {integer,integer}
    -- If the tile is not in any region, then it is placed in a 'region' "near"
    -- a landmark. A landmark described as a tile or as an integer triple
    -- is only a landmark on a single map
    -- A landmark described by a pair of integers is good for all maps
    -- A landmark of the form {integer,integer,table of integers} is a
    -- landmark for all the map numbers in table of integers

    open otrGeography.lua and add some entries to the geographyTable. Make them landmarks. At the moment, the only "landmarks" are cities, and I didn't make them be landmarks on all maps, since I wanted the log function to be able to be used in scenarios where the maps are not "vertical."
     
  12. JPetroski

    JPetroski Emperor

    Joined:
    Jan 24, 2011
    Messages:
    1,755
    I have the otrGeography.lua - I assume you won't need this to make any changes you have planned but let me know if I'm wrong.
     
  13. Prof. Garfield

    Prof. Garfield Deity Supporter

    Joined:
    Mar 6, 2004
    Messages:
    2,323
    Location:
    Ontario
    I was thinking along the lines of single player, where you can watch the attack happen, and see what attacked you. I just checked the in game casualty timeline, however, and it doesn't tell you the kind of unit that attacked. However, I think it is quite important to know if your flak was killed by a determined air attack or by a Battle Group, for example. Some sleuthing could probably tell you anyway, but that's extra work.

    I'll use a checkbox menu to allow the player to manually 'hide' certain unit types in the report. This should solve most of the issues. The information is there for those that want it, but hidden from those who find it distracting.

    I can add the losses to the surviving total for 'engagements' instead of showing the number of combats that were survived. So, engaged 11 times, lost 4 times.

    I suppose if the survivals are not reported at all, then some units will appear with 0 losses, and that is an implicit explanation that they survived combat.
     
  14. JPetroski

    JPetroski Emperor

    Joined:
    Jan 24, 2011
    Messages:
    1,755
    I have the events.
     
  15. JPetroski

    JPetroski Emperor

    Joined:
    Jan 24, 2011
    Messages:
    1,755
    The events are available.

    Here's what I came up with for landmarks.

    Code:
    geographyTable["Straits of Dover"] = {192,76}
    geographyTable["Scotland"] = {154,8}
    geographyTable["Northern Ireland"] = {92,12}
    geographyTable["Switzerland"] = {268,138}
    geographyTable["The Rhein"] = {264,74}
    geographyTable["Spain"] = {18,144}
    geographyTable["The Thames"] = {162,68}
    geographyTable["The Beaches of Normandy"] = {156,92}
    geographyTable["The Elbe"] = {332,64}
    geographyTable["The Danube"] = {354,116}
    geographyTable["The Oder"] = {389,75}
    geographyTable["Oresund"] = {358,36}
    geographyTable["Denmark"] = {312,32}
    geographyTable["The Low Countries"] = {239,71}
    geographyTable["The Border with Vichy France"] = {192,40}
    geographyTable["St. George's Channel"] = {97,49}
    geographyTable["Muir Eireann"] = {103,37}
    geographyTable["Southwest Ireland"] = {39,43}
    geographyTable["The Isle of Man"] = {128,30}
    geographyTable["Guernsey"] = {125,85}
    geographyTable["Mouth of the Garonne River"] = {129,137}
    geographyTable["Norway"] = {297,3}
    geographyTable["The Alps"] = {331,41}
    geographyTable["The Cotentin Peninsula"] = {142,88}
    geographyTable["Copenhagen"] = {352,36}
    
    Hopefully I did these correctly.

    Also - a question as I note you said cities are only landmarks on the low map. If I wanted, is this the correct way to add them to both high maps? If not, how would I need to write this? Will this differentiate night and day maps or do I need to do something else? I'm not opposed to going through every city and starting airfield and doing this once I know how, but I wasn't sure and so I naturally didn't want to start without confirming I have the process correct.

    Code:
    geographyTable["The skies above London"] = ({172,68,1}, {172,68,2}}
    

    CHANGES - EVENTS
    -H.W. Schnaufer now shows up in St. Trond, his historic air base. He arrives early enough that I doubt this will cause problems.
    -Galland/JV44 shows up at Brandenburg-Briest AF (renamed from Doberitz which I had in the wrong spot).
    -Egon Mayer now shows up where III/JG2 was for much of 1943 (Beaumont AF) - he is probably the first one to arrive so I doubt this will cause problems
    -The 2nd RAF reinforcement wave now comes with Stirlings as it's likely that's what they'll have when they receive it
    -The 3rd USAAF reinforcment wave now comes with B-17F as it's likely that's what they'll have when they receive it
    *wrestled with idea of forbidding gun batteries from using strategic redeployment system, but landed on keeping it as much of the Atlantic wall came from the disassembled Maginot Line.

    CHANGES - GAME
    -Reduced strength of barrage slightly so it is less likely to destroy a task force in one shot
    -Added 2x Me110 for Germans on night map at St. Trond, but used all their movement points for first turn
    -Reduced movement points of 15th Airforce from 24 to 16 so they can be intercepted. As it stood, they could win the Regensburg mission alone in one shot with no chance for the Germans to intercept them.

    BUGS FOUND
    Found a minor bug when moving units in formation and one is going to go off of the map. Not sure if anything can be done about this or not.

    Code:
    Welcome to the TOTPP Lua console.
    Running Lua 5.3.1  Copyright (C) 1994-2015 Lua.org, PUC-Rio
    
    Keyboard shortcuts:
        Ctrl-F1: Prints this help text
        Ctrl-F2: Aborts running script
        Ctrl-F5: Reruns last script
        Up/Down: Scrolls input history
    
    
    Over the Reich
    ERROR: failed to find valid map tile when populating "tileLookup" for 165,122,1
    Events.lua parsed successfully at 10/26/19 06:58:34
    
    D:\Test of Time\Scenario\OTR - update\formation.lua:196: attempt to index a nil value (global 'fromationTable')
    stack traceback:
        D:\Test of Time\Scenario\OTR - update\formation.lua:196: in upvalue 'moveToTile'
        D:\Test of Time\Scenario\OTR - update\formation.lua:332: in function 'formation.moveFormation'
        D:\Test of Time\Scenario\OTR - update\events.lua:7129: in function <D:\Test of Time\Scenario\OTR - update\events.lua:7095>
    
     

    Attached Files:

    Last edited: Oct 26, 2019
  16. Prof. Garfield

    Prof. Garfield Deity Supporter

    Joined:
    Mar 6, 2004
    Messages:
    2,323
    Location:
    Ontario
    Game cities are landmarks on the map they are on, so "airfields" in Over the Reich are landmarks on the night map. I can make it so this feature can be turned off, and only use landmarks. Or, I can make it so that city locations can be used as landmarks for any map.

    Code:
    geographyTable["The skies above London"] = {172,68,{1,2}}
    
    Will only be a landmark on maps 1 and 2. It may make more sense to have ["The skies above London (Day)"]={172,68,{0,1}} and ["The skies above London (Night)"] = {172,68,2}, since day and night are almost different places in OTR.

    I can quickly make changes like this to your existing list using a macro, so don't waste your time with a lot of busy work.

    If combat occurs inside a polygon that you've defined, the corresponding region will be used instead of a "near landmark" region. You only need landmarks to 'catch' out of the way places that you didn't bother to make regions for.

    I should be able to fix that. I'll probably have a chance to work after 5 or 6 pm (Eastern Time).

    We might want to add some of the "introduction messages" to the archive, so the player can review them later. If you have time, you can try to do some of that. Have a look at the documentation in text.lua . If you can't figure out how to use it, then I'll have to invest more time in better documentation.
     
  17. JPetroski

    JPetroski Emperor

    Joined:
    Jan 24, 2011
    Messages:
    1,755
    In that case I think we're good with what I've done so far for the most part - I made enough landmarks in different corners that there should be something reasonably close to key in on. I don't think there's a need to add all cities as all of them, at least, should be in a region. The only issues is a potential combat that occurs in a dead zone where I didn't go "wall to wall" with regions for risk of an overlap. We'll see if I'm correct in the playtest and if we need more they can be added.

    I'm about to take the kid to the aquarium so I won't have time before you take over the events but I did take a look and think I can duplicate how to add it. My only question, taking Gommorrah as an example:

    text.addToArchive(tribeAliases.Germans,textAliases.gomorrahSucceedsGermansText1.." "..textAliases.gomorrahSucceedsGermansText2,"Operation Gomorrah Results","Operation Gomorrah Results")

    Ending the first claused and ending the second clause, there are two "periods" .. - If I were to add the turn 2 advice text for the Germans to their archive, would I also keep these two periods because there are two different advice texts?

    So would I just add:

    text.addToArchive(tribeAliases.Germans,textAliases.secondTurn1.." "..textAliases.secondTurn2, "..textAliases.secondTurn3, "..textAliases.secondTurn4, "..textAliases.secondTurn5, "..textAliases.secondTurn6,"Game Advice","Game Advice","Game Advice","Game Advice", "Game Advice", "Game Advice")

    Before the end of:

    Code:
    if turn == 2 then
            civ.ui.text(func.splitlines(textAliases.secondTurn1))
            civ.ui.text(func.splitlines(textAliases.secondTurn2))
            civ.ui.text(func.splitlines(textAliases.secondTurn3))
            civ.ui.text(func.splitlines(textAliases.secondTurn4))
            civ.ui.text(func.splitlines(textAliases.secondTurn5))
            civ.ui.text(func.splitlines(textAliases.secondTurn6))
        end
    
    And then would I also duplicate it, but change:

    text.addToArchive(tribeAliases.Allies

    ?
     
  18. JPetroski

    JPetroski Emperor

    Joined:
    Jan 24, 2011
    Messages:
    1,755
    I'm hopeful we can start a playtest very soon. I think I more or less have the game balanced how I want it at this point and believe at least that much of the events that need fixing aren't events that need to be fixed prior to starting a test.

    A few thoughts from my playtest against myself through turn 31:

    -The Allies will need to keep up a brisk pace to reach 225 points in 25 turns, and earn their first army group, but after that they should be able to pick things up. I came pretty close in my playtest, and this was with knowing both sides' plans - as much as I tried to pretend I didn't know what was about to happen, there's only so far that goes. I'm interested to see how many points you accumulate and I'll be keeping track of the score during the test.

    -Despite the changes we've made, and even if they sustain fairly heavy losses in the Battle of the Atlantic, the Allies should still more or less be built up by turn 25 or so, assuming they invest heavily in this. That might prevent them from earning the first battle group, however, depending on how things go.

    -If the Luftwaffe can concentrate forces, they can slaughter the bomber groups, especially if they can bring their bomber destroyers to bear. However, from turn 25 onward the Allies start building up so many forces that it is unlikely the Luftwaffe can be everywhere at once. Also, if the Allies can skirt past the bomber destroyers and keep their formations tight, the Luftwaffe can expect to lose 1-4 aircraft attacking larger bomber formations with standard interceptors and escorts. The Luftwaffe is definitely a force to be reckoned with early.

    -The Allies get enough aerial reinforcements (at around every 75/100 points) to keep up the pressure and keep things fun without too much need for "dead turns."

    -Both sides have a pretty good chance to "win" the Battle of the Atlantic, though it's only going to slow the Allies.

    Allied Point and Tech Progression in Playtest
    Turn 1: 30,
    Turn 2: 38,
    Turn 3: 38,
    Turn 4: 38, Industry II
    Turn 5: 87,
    Turn 6: 110, Industry III
    Turn 7: 119,
    Turn 8: 127,
    Turn 9: 134, - I have to cut back on science to make more fuel for attacks
    Turn 10: 135, Fuel Production II
    Turn 11: 145,
    Turn 12: 149,
    Turn 13: 168.5
    Turn 14: 176, Fuel Production III
    Turn 15: 183.5
    Turn 16: 185 - I can achieve 3 techs per turn while earning over 200 fuel each turn
    Turn 17: 185, Political Support I - many cities are at full strength too
    Turn 18: 200 - I get the tech for the need for long-range fighters
    Turn 19: 200,
    Turn 20: 200,
    Turn 21: 200,
    Turn 22: 207,
    Turn 23: 207, Political Support II - I get the next wave of RAF reinforcements
    Turn 24: 207,
    Turn 25: 218.5, Engines II
    Turn 26: 235,
    Turn 27: 250, Strategic Bombers II - missed chance to get army reinforcements by 2 turns
    Turn 28: 268, - Allies get 15th AF Reinforcements
    Turn 29: 268, Window
    Turn 30: 288
    Turn 31: 305, Escort Fighters I
     
  19. Prof. Garfield

    Prof. Garfield Deity Supporter

    Joined:
    Mar 6, 2004
    Messages:
    2,323
    Location:
    Ontario
    I have log.lua and text.lua at the moment.

    No, that's not the way it is done. I'll go through and do them myself later.
     
  20. Prof. Garfield

    Prof. Garfield Deity Supporter

    Joined:
    Mar 6, 2004
    Messages:
    2,323
    Location:
    Ontario
    All event files are available.

    Combat reports now report Dead units and total engagements.

    A list of checkboxes also gives the options for players to exclude certain units from the combat reports.

    I found that A2A rockets seem to be pretty good at destroying urban targets. Do you want me to change them so that they can only damage air units?
     

    Attached Files:

Share This Page