Over the Reich - Creation Thread

Unfortunately that throws the same error. I'm going to "park" some text at certain turns for now while I work through some flavor text tonight.

Oops, I think it should be justOnce("testJustOnce",function () civ.ui.text("Testing1.") end) instead.
 
I have unit formations mostly working. There are a couple bugs to fix and cases to check, but all the work looks like it will be in the required file from now on. If you can let me have the events for a couple hours (well, ~15 minutes once I notice they are available) I'll give you something you'll want to make a video about. Seriously, this will be a massive quality of life improvement for almost any scenario, so at some point I'll have to make a generalized version of it

Well I'm not going to stand in the way of that! I'll be putting my kids to bed for the next hour or two anyway. I would like the events back later though so I can finish up the flavor text now that the justOnce is working.

Changelog:

-Fixed error with reaction bug for P-51D, 332nd FG, Tempest, P-80, Meteor
-Confirmed that at least up to 14 units can react at same time without crashing
-Confirmed that P-51D can occasionally damage Me262
-Fixed P-80 and Meteor so that they can react to jets
-Changed ship offload message to say "tanks and supplies" rather than "tanks and fuel"
-Changed V1 and V2 to fire on night map
-Cleaned up local OTRUnitTypeTextTable to bring up to date with changes made since I first wrote it
-Reworked reactive units. Flak now matches "proactive" (direct fire) values. Units now have greater differentiation. Readme includes appendix with details.
-Increased bomber loss requirement to 60 from 25 for long range escort tech.
-Changed text for German victory
-Added text for Foggia airfields (renamed from Shingle)
-Added text for Overlord
-Added text for B-17 initially attacked
-Added text for first B-17 destroyed
-Added first turn flavor text for Allies and Germans
-Added second turn flavor text for Allies and Germans

I was not able to get the native transport to work for the V1 or V2. We basically want to remove its ability to transport but none of 0,1,2,3,4 worked. I did change the firing so it is fired at the night map but it can still transport back.

TO DO:
-Test the text for the different airfields opening
-See if I can get a text pop up for the German player when this happens too
-Finish vistula text

Basically I'm going to town with text boxes, as I'm excited that a multiplayer scenario can have more than the first civ receive them now.
 

Attachments

Here you go.

Unit formations "4mations":

Press '4' (above letter keys) to center a formation around the active unit, which will be called the formation 'leader'. The dialog box will let you choose how big the formation is. The formation will consist of all units with same domain as the leader within the number of squares chosen when the formation was created. Units with orders (e.g. sleep, fortify) will not join the formation. Air units in cities/airbases will not be recruited.

Units in the formation will attempt to perform the same movement as the leader. If they can't, they drop out of the formation. Formation units will not attempt to enter an enemy city (and air units won't enter a friendly city either), nor will they attack enemy units in the field or generate munitions.

Ground and sea units will drop out of the formation when they have 0 movement left, air units will drop out when they have 1 movement point left. If a unit drops out of a formation, it will have its remaining movement left, unless it is a ground unit that failed to enter a square because it didn't have enough movement points left (it will try to enter, with probability movementRemaining/terrainMoveCost).

Activating a new unit will break up the formation (the game will not remember the formation when the leader is re-selected). The formation can also be broken up by pressing '4'.
 

Attachments

I was not able to get the native transport to work for the V1 or V2. We basically want to remove its ability to transport but none of 0,1,2,3,4 worked. I did change the firing so it is fired at the night map but it can still transport back.

For some reason, the change must be made in the onLoad event. Try it there, where you will also find

unitAliases.DefensiveFire.nativeTransport = 1
unitAliases.damagedB17F.nativeTransport = 1
unitAliases.damagedB17G.nativeTransport = 1
 
Here's an update to the formation file. Now, if something prevents the leader from moving, the rest of the formation shouldn't move either. This was the major thing I noticed, and which I was able to solve much more easily than I had thought. As far as I know the formations are working properly, but there obviously has to be more testing to know for sure.
 

Attachments

I'm going to make a video soon because this is friggin AWESOME - one thing I noticed is that all units must start on the same map and I'm curious if it's possible to have them all follow each other from high to low alt (and vice versa) as well?
 
