Rise of Nations: Extended Edition

Rise of Nations: Extended Edition

Community Balance/Bugfix Patch (CBP)
 This topic has been pinned, so it's probably important
MHLoppy  [developer] Dec 3, 2020 @ 9:39pm
CBP Development + Compatibility Notes + Credits
List of links
- Summary of changes in each patch
- List of ALL changes[docs.google.com].
- All balance changes (excluding pre-Alpha changes which were just the object mask fixes) are broken down on a per-patch basis in the dev spreadsheet[docs.google.com]
- File compatibility
- Spreadsheet of damage modifiers extracted from the game[keybase.pub]

Alternative CBP versions
- Current pre-release (this gets updated with new pre-releases for testing)
- Pre-release of Alpha 2 (dropdown mod) (highly unstable in multiplayer - not recommended for use)
- Test variant of Alpha 5 as dropdown mod (same stability warning as above)

What is CBP?
The Community Balance/Bugfix Patch tries to fix as many bugs as practical, and then from that foundation improve the game's balance. Although the high skill bracket is focused on, all skill brackets are considered. Balance changes target most game modes and maps, (particularly both "standard" and "nomad" formats), and I personally try to ensure that we're not implementing changes that damage the single-player experience either.

A critical damage bug which is resolved in CBP is a bug with EE's implementation of something called "object masks". They're one of the values used when calculating how much damage units and buildings do to each other, but are implemented incorrectly in EE for some reason! What are masks?

Masks are a property of units that describes what a unit is (e.g. Heavy Infantry). RoN uses masks to apply damage modifiers to categories of units, for example to make Archers deal more damage to Heavy Infantry.

Masks are used in two different ways, and both of the two parts are combined together to fine-tune game balance. In the Extended Edition one of these two parts is bugged and doesn't work at all, meaning that all the units in the game have had their balance changed because of this bug.

To get a detailed understanding of what masks are and exactly what they affect, I recommend taking the time to read at least parts of the wiki page on damage[riseofnations.fandom.com]. Every unit's wiki page also has a note if its damage dealt is affected by the bug.

Most of the other bugs fixed have come from Misc Fixes, and more details about those fixes can be found there.

Who is behind CBP?
MHLoppy
I'm the main (currently only) developer on the technical side, and it's ultimately been my job thus far to implement all changes into the game files, advise on what is/isn't technically doable if a change is desired, and do most of the technical testing to make sure changes work as expected and don't do things like make the game unstable.

On the balance side I suggest many of the changes, and also do most of the targeted testing to find appropriate values for buffs/nerfs. I'm not as well-known within the RoN community, but I've previously been a Challenger (top 50/top 200) League of Legends player, which helps provide insights into game balance in a general sense which I've been able to apply to RoN.

I joined RoN's modding scene in 2020 to find out why none of the RoN mods had thumbnails, and have since become one the most knowledgeable modders regarding how RoN works.

The Advisory Group
This isn't really an official name but it sounds pretty cool so I guess we can call them that. The group signs off on all balance changes, and absent of more public discussions we discuss what changes to implement in upcoming patches. It currently consists of the following people:
- MHLoppy (me)
- Jatin
- (1)[H]nZ88
- [AS] Serman (aka Vok)
- Hockeystar

- dave participated heavily in this group from before Pre-Alpha up until Alpha 7, at which point he retired from RoN entirely. A special thank you for his invaluable balance guidance.
- prolaze participated in the group for a short while leading up to the Alpha 5 release (early 2021), but ultimately decided not to continue in that role.

The entire community
We've tried to reach out in multiple settings to get as much input as possible, and continue to monitor and participate in public discussions about balance/CBP. We reached out to dozens of players for their specific input, and a number of individuals have discussed game balance with us both publicly and privately. A few historically-significant players were also contacted for advice on the technical side.

Why this mod format?
Dropdown mods were tested extensively during Alpha 2-3 and found to be highly unstable to the point of being practically unusable. Alternative technical implementations were then tested again with Alpha 5 and were still found to be highly unstable outside of 1v1 games. As such, a dropdown mod is not considered viable for multiplayer.

RoN:EE's mod manager has a bug relating to some mods where it doesn't correctly load/unload them. As an ordinary Steam Workshop mod, CBP might work a single time each time the game is started if you're lucky - after which it probably won't fully load until you manually reload it. The mod also doesn't unload correctly, and so can still cause a game to OOS while unloaded!

