Enhanced Balance Mod for 3.x

Did you create a mod, map, music, or a tool? Present them here and earn feedback!
Note: addon requests do not belong here.
Note, everything uploaded to this forum, MUST have a license!
MIH-XTC
Trained
Trained
Posts: 368
Joined: 31 Jan 2014, 07:06

Re: Enhanced Balance Mod for 3.x

Post by MIH-XTC »

Alright guys, status update:

I have a working demo of EB in Alpha campaign. What I sent above was a little premature, what I have now is bug free in Alpha.

You have to download the repo https://github.com/jbreija/Warzone2100E ... master.zip

And then copy and paste the files in campaign/mod directly into your base.wz. It’s compatible with Master branch.

This is a work in progress but a preview of things to come. The Alpha campaign difficulty is now a lot harder with EB stats and I re-did the maps to add more units. It’s too much to list all changes but there are people that know what to look for when reviewing the maps/scenarios. For example, I added a helicopter ambush on player HQ in cam1c but I still need to insert an AA related artifact to counter balance this. I have a new turret for this…

What do you guys think about the stats? Slower units until engine upgrade. Smaller sensor range until sensor turret. Faster production on wheels+mg. More power per derrick. Things should seem more calibrated? Long hit on MG could go from 40 50.

I worked on this all day but made it in one day to give an idea of the possibilities. I’ll refine it many times and I haven’t touched Beta or Gamma yet.
User avatar
Berserk Cyborg
Code contributor
Code contributor
Posts: 938
Joined: 26 Sep 2016, 19:56

Re: Enhanced Balance Mod for 3.x

Post by Berserk Cyborg »

O_o Whoa, that was quick.

Overall, the inclusion of all these new weapons and improved stats is a good thing. I think you went a
tad bit crazy on the amount of helicopter factories on Alpha 6 (one is on an enemy LZ) and included way too many units in front of the Alpha 8 base... note the trucks won't be able to build their defenses along that route to the second LZ due to being blocked by so many units.

Liked how you added a NP cannon unit that's lurking in the inaccessible section of the Alpha 4 map. It's possible to make it sense the player and get it to attack units hanging on the cliffs near it.

As for video sequences:
1. The cyborg factory is locked into first appearing in Alpha 9 (cam1-5). Which depends on a dedicated "synaptic link" technology from the Alpha 9 cyborg factory.
2. The repair facility is supposed to show up and be available in Alpha 5 where the first repair facility appears.
3. We have to use the Super-Transporter since it's shown as so in the videos.

I haven't checked out the whole tech tree yet or the maps in detail, though as you said, you are still working on things and maybe just adding "keyTopic" to the relevant research will solve this anyway.


---
Next time you update the mod, please include the change 189b18dec1fc9ffe2381eeee1d89534112309601 for terraindepth.frag. I also noticed the multiplayer quad tank killer has an extra space for the quad lancer dependency: " R-Wpn-Rocket01-LtAT-Quad" which I noticed when I graphed your tech tree to see how it looks.
MIH-XTC
Trained
Trained
Posts: 368
Joined: 31 Jan 2014, 07:06

Re: Enhanced Balance Mod for 3.x

Post by MIH-XTC »

Berserk Cyborg wrote: 22 Jul 2019, 22:13 O_o Whoa, that was quick.

Overall, the inclusion of all these new weapons and improved stats is a good thing. I think you went a
tad bit crazy on the amount of helicopter factories on Alpha 6 (one is on an enemy LZ) and included way too many units in front of the Alpha 8 base... note the trucks won't be able to build their defenses along that route to the second LZ due to being blocked by so many units.

Liked how you added a NP cannon unit that's lurking in the inaccessible section of the Alpha 4 map. It's possible to make it sense the player and get it to attack units hanging on the cliffs near it.

As for video sequences:
1. The cyborg factory is locked into first appearing in Alpha 9 (cam1-5). Which depends on a dedicated "synaptic link" technology from the Alpha 9 cyborg factory.
2. The repair facility is supposed to show up and be available in Alpha 5 where the first repair facility appears.
3. We have to use the Super-Transporter since it's shown as so in the videos.