Any idea what is causing this? It is for the Overlord Prep tech. I tested it and Italy on the same turn and Italy fired fine but Overlord gave trouble. No idea why as I thought "bad argument #1 to 'giveTech' (civ.tribe expected, got number) means that the issue is with "civ.tribe expected" yet it looks exactly the same as Italy. This also for some reason is causing a loop issue where any time I activate any unit I keep getting the same text.

The lines might be off a bit as I've added some.

Code:
D:\Test of Time\Scenario\OTR3\events.lua:5174: bad argument #1 to 'giveTech' (civ.tribe expected, got number)
stack traceback:
    [C]: in function 'civ.giveTech'
    D:\Test of Time\Scenario\OTR3\events.lua:5174: in upvalue 'afterProduction'
    D:\Test of Time\Scenario\OTR3\events.lua:5505: in function <D:\Test of Time\Scenario\OTR3\events.lua:5469>
D:\Test of Time\Scenario\OTR3\events.lua:5174: bad argument #1 to 'giveTech' (civ.tribe expected, got number)
stack traceback:
    [C]: in function 'civ.giveTech'
    D:\Test of Time\Scenario\OTR3\events.lua:5174: in upvalue 'afterProduction'
    D:\Test of Time\Scenario\OTR3\events.lua:5505: in function <D:\Test of Time\Scenario\OTR3\events.lua:5469>
 
The concept of formation flying is very cool indeed. You guys are doing an amazing job here. The original version of OTR was fun but very clunky. This looks like it's lightyears ahead of that.
 
Thanks, @McMonkey . We will see what you think when you play it. I have long said that you are "The Final Boss Battle" lol :) it will be interesting to hear your perspective as you're the only other person who will have played all 3 versions.
 
I'm going to make a video soon because this is friggin AWESOME - one thing I noticed is that all units must start on the same map and I'm curious if it's possible to have them all follow each other from high to low alt (and vice versa) as well?

Yes, they will follow each other between maps if they can.

Any idea what is causing this? It is for the Overlord Prep tech. I tested it and Italy on the same turn and Italy fired fine but Overlord gave trouble. No idea why as I thought "bad argument #1 to 'giveTech' (civ.tribe expected, got number) means that the issue is with "civ.tribe expected" yet it looks exactly the same as Italy. This also for some reason is causing a loop issue where any time I activate any unit I keep getting the same text.

The lines might be off a bit as I've added some.

I found it, though it took an embarrassingly long time to do so, given what the mistake was. Ended up cutting the 'giveTech' line that I knew worked. Here's the difference:
civ.giveTech(tribeAliases.Allies, civ.getTech(73))
civ.giveTech(tribeAliases.Allies, civ.giveTech(74))

Instead of using civ.getTech(74), I accidentally used civ.giveTech(74), and that is why we are getting an error about giveTech having a first argument as a number.

Since you're working with points and flags, I've made functionality to change them in the console with the following commands:
console = {}
console.flag = flag
console.setFlagFalse = setFlagFalse
console.setFlagTrue = setFlagTrue
console.setCounter = setCounter
console.incrementCounter = incrementCounter
console.counterValue = counterValue

i.e. console.setCounter("myCounter",50) sets the counter "myCounter" to 50 from the console. I did this a while ago, but I don't remember if I told you. The changes you make will be preserved when the game is saved.
 
I'm going to make a video soon because this is friggin AWESOME - one thing I noticed is that all units must start on the same map and I'm curious if it's possible to have them all follow each other from high to low alt (and vice versa) as well?

Correction to what I said earlier, apparently I did something to break that functionality when I introduced a check to see if the unit moved, since it was working earlier. I'll try to make a fix.

EDIT: This seems to be an inconsistent bug, which is very annoying.
 