Because of this the mod had to be used as a local mod with (unfortunately) a manual installation and unload process. To allow certain files to be modified without causing sync issues (most notably help.xml and interface.xml), these files are moved from the local-mod level to the direct-mod level (replacing existing files while the mod is loaded). An OoS bug related to how RoN loads modded files meant that eventually *all* files were moved out of the local mod format: currently the local mods folder is just used for storage.

CBP Launcher was created to get around the clumsiness of a manual load/unload process.

Extra credits:
  • Lady Justice holding scales[unsplash.com] photo by Tingey Injury Law Firm via Unsplash. The original image has been edited. It was used for the background of the mod's thumbnail prior to Alpha 8, and is still used by one of the CBP Launcher skins.
  • mjn33[github.com] has blessed us with an automated implementation for the workaround for the object masks bug in RoN:EE, and this project has only advanced past the planning phase due to their efforts. A compiled copy of the program is included under an MIT License.
  • Jatin, dave, and HnZ provided some initial guidance on balance changes before the mod was ever released, which ensured it started out on the right track balance-wise.
  • Vanshilar's thoroughly calculated damage spreadsheet[ron.heavengames.com] has been helpful to sanity-check tests.
  • motter28218's "sorted" version of balance.xml (which I can't link due to formatting issues) helped me to identify the object masks issue.
Last edited by MHLoppy; Jan 12, 2022 @ 5:42am
< >
Showing 1-14 of 14 comments
MHLoppy  [developer] Dec 3, 2020 @ 9:41pm 
Depending on feedback regarding crashes etc, Alpha phase may be extended (and Beta phase pushed back) to ensure that the conversion to a dropdown mod in Alpha 2 doesn't have any ongoing stability / technical issues.
MHLoppy  [developer] Dec 5, 2020 @ 8:12am 
Crashing has largely been -- I think -- resolved by dropping help.xml from the file list. This has the unfortunate side effect of reverting many (but not all) updated tooltips, meaning that some of the tooltips you see in Alpha 3 will not include balance changes. [in addition to preparing for more balance changes in Beta phase] The final part of Alpha phase will be exploring what to do about this, such as if any of the workarounds are worth using (e.g. requiring manual installation of an updated help.xml file), in addition to exploring any remaining stability issues.
Last edited by MHLoppy; Dec 5, 2020 @ 8:20am
MHLoppy  [developer] Dec 6, 2020 @ 9:20pm 
Non-specific crashing reports have continued despite the Alpha 3 hotfix, so development is currently frozen pending further stability feedback. Please provide feedback about stability in the technical feedback thread.
Last edited by MHLoppy; Dec 6, 2020 @ 9:20pm
MHLoppy  [developer] Dec 9, 2020 @ 9:29pm 
Further testing with test mods created specifically for stability-testing purposes suggests that a dropdown mod will never meet stability requirements for multiplayer pub or tournament games - at least on RoN:EE 1.20.

Alpha 4 will almost definitely convert the mod back to a local mod the same way that it was before Alpha 2/3. My pipe-dream end-goal remains to have the changes implemented in the game for-realsies instead of through a mod.
MHLoppy  [developer] Dec 12, 2020 @ 5:39am 
Alpha 4 has indeed reverted to a local mod instead of a dropdown mod. In light of the amount of time and effort consumed in dropdown efforts (and assuming people will be less available during the Christmas / New Years period), I'm pushing back the target release of Beta by one month.
Last edited by MHLoppy; Dec 12, 2020 @ 5:39am
MHLoppy  [developer] Dec 31, 2020 @ 1:57am 
A pre-release version of Alpha 2 remains available as an unlisted mod should you want to use the (unstable) dropdown functionality in singleplayer games etc. Please avoid using the dropdown version in public multiplayer games due to its stability issues, as it looks really bad for CBP when half of lobbies using it are having players crash.
MHLoppy  [developer] Jan 11, 2021 @ 11:39pm 
To enable any of the optional changes, go to the local copy of the mod you've just made and copy all relevant files from the Optional fixes folder into their respective locations in the mod files, overwriting any files as necessary. To restore the originals, just delete the local copy of the mod and repeat step 2 of the install instructions to restore the original configuration.

If you host a public lobby with CBP enabled, you'll need to make it very clear to other players that you're playing in a game with this mod - unlike with a dropdown mod the files will NOT automatically transfer between clients as a local mod - so all players will need to manually install the mod. If not all players have the mod installed, the game will immediately go out of sync (although you can reload the game from the provided prompt in order to play that game with restored game files).