I haven't checked out the whole tech tree yet or the maps in detail, though as you said, you are still working on things and maybe just adding "keyTopic" to the relevant research will solve this anyway.


---
Next time you update the mod, please include the change 189b18dec1fc9ffe2381eeee1d89534112309601 for terraindepth.frag. I also noticed the multiplayer quad tank killer has an extra space for the quad lancer dependency: " R-Wpn-Rocket01-LtAT-Quad" which I noticed when I graphed your tech tree to see how it looks.
I agree with everything you said above. The things you pointed out are because I haven't gotten around to them yet but I 100% agree with all your assessments. What I have right now is intended to give you an idea of the possibilities and timelines. Basically, we can change anything we want :).

Tomorrow I'm going to spend all day going through and check/uncheck'ing all the keyTopic flags through all 3 campaigns, that's why all that stuff is like that and is out of order. I will not change the timeline of artifacts based on the original scenarios and video sequences but I'll add more artifacts. The amount of units and placement I haven't tested yet, they're only samples. Basically, I'll run it through and simulate it several times and make sure it's hard and barely winnable. Preferably winnable by a "tactic" or "trick".

But yea... I'm going to work on all of this and then get in sync with master. What I have right now has a lot of duplicate of base.wz that hasn't been modified. I need to figure out a good method of quickly diff'ing directories and getting the minimal difference. A good stack overflow of git sequences would be good.
Forgon
Code contributor
Code contributor
Posts: 298
Joined: 07 Dec 2016, 22:23

Re: Enhanced Balance Mod for 3.x

Post by Forgon »

MIH-XTC wrote: 23 Jul 2019, 03:50 [...] What I have right now has a lot of duplicate of base.wz that hasn't been modified. I need to figure out a good method of quickly diff'ing directories and getting the minimal difference. A good stack overflow of git sequences would be good.
With Linux, you can easily compare directories using `diff -r DIRECTORY_1 DIRECTORY_2`.
MIH-XTC
Trained
Trained
Posts: 368
Joined: 31 Jan 2014, 07:06

Re: Enhanced Balance Mod for 3.x

Post by MIH-XTC »

Forgon wrote: 23 Jul 2019, 08:16
MIH-XTC wrote: 23 Jul 2019, 03:50 [...] What I have right now has a lot of duplicate of base.wz that hasn't been modified. I need to figure out a good method of quickly diff'ing directories and getting the minimal difference. A good stack overflow of git sequences would be good.
With Linux, you can easily compare directories using `diff -r DIRECTORY_1 DIRECTORY_2`.
yea but then how does one go about performing the actual merge? That's the hard part. I'm not well versed with Git

Speaking of Linux commands, I just grep'ed all the artifacts out of campaign with 'grep -nIR camSetArtifacts -A 10'

That recursively searches all documents for the string "camSetArtifacts" and captures 10 lines After the match.

From there I used this regex ^(?!.*{ tech: .*).+$

to keep only the lines containing the string '{ tech: '

Here are the results :
Spoiler:
that should be all artifacts in campaign :)
MIH-XTC
Trained
Trained
Posts: 368
Joined: 31 Jan 2014, 07:06

Re: Enhanced Balance Mod for 3.x

Post by MIH-XTC »

Yay!!!!!!!!!!!!!!!!!!!!!!!!!!!!

I’m finally done merging EB into campaign and more importantly unifying the campaign and multiplayer experience. They now use the same tech tree and stats; everything is unified and this mod is now global. I added 20-30 artifacts into campaign to make this happen and retouched all of the maps.

I also ported Ultimate Scavengers into campaign as a bot that appears in all maps. The intentions were to have the same scav behavior in campaign and mp. I could have implemented the AI behavior from scratch using libcampaign.js but I wanted the experience between campaign and mp to be as similar as possible and it’s also a lot easier to port than to start from scratch. This idea actually turned out better than I anticipated because Alpha campaign1 is already setup for 2 AI’s – scavengers and new paradigm. The idea of having 2 AI’s per map allows for a new timer-based AI without disturbing the original event-based AI (to some extent). It’s basically separation of control behind the scenes but from a player’s perspective they see it as the same enemy (except for the color differences. Cyan (player 7) is ugly in Gamma). All maps now have at least 1 enemy factory owned by player 7. The timers for this AI are set in the bottom of each camx-x.js file.