Last edited:
You'll never believe this. The error disappeared when I put in a print function. My code checks if the leader's location is the same as it was on the previous key press (so that if a ship runs into land or something, the rest of the formation doesn't keep going). I'm guessing that the game takes a tiny bit longer to process a teleport than a directional movement, and the print statement made the difference between lua catching the unit on the old square and on the new square. I now make the lua code do a series of pointless calculations when 'n' is pressed to give the game a chance to move the unit if it should be moved. Here is the updated code.
 

Attachments

The events are yours.

I noticed that there is a large amount of work for the special targets built in to these events. I'm not sure how far along these are/how functional. I think we are down to the last few things: veteran swap, air protected stacks(?- I may have missed this), and these missions. We might be able to release this for an open beta with everything included but I'm not sure how you view that possibility.

I know that you had mentioned a concern with France being just as important to Germany as the Atlantic is to the Allies but think of it this way:

1. The Allies can increase the amount of ships they get but the Germans cannot increase the number of freight trains, so eventually the Atlantic could be twice as "powerful;"
2. Much like we condensed "the action" in the Atlantic to one small section, that's kind of what we're doing with France. It doesn't just represent Southern France. It represents all of occupied Europe, but puts it in one place. Sure, we could add freight trains in Poland or Czechoslovakia, but the Allies would almost never be able to reach it to kill them. In France (especially with the lua ban against building cities too close to the spawn), the trains are within reach.

Would you mind adding a few other locations in France for the trains to spawn so the Allies can't plan on catching them at that location? I wasn't sure how to do it with the way you used "destination." I didn't know if I could simply add more coordinates or not.

I'd really like to try to get this out for an open beta in December to try and take advantage of holiday time that players might have. Before doing that I intend to take it through one more 1 player spin for at least 50 turns or so just to see if I can catch anything stupid like a railtrack that is missing, etc. I'll probably try to find a day to take off (I need to burn some time anyway) to focus on that.

CHANGE LOG:

11/24/18
-Added text for Vistula-Oder offensive
-Provided adiditional aircraft (8x Yak-3 and 4x Il-2) spawn when this offensive occurs - it is now an actual threat.
-Added additional aircraft for Italian Theatre (10x 15th Air Force Bombers) - again, this is now an actual threat immediately rather than a slow process for the Allies to build strength. This and the Vistula should now be a nasty surprise.
-Germans get their own text for D-Day to let them know something happened.
-Added flavor text for Stalingrad, Husky, Avalanche, Fall of Kiev, Dnieper-Carpathian Offensive. These are triggered by different specialnumbers - I didn't test them but assume that they'll work.
-Gave Allies 3x B-17F on turn 2 along with some text about American build up.
-Flavor / help text added for Roam at Will, Interceptors III, Wunderwaffe, and Wilde Sau techs.
-Fixed the native transport for V1 and V2.
-Changed reacting text slightly to make it a little less sterile.

You'll never believe this. The error disappeared when I put in a print function. My code checks if the leader's location is the same as it was on the previous key press (so that if a ship runs into land or something, the rest of the formation doesn't keep going). I'm guessing that the game takes a tiny bit longer to process a teleport than a directional movement, and the print statement made the difference between lua catching the unit on the old square and on the new square. I now make the lua code do a series of pointless calculations when 'n' is pressed to give the game a chance to move the unit if it should be moved. Here is the updated code.

I am glad you were able to figure that out because there's no chance I would have! These quirks are interesting. I wonder if we'll run into issues with people playing on faster/slower computers. It does work fine on my fast "development" computer so hopefully we are set (I use a slower one to play single player since the game hangs up/think during AI turns and I can't see AI moves).
 

Attachments

I noticed that there is a large amount of work for the special targets built in to these events. I'm not sure how far along these are/how functional. I think we are down to the last few things: veteran swap, air protected stacks(?- I may have missed this), and these missions. We might be able to release this for an open beta with everything included but I'm not sure how you view that possibility.

We still need to fix air protected stacks, by moving the 'protecting' unit off the ground/sea units. I've already written code to do that sort of thing a couple times in this scenario, but this one has to make sure that the aircraft won't be placed over another ground unit. I believe you said that the check and removal should be done for adjacent squares when 'k' is pressed, rather than after production, so that Air protection works against non 'k' units. Are there any units that you want to be allowed to have air protection (as long as there are no forbidden units in the stack also)? If so, I'll make a reference to a table so you don't have to make a complete list right now.

Veteran swap is also on the list. I believe you said that both units should have full health to make the transfer, and that the transfer should take an entire turn to do. I'll write the code so that each group that can veteran swap will be a list in its own table.

I'll have to take a look at what I did and how far I got with regards to the special targets. I'll probably do this last (but before any more 'quality of life improvements'), since the scenario is theoretically complete without them, and so if we have to start testing without them, we can. They'll probably get done in time anyway (a deadline usually translates to results).

The improvement tiles around newly captured cities have to be changed to the corresponding rubble, and all the improvements destroyed (the latter can be done in rules.txt I believe). Unless we want some of the housing or industry to survive, in which case something more complicated will have to be done.

Something else: a while ago I wrote a 'newspaper' (newspaper.lua, I believe is the file, press 2 to view the newspaper itself) functionality which allows the player to browse previous event text boxes, if an 'add to newspaper' function was run for that text at the time the text was displayed. At the moment, you can go forward and backward in the 'articles', but I plan to make it so that you can select something you need to check from a title. In any case, think about what text boxes you want to save for the Allies and Germans, and what their 'title' should be.

Would you mind adding a few other locations in France for the trains to spawn so the Allies can't plan on catching them at that location? I wasn't sure how to do it with the way you used "destination." I didn't know if I could simply add more coordinates or not.

Definitely. I was planning to re-write the event details after we confirmed how we want the event to work. At the moment, the Germans only have to not disband units (and replace any infantry kills) to get the full number of trains. Perhaps we can think of some way for the Allies to influence this, which isn't too burdensome for the players, and would actually be worth using by the allies.

I'd really like to try to get this out for an open beta in December to try and take advantage of holiday time that players might have. Before doing that I intend to take it through one more 1 player spin for at least 50 turns or so just to see if I can catch anything stupid like a railtrack that is missing, etc. I'll probably try to find a day to take off (I need to burn some time anyway) to focus on that.

I think mid December is an achievable release date.

I am glad you were able to figure that out because there's no chance I would have! These quirks are interesting. I wonder if we'll run into issues with people playing on faster/slower computers. It does work fine on my fast "development" computer so hopefully we are set (I use a slower one to play single player since the game hangs up/think during AI turns and I can't see AI moves).

I'm hoping that a faster computer means both actions are done faster, so it won't matter. In any case, players don't have to use it if it's too buggy. When I write a 'general' version of formations, I'll have the program figure out if the leader moved based on the key press and original location (and surrounding features) rather than do a 'before' and 'after' check.
 
We still need to fix air protected stacks, by moving the 'protecting' unit off the ground/sea units. I've already written code to do that sort of thing a couple times in this scenario, but this one has to make sure that the aircraft won't be placed over another ground unit. I believe you said that the check and removal should be done for adjacent squares when 'k' is pressed, rather than after production, so that Air protection works against non 'k' units. Are there any units that you want to be allowed to have air protection (as long as there are no forbidden units in the stack also)? If so, I'll make a reference to a table so you don't have to make a complete list right now.

I don't mind if land and sea forces have air protection, to be honest. Sea forces used to be frustrating because you would simply escort your freighters all the way from the edge of the map with Sunderlands, and it was very difficult (practically impossible) for Germany to do much about this. Now that the freighters spit out in the Celtic Sea/Bristol Channel, they spit out within reasonable fighter range of the Luftwaffe. I think close air cover is appropriate for naval and ground forces so long as the other player can reasonably hope to attack them. Given stack kills are enabled, and it is possible to destroy an aircraft with one strike, it would be foolish to air protect too many assets at once with aircraft.

I would still like the air protected stack to be worked out so that the target units can't have air protection. I don't want an early (pre-long-range escort) bomber run to find all the targets unassailable because someone parked a fighter on them. I would say all of the target units should not be able to be protected to avoid this.

Veteran swap is also on the list. I believe you said that both units should have full health to make the transfer, and that the transfer should take an entire turn to do. I'll write the code so that each group that can veteran swap will be a list in its own table.

Sounds good.

I'll have to take a look at what I did and how far I got with regards to the special targets. I'll probably do this last (but before any more 'quality of life improvements'), since the scenario is theoretically complete without them, and so if we have to start testing without them, we can. They'll probably get done in time anyway (a deadline usually translates to results).

We don't necessarily need all of them either. If there are a few that are closer to completion I'd suggest prioritizing them to have a few in the game at beta release. I would like player feedback on how interesting these are (or aren't).

The improvement tiles around newly captured cities have to be changed to the corresponding rubble, and all the improvements destroyed (the latter can be done in rules.txt I believe). Unless we want some of the housing or industry to survive, in which case something more complicated will have to be done.

I'm not sure I follow you with the rules.txt portion - there is a corresponding "destroyed" terrain type (11 - 14) on each of the maps. I can't remember why map 2 has a different name for bombed refinery. It might be a mistake in naming. I'll put looking into that on my to do list. Please clarify if I need to do something further.

Something else: a while ago I wrote a 'newspaper' (newspaper.lua, I believe is the file, press 2 to view the newspaper itself) functionality which allows the player to browse previous event text boxes, if an 'add to newspaper' function was run for that text at the time the text was displayed. At the moment, you can go forward and backward in the 'articles', but I plan to make it so that you can select something you need to check from a title. In any case, think about what text boxes you want to save for the Allies and Germans, and what their 'title' should be.

I think the best use for this would probably be the special mission text, to be honest. While I do plan on having an appendix with their triggers, this is the text that I would think players would need/want to revert to in order to aid game play. Most of the other text in the scenario is nice, but just flavor. I don't think there's too many other "information" text boxes - perhaps the Overlord Prep box, but only the Allies should be able to see that. I don't know that someone would need/want to read about Stalingrad again.

Definitely. I was planning to re-write the event details after we confirmed how we want the event to work. At the moment, the Germans only have to not disband units (and replace any infantry kills) to get the full number of trains. Perhaps we can think of some way for the Allies to influence this, which isn't too burdensome for the players, and would actually be worth using by the allies.

Well, the Allies want to go out and destroy the ground forces--that's how they'd influence it. It is for two reasons - deny Germany freighters and soften France for D-Day. If the Allies made a point of investing in this I suppose it could draw off Luftwaffe resources just like any other strategy, and dispersing the Luftwaffe is important.

Perhaps in addition to the trains we could tie in the cost of Schutzen, Panzers, and Artillery and increase their cost as there are less forces of them in France? Perhaps add an extra row to their cost for each 10 that aren't there? This would almost be an abstract representation of manpower that is diverted to fight partisans, or destroyed in the field vs. the Allies.

I think mid December is an achievable release date.

I would propose that we aim to release this to a general open beta on or before December 14. This would give us two more weekends and would allow us to get this into the hands of the public in time for their holiday break, to hopefully increase the likelihood that they have time to set up a match.

I plan to spend this week trying to tidy up things outside of the events. I may add in some special terrain resources (right now there are none) just so the map fills out a bit more. I will also double check art/icons and finish the readme (it's nearly done just needs an appendix and discussion about the yet-unfinished events). I'll try to find a score and add some sounds as well. Basically, it's time to "polish" and hope to have this done by this weekend.

Depending on when you finish what, I'll be available to start another alpha test. You can give me special projects if there's something I can help with, otherwise I will likely try to run through a hotseat playtest against myself to see if I can find any obvious bugs/broken issues.

I'd propose the following post-beta release schedule:

-Ongoing support while the playtests are going on of course to fix any bugs that need fixing to get people back in the saddle;
-Reconvene at some point 1st or 2nd quarter 2019 depending on playtest speed to reassess, make any necessary major changes, and release final version.

I'm hoping that there will be at least 3 games going if possible but this depends of course on if the people who have been reading this thread for the past several years are interested :)
I do want to try taking on @McMonkey given our history with this game to see if we get his seal of approval ;)
 
I don't mind if land and sea forces have air protection, to be honest.

I would still like the air protected stack to be worked out so that the target units can't have air protection.

OK, I'll work it out so that strategic targets have any air protection moved if a munition is generated in an adjacent square.

'm not sure I follow you with the rules.txt portion - there is a corresponding "destroyed" terrain type (11 - 14) on each of the maps. I can't remember why map 2 has a different name for bombed refinery. It might be a mistake in naming. I'll put looking into that on my to do list. Please clarify if I need to do something further.

I thought TOTPP had a setting for each building in the rules.txt that said what happened to it when the city is captured. As I understand it, we want them to be automatically destroyed. If I'm wrong about the rules.text option, I can achieve this via Lua.

I would propose that we aim to release this to a general open beta on or before December 14.

I agree with that date, but I might be busy that weekend if extra support ends up being needed.

I'd propose the following post-beta release schedule:

-Ongoing support while the playtests are going on of course to fix any bugs that need fixing to get people back in the saddle;
-Reconvene at some point 1st or 2nd quarter 2019 depending on playtest speed to reassess, make any necessary major changes, and release final version.

I'm hoping that there will be at least 3 games going if possible but this depends of course on if the people who have been reading this thread for the past several years are interested :)
I do want to try taking on @McMonkey given our history with this game to see if we get his seal of approval ;)

Works for me.
 
I think you're right about being able to always destroy an improvement but I'll let you know for sure tomorrow
 
Back
Top Bottom