The suggested naming for CBP lobby names is to use the tag format [CBPa4] at the start of the name, where "a4" is shorthand for "Alpha 4". This would change to "b2" for Beta 2, and so on. For example: "[CBPa4] 2v2 Standard inter/pro"

Update: with the auto-updating launcher just [CBP] should be sufficient, although it'd still be a good idea to check the version if CBP has recently been updated.
Last edited by MHLoppy; Feb 24, 2021 @ 12:13pm
MHLoppy  [developer] Jan 20, 2021 @ 6:38pm 
We're going to be spending some time trying our best to address some of the community concerns about the patch (e.g. ease of use, varying opinions about some of the changes).

As such I've decided to push back the previously-imminent Beta release until we've worked on these things some more. Beta was intended to be when we've done all the technical stuff that we can think of (bug fixes, installation process etc), as well as community onboarding, and then collectively focus on primarily the balance itself. Although we've had lots of interest and positive feedback on the patch thus far, it seems there's still some work left to do before we're ready to move to the next stage.
MHLoppy  [developer] Jan 25, 2021 @ 12:03am 
I've finally been able to get >2p stability testing done in greater quantity - doing QA on mod stability is evidently extremely unpopular despite interest in the mod.

In any case, in a sample of 3p games the mod appears stable, which I believe is a very good indicator of stability in games with higher player counts (previously dropdowns mods were quite stable in 2p but fell apart in >2p). Over 9 games with 3 different hosts, no issues were noticed when mods were loaded correctly. With a 3-game sample, the game-reload feature also appeared to work quite reliably, and could be a good temporary solution for those who initially have difficulty with correct mod install (so that they can immediately play using it, and fix the problem after the games). https://docs.google.com/spreadsheets/d/1EftAYf2lDcrqvIcDposPenvyDYijv8eEoC6SGLDZL8Y

MHLoppy  [developer] Feb 13, 2021 @ 2:20am 
https://github.com/MHLoppy/CBPLauncher

I'm working on an installer/launcher to make the mod easier to use and install. Right now it's in an early and unfinished state (somewhat like the mod itself), but if you're able to take a minute to test it, please do!

A compiled version (an exe) can be downloaded under the assets dropdown of this page: https://github.com/MHLoppy/CBPLauncher/releases

I'd like to release a more polished version of this launcher/installer alongside the Beta release of CBP.
MHLoppy  [developer] Jul 14, 2021 @ 9:15am 
The original outline for release was the following:
https://i.imgur.com/sNsdzRI.png

Pre-Alpha Phase (15th November 2020)
  • Object mask workaround applied to balance.xml (see here[riseofnations.fandom.com]).
  • Further testing to ensure there are no obvious issues, and expected changes appear to be applying.
  • Everyone offers sexual favors to mjn33, who made the workaround utility.

Alpha Phase: (19th November 2020)
  • "Safe" balance changes added (e.g. modest Monarchy nerf).
  • Misc Fixes changes integrated into mod.
  • Community discusses what balance changes to make for Beta phase.

Beta Phase: (TBD)
  • Most broadly requested changes are implemented (perhaps partially only), and technical non-balance changes are limited.
  • Further updates made as community tests and discusses balance and general consensus is reached on each change.
  • Can include experimental releases for changes that community is unsure about (to decide whether to include those changes or not).

Release Candidate Phase: (TBD)
  • No new changes are regularly being widely agreed upon - balance appears stable.
  • Community continues to test and discuss balance, any further updates made as required.

Stable Release Phase: (TBD)
  • No new changes proposed after multiple months of community testing / usage.
  • Ready for widespread usage; all players encouraged to begin using mod including in tournament play.

Because the balance considerations are supposed to be a consensus-based community effort, that plan is unfortunately not viable for the indefinite future. CBP lacks the uptake required for significant data quantity, but lacks the lively debate from the higher-skill playerbase for data quality as well - and this has become even more true with dave (who advised heavily) retiring from RoN as a whole.

I expect the most likely outcome from here is that CBP will be stuck in permanent "alpha hell", unable to reach sufficient data + discussion to implement more than a handful of minor changes on a highly irregular basis (which is basically where we already are right now). The beta milestone was never a technical one but, a foundation of balance consensus on which the vast majority agreed. It seems instead that the vast majority is sadly apathetic, and I have little desire to be a dictator forcing ill-informed changes. So I guess we're stuck for now ¯\_(ツ)_/¯
Last edited by MHLoppy; Jul 14, 2021 @ 9:24am
MHLoppy  [developer] Jul 14, 2021 @ 9:24am 
Compatibility:
This mod uses the following data files as of Alpha 7:

Primary (these can't be removed or modified without causing OoS in multiplayer)
- anim_graphics.xml
- balance.xml
- buildingrules.xml
- craftrules.xml
- icon_texs.xml
- resourcerules.xml
- rules.xml
- topmenu.xml (for update notifications)
- typenames.xml
- unit_graphics.xml
- unitrules.xml

Secondary (if you edit these you can still play multiplayer)
- building_graphics.xml
- conquest.xml
- help.xml
- interface.xml
- setupwin.xml
- soundtypes.xml
- workshopwin.xml

A few other non-data files (e.g. CtW files, art files) are also used by the mod and removing or modifying them may cause sync issues in multiplayer.
Last edited by MHLoppy; Oct 24, 2021 @ 10:17am
MHLoppy  [developer] Oct 24, 2021 @ 10:30am 
Alpha 7 is almost here. You're very welcome to help us with the final testing of the pre-release version so that we can find and fix as many problems as possible before launch (especially with the new launcher!). The more bugs we fix now the less bugs we have to fix later. https://steamcommunity.com/sharedfiles/filedetails/?id=2528425253

There are -- unfortunately -- a variety of issues with RoN's mod manager that we have to work around. One of these is how multiplayer games sync when modded files are loaded - and this includes art files, such as the ones that have been used for update announcements on the in-game menu.

As far as I can tell in my testing, these art files are able to reliably trigger desyncs (OoS) in multiplayer games when the host doesn't have these art files (or has them disabled in the mod manager), but another non-host player has the files. Without going into full technical details, this means that there will be no update notification on the main menu when Alpha 7 is released.

When the current notice on the in-game menu disappears, Alpha 7 has been released, but it won't explicitly say that.

I've laid a foundation in Alpha 7 for a different way of showing update notifications in the menu. The new method isn't as good as the old method (it will only display if you have CBP loaded, not if you have it unloaded), but it should cause no stupid OoS problems in multiplayer.

Update: Even the updated method can trigger an OoS so have been removed.
Last edited by MHLoppy; Nov 18, 2021 @ 1:42am
MHLoppy  [developer] Nov 1, 2021 @ 6:52am 
Detailed installation steps:

If you're using Windows 7, 8.1, or a really old version of Windows 10 (pre-2019), you'll probably need to update the .NET Framework Runtime on your computer[dotnet.microsoft.com]. CBP Launcher needs at least 4.7.2 to run, but you may as well install 4.8 (there should be no downsides) if you don't already have it.

From that link, click the link for the version you want, then download and install the Runtime (not the Developer Pack).

If you're using Windows Vista, 8 (not 8.1), or a non-Windows installation (with no Windows emulation) then CBP Launcher is not compatible with your system and you'll need to install the patch manually. If you're using Windows 11 it should be compatible but nobody's tested it yet. If you're emulating Windows from Linux or MacOS you might be able to run CBP Launcher (there is currently one confirmed case of successfully using CBP Launcher using some kind of Windows emulation thing on MacOS - I don't use MacOS so don't know the details).

1) Subscribe to the mod and make sure the Steam Workshop files have downloaded.

You may need to have Rise of Nations closed to have the files download. If you have Steam configured to not automatically download updates, then you may need to manually start the download (because Workshop files are probably considered "game updates"). Every now and then Steam may decide to not immediately download the files. The most reliable way I know of to resolve this is verify RoN's game files (but obviously this will also remove any current changes to your files, so consider it the nuclear option).

To check that the files have downloaded, go to the Downloads section at the bottom of your Steam client (e.g. in the Steam Library interface).

2) In RoN, go to Tools & Extras -> Steam Workshop. Select this mod and press Open Directory.

The Tools & Extras menu is accessed from the main menu. New mods will usually appear at either the very top or the very bottom of mod manager's mod list. The Open Directory button is on the right side of the mod manager screen.

Some mods are not compatible with CBP because they modify the same files that CBP does (dropdown mods or scenarios should be fine). If it's not already there, you may want to move the mod to the top of the mod manager's loading priority list. As of Alpha 7 the mod order shouldn't matter, but this can change if the mod format is updated.

3) Close RoN.

No extra steps on this one!

4) Run CBPSetupGUI.exe, and press yes when asked if you want to start CBP Launcher.

Don't run CBP Launcher from this location, just CBP Setup GUI. CBP Setup GUI's main job when you first run it is putting CBP Launcher in the right location. It will also try to keep CBP Launcher up to date.