I already tested for software bugs and research dependencies but I need testers for difficulty and to see if the new AI conflicts with event based triggers/ambushes. I don’t have time to actually play the campaign but I have a good idea of how difficult it should be. I can practically go on forever tweaking things here and there with the maps but what I have now is a good place to stop.

Can you guys let me know?

It’s available for download here
https://github.com/jbreija/Warzone2100E ... /EB-Mod.wz

The mod has to be run from the mods/global directory and then start wz using the command line option –mod=EB-Mod.wz

EDIT: Just remembered the mp version also needs a separates rules.js and scavfact.js so technically I need a separate mod for mp.

Known Problems:
- Warzone crashes when using more than 1GB memory in Windows
- Position of spiral rings around large generators is hardcoded in source.
- Some flakey behavior with 2 research, factory and generator modules. Long story short, I had to enable them both at same time. That's why it appears twice in build menu
- Placing larger modules must be done from the build menu. Ties into issue above. This is somewhat beneficial actually from accidentally upgrading.
- Larger graphical model sizes do not rescale in the menus
- I haven't sorted out the research messages yet but it's cosmetic. I just have some placeholder research messages.
- Plasteel wall models don't attach nicely. I need to spend more time with this.
User avatar
Berserk Cyborg
Code contributor
Code contributor
Posts: 938
Joined: 26 Sep 2016, 19:56

Re: Enhanced Balance Mod for 3.x

Post by Berserk Cyborg »

I think it's pretty spotty which trigger area/radius labels are using "subscriber", so it's probably an issue on some missions. This was something I wanted to check eventually, so I might as well start doing so. Edit: Wasn't as bad as I thought. PR 454.

Before trying things out, I did a very quick test throughout the campaign, and, saw some issues.

Alpha:
1. First trigger zone in alpha 1 can be triggered by a crane. *fixed with my pr.
2. The Hard/Insane starting power totals might need tweaking.
3. Why not add another base on the west side of the sub1-1 map? The western path is incredibly easier than than the eastern one.
4. the NP base on the sub1-3 map is using scavenger mortar pits. It should use the regular hardcrete ones.
5. There are several Cyan hovers on sub1-d that don't have an alliance with the New Paradigm. Resulting a few things being damaged, and making the 9 heavy-cannon units near the LZ move.

sub1-b is using New Paradigm players on the mortar units and a couple of firetrucks. Not sure if that was intentional.

