Enhanced Balance Mod for 3.x
Re: Enhanced Balance Mod for 3.x
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.
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.
- Berserk Cyborg
- Code contributor
- Posts: 938
- Joined: 26 Sep 2016, 19:56
Re: Enhanced Balance Mod for 3.x
![Eh? O_o](./images/smilies/icon_eh2.gif)
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.
Re: Enhanced Balance Mod for 3.x
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 wantBerserk Cyborg wrote: ↑22 Jul 2019, 22:13Whoa, 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.
![Smile :)](./images/smilies/icon_smile.gif)
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.
Re: Enhanced Balance Mod for 3.x
With Linux, you can easily compare directories using `diff -r DIRECTORY_1 DIRECTORY_2`.
Re: Enhanced Balance Mod for 3.x
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:
![Smile :)](./images/smilies/icon_smile.gif)
Re: Enhanced Balance Mod for 3.x
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.
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.
- Berserk Cyborg
- Code contributor
- Posts: 938
- Joined: 26 Sep 2016, 19:56
Re: Enhanced Balance Mod for 3.x
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.
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.
Re: Enhanced Balance Mod for 3.x
^^ 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.
Re: Enhanced Balance Mod for 3.x
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 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.
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
2. The Hard/Insane starting power totals might need tweaking.
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 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.
yep agreed. It's relieving to work with someone that has the same level of attention to detailBerserk 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.
![Smile :)](./images/smilies/icon_smile.gif)
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 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.
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.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 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.
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.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.
Re: Enhanced Balance Mod for 3.x
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.
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.
- Berserk Cyborg
- Code contributor
- Posts: 938
- Joined: 26 Sep 2016, 19:56
Re: Enhanced Balance Mod for 3.x
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.
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.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.
Re: Enhanced Balance Mod for 3.x
Converting all the model names to human readable is a fantastic idea.
Go forth with my blessings.
Also effects.
Go forth with my blessings.
Also effects.
Re: Enhanced Balance Mod for 3.x
Our code currently contains lots of broken and unused routines to handleBerserk Cyborg wrote: ↑28 Jul 2019, 20:45 [...]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.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.
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.
Re: Enhanced Balance Mod for 3.x
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.
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.