CBP Launcher is the main program, and handles CBP's configuration, loading and unloading CBP, loading and unloading plugins, and logging.

Any choices that you make during first-time setup (such as choosing whether or not to default to CBP, and choosing whether or not to use CBP Launcher instead of the default launcher) can be easily changed later and are not permanent. If you choose not to default to CBP Launcher, you can repeat this step (step 4) to run it later if you need to.

In CBP Launcher, the main buttons you need are just the load/unload CBP buttons (near the Launch button), and the Launch button itself.

While CBP is loaded you will only be able to play multiplayer games with other people using CBP. If you try to play with people who do not have the patch, the game will go out of sync (OoS). If you have CBP unloaded you can only play with people who are not using CBP (including people who have CBP unloaded, as well as people who do not have CBP at all).

Manual installation steps:
If you want to load/unload CBP, it's highly recommended that you use the launcher to do it if you can, but here's the manual equivalent if you need it.

Manually loading CBP
1a) Locate the mod files (you can follow steps 1-3 above).
1b) Locate your Rise of Nations installation.

2) With RoN closed, copy the "Community Balance Patch" folder into /Rise of Nations/mods. Copy the folder itself to that location - don't copy its contents directly there. So you want the final result to be /Rise of Nations/mods/Community Balance Patch

3) For technical reasons, CBP directly replaces and modifies some of RoN's data files, so you should make backups of your existing data files. The easy way would just be to make a backup of your entire /Rise of Nations/Data folder. The name and location of the backup isn't strictly important, but you should make sure that you remember where it is.

4a) Once you've backed up your data files, go to /Rise of Nations/mods/Community Balance Patch/PrimaryData. Copy the files here into your /Rise of Nations/Data folder, overwriting files as necessary. These files are required for CBP, and not copying them will cause the mod to not function (and cause out of syncs (OoS) in multiplayer games).
4b) Go to /Rise of Nations/mods/Community Balance Patch/NonData. Copy the art folder to /Rise of Nations/CBP/CBP files/ (such that the final location is /Rise of Nations/CBP/CBP files/art). You'll need to create the "CBP" and "CBP files" folders yourself.
4c) Optional but recommended: go to /Rise of Nations/mods/Community Balance Patch/SecondaryData and copy the contents of this folder to your /Rise of Nations/Data folder, overwriting files as required. These are cosmetic files. The mod will work without them, but there will be graphical issues and tooltip errors. However, if you're using customised versions of any of these files already (such as a custom UI), you may want to keep the old version of your file.
4d) Optional but recommended: go to /Rise of Nations/mods/Community Balance Patch/NonData/conquest and copy the contents of this folder (including subfolders) into the /Rise of Nations/conquest folder, overwriting files as required.

5) Optional: You can manually install the Optional Changes located in /Rise of Nations/mods/Community Balance Patch/Optional Changes. These changes have all been intentionally designed to be completely multiplayer compatible while using CBP. Simply place them in the /Rise of Nations/CBP/CBP files/art folder (for art files) or /Rise of Nations/conquest (for conquest files). Original versions of the files are included if you want to revert any of the changes later.

More information about the Optional Changes can be found in the documentation for Misc Fixes: https://steamcommunity.com/workshop/filedetails/discussion/2218254050/2971775917796107565/

When the patch is updated, you'll need to manually copy/replace files again.

Manually unloading CBP
1) With RoN closed, archive or remove the /Rise of Nations/mods/Community Balance Patch folder. You can, for example, create an "Unloaded mods" folder in your /mods/ folder, and then place the Community Balance Patch folder inside that folder to create another folder "layer", which will prevent CBP files from being loaded - although as of Alpha 7 no files are currently automatically loaded from this folder.

2) Undo changes made to your data and art files (see steps 3, 4, and 5 above). The workshop files should have no effect on the game or multiplayer sync, so you shouldn't need to disable those files (but you can do so from the in-game mod manager in Tools & Extras -> Steam Workshop if you want to). Although not required for multiplayer compatibility, you may also want to undo the CtW changes done in step 4d.

If you follow the full unload steps but still have problems then absolutely report the problem so that we can try to prevent it from happening again, but secondly you should be able to solve it by verifying your game files - just make sure you have backups of any customised game files because verifying the game files will restore the original versions of those files.
Last edited by MHLoppy; Mar 14, 2022 @ 11:49am
< >
Showing 1-14 of 14 comments
Per page: 1530 50