Beta:
1. An HPV long cannon unit is trapped behind the downed transporter on the sub2-1 map (it's a structure).
2. The huge factory on the sub2-7 map gets destroyed and can't drop its artifact.

Gamma:
1. Changing the missile silos broke the script on sub3-1. It triggers the map reveal event within a few seconds. So you'll need to update the labels since the original silos don't exist anymore.
2. eventDroidBuilt related undefined errors in sub3-b.
3. I'd check if the Nexus plasma launcher pit on sub3-4 is able to fire without blowing itself up. It already has the tendency of doing so and taller walls might make it worse.

You'll want to also checkout camSetupTransporter() in the campaign library since that is creating a small transporter for the player. It's so slow...



Edit: I'd look into if you can beat Beta-1 on Insane difficulty. Most players wouldn't last more than 5 minutes at the moment.

Gamma-1 has non-artrev missile cyborgs on map, which have their legs connected to their head.
MIH-XTC
Trained
Trained
Posts: 368
Joined: 31 Jan 2014, 07:06

Re: Enhanced Balance Mod for 3.x

Post by MIH-XTC »

^^ thanks man, I'll work on that stuff and let you know. I'm going to take tomorrow off and then I'll pick back up on Monday.
MIH-XTC
Trained
Trained
Posts: 368
Joined: 31 Jan 2014, 07:06

Re: Enhanced Balance Mod for 3.x

Post by MIH-XTC »

Berserk Cyborg wrote: 28 Jul 2019, 03:52 I think it's pretty spotty which trigger area/radius labels are using "subscriber", so it's probably an issue on some missions. This was something I wanted to check eventually, so I might as well start doing so. Edit: Wasn't as bad as I thought. PR 454.
You're right, it's spotty in the beginning of alpha where player 7 is already present. There is some collision in behavior but I didn't think it was that big of a deal. Same thing with the crane in cam1a. Those are easy fixes, I just didn't think it mattered. At first I just started off importing scavs into Alpha only so I didn't have any intentions of putting an AI in every map. In retrospect, it might be better to just move this AI to a completely new player (need to find right color) and then that way there is complete separation of control. If there are any issues, we can just disable this AI by setting all its timers to -1 and the result is just an extra factory on the map. What do you think about having a completely new player on the maps instead of using UltScav for player 7? Game play wise there would be no difference. I don't like cyan color in Gamma.
Berserk Cyborg wrote: 28 Jul 2019, 03:52
2. The Hard/Insane starting power totals might need tweaking.
yep I think so. I think all power boosts should also be removed unless they are related to the story line or for finishing the map early. Otherwise, I think the power boosts were just hacks to fix the power imbalance. A better solution is to add more oils where appropriate.
Berserk Cyborg wrote: 28 Jul 2019, 03:52 3. Why not add another base on the west side of the sub1-1 map? The western path is incredibly easier than than the eastern one.
haha, the reasoning doesn't have anything to do with the map plot. I needed a place to insert a Helicopter artifact in early-mid Alpha and all the other maps were saturated. One of those factories drops a helicopter artifact but it's optional and not a part of the story line. They do a massive helicopter attack once the story line artifact is collected near the back of the map.
Berserk Cyborg wrote: 28 Jul 2019, 03:52 4. the NP base on the sub1-3 map is using scavenger mortar pits. It should use the regular hardcrete ones.



5. There are several Cyan hovers on sub1-d that don't have an alliance with the New Paradigm. Resulting a few things being damaged, and making the 9 heavy-cannon units near the LZ move.

sub1-b is using New Paradigm players on the mortar units and a couple of firetrucks. Not sure if that was intentional.

Beta:
1. An HPV long cannon unit is trapped behind the downed transporter on the sub2-1 map (it's a structure).
2. The huge factory on the sub2-7 map gets destroyed and can't drop its artifact.
yep agreed. It's relieving to work with someone that has the same level of attention to detail :)
Berserk Cyborg wrote: 28 Jul 2019, 03:52 Gamma:
1. Changing the missile silos broke the script on sub3-1. It triggers the map reveal event within a few seconds. So you'll need to update the labels since the original silos don't exist anymore.
2. eventDroidBuilt related undefined errors in sub3-b.
3. I'd check if the Nexus plasma launcher pit on sub3-4 is able to fire without blowing itself up. It already has the tendency of doing so and taller walls might make it worse.
Good look on the missile silos, that's the type of stuff I'm not familiar with in the story line so I wouldn't have noticed until actually playing to that point.
Berserk Cyborg wrote: 28 Jul 2019, 03:52 You'll want to also checkout camSetupTransporter() in the campaign library since that is creating a small transporter for the player. It's so slow...
I'll take a look but I haven't yet. I tried doing randomized enemy transport landings but couldn't get it to work. I would like to have UltScav transporters land with trucks and rebuild/spread on non-combat related missions. For example, the Alpha mission to build the power generator.

I also just noticed I'm using the wrong transporter model for starting the missions. I modified libcampaign.js to have enemy transporters use the newer AR models and accidentally set the wrong human model.
Berserk Cyborg wrote: 28 Jul 2019, 03:52 Edit: I'd look into if you can beat Beta-1 on Insane difficulty. Most players wouldn't last more than 5 minutes at the moment.
lmao, yea everything is way too hard at the moment. I don't think cam1a is even winnable, the scavs build faster than what's possible to keep up with.
MIH-XTC
Trained
Trained
Posts: 368
Joined: 31 Jan 2014, 07:06

Re: Enhanced Balance Mod for 3.x

Post by MIH-XTC »

One other thing that I would like to do is refactor all of the stat object names. I might be opening a can of worms though.

For newcomers to modding, the object names are not intuitive. Also because some of the names have like ~5 different prefixes and suffixes the names can be 50+ characters and way too verbose. The droid templates being the worst case. There's no standard naming convention for structures, bodies, turrets.

Ideally, when alphabetically sorting stat objects, alike items should be near each other. This is only partly the case. Weapons should be just cannon01,02,03 or sensor01, 02, 03 and then 1 bit flags for propulsions, bodies, turrets etc...

Just throwing this idea out there. If anyone has ideas for a renaming scheme let me know. I can do the refactoring with find/replace and reorganize things.
Forgon
Code contributor
Code contributor
Posts: 298
Joined: 07 Dec 2016, 22:23

Re: Enhanced Balance Mod for 3.x

Post by Forgon »

MIH-XTC wrote: 28 Jul 2019, 18:38 One other thing that I would like to do is refactor all of the stat object names. I might be opening a can of worms though. [...]
I would also like to rename a lot of things, but not at the cost of
breaking mods and savegames in addition to introducing new bugs.
User avatar
Berserk Cyborg
Code contributor
Code contributor
Posts: 938
Joined: 26 Sep 2016, 19:56

Re: Enhanced Balance Mod for 3.x

Post by Berserk Cyborg »

MIH-XTC wrote: 28 Jul 2019, 16:25 What do you think about having a completely new player on the maps instead of using UltScav for player 7? Game play wise there would be no difference. I don't like cyan color in Gamma.
I guess it doesn't really matter as long as it works. As for completely unused players, the color codes for them are 4-red, 5-blue, 8-yellow, 9-purple, 10-white.
MIH-XTC wrote: One other thing that I would like to do is refactor all of the stat object names. I might be opening a can of worms though.
Been there, done that. It causes too much chaos. In a practical sense, a script could used to scan a directory/folder/file and then automatically convert all the old names to new ones. Then a mass mod/savegame upgrade would be feasible.
User avatar
Berg
Regular
Regular
Posts: 2204
Joined: 02 Sep 2007, 23:25
Location: Australia

Re: Enhanced Balance Mod for 3.x

Post by Berg »

Converting all the model names to human readable is a fantastic idea.
Go forth with my blessings.
Also effects.
Forgon
Code contributor
Code contributor
Posts: 298
Joined: 07 Dec 2016, 22:23

Re: Enhanced Balance Mod for 3.x

Post by Forgon »

Berserk Cyborg wrote: 28 Jul 2019, 20:45 [...]
MIH-XTC wrote: One other thing that I would like to do is refactor all of the stat object names. I might be opening a can of worms though.
Been there, done that. It causes too much chaos. In a practical sense, a script could used to scan a directory/folder/file and then automatically convert all the old names to new ones. Then a mass mod/savegame upgrade would be feasible.
Our code currently contains lots of broken and unused routines to handle
deprecated data. Ideally, such routines would be moved into a dedicated
new tool that can convert old data formats to those used by the latest
release. This approach would greatly improve both maintainability and
backward compatibility.
MIH-XTC
Trained
Trained
Posts: 368
Joined: 31 Jan 2014, 07:06

Re: Enhanced Balance Mod for 3.x

Post by MIH-XTC »

Okay I have a new version ready that has fixed all of the above bugs. I also improved the maps again. Check beta1 as an example.

I revised the ultscav difficulty and timers. Things should be manageable now but still not easy.

I removed player 6 from early Alpha and made everything player 7. I also set ultimate scavengers = to player 9 on all maps and used changePlayerColour() to set the colors

Alpha = red ult scavs
early beta = cyan
late beta = blue
gamma = white <--- (this looks nice)
cam3-4 randomly changes every 100 seconds between all colors since Nexus is the mastermind.

I launched all the maps and verified no errors but have not played all the scenarios. The research dependencies should be good to go. The labels and scripting should be bug free but not sure if I disturbed any campaign events.

Let me know what else I should change or improve.

https://github.com/jbreija/Warzone2100E ... /EB-Mod.wz

EDIT: I just realized I need to remove all labels for ultscav factories because __camAddDroidToFactoryGroup() will throw an error thinking it's part of the original campaign. I'll fix that tomorrow.
Post Reply