For categories that allow or require use of legacy heroes, I believe it would be beneficial to the community and to fair competition to allow cheats and save file editing outside of submitted runs for the purpose of character creation and legacy aspect modification as long as the resulting characters would be able to be created through fully legitimate gameplay.
- It would lower the barrier to entry: Due to the legacy system, there can be huge differences in effectiveness based on what heroes are present in that profile’s legacy. With the current restriction, to have a chance to be competitive in a category that allowed or required legacy heroes, a player would probably have to spend at least several hours re-rolling stats and events per hero before even getting to the speedrunning practice. This may not be a huge amount of time compared to doing many attempts of the runs themselves, but I think it would noticeably increase the barrier to entry. Using cheats to pick events and skip battles (if it doesn’t cause missing an important victory event) would speed this up considerably. Additionally, if a player wanted to make a minor change to an existing hero that is not possible through normal gameplay but could have been done through normal gameplay if the hero had been built differently (for example, many cases of removing wings from a hero), using devMode to make the change would likely be much faster than recreating the hero from scratch.
- It would encourage sharing resources: Since a player cannot know whether another player’s hero was created with cheats, they would not be able to use heroes from other players under the current rules.
- It would prevent longtime players from having a permanent advantage of newer players: The current rules would allow players who already have fully legitimately created legacy heroes with persistent versions of Clearbody, Symbiont, Vitality, Slacker’s Charm, and/or Slacker’s Resolve to have a permanent advantage over players who do not. These heroes were able to be created before patch 1.9 and those buffs still persist through legacy as of 1.16+554 if added to a hero in 1.8 or earlier. New players, or players who did not legitimately create these heroes while it was possible, would not have access to them under the current rules.
- It has precedent in other communities: For example, in the Borderlands 2 “UVHM Geared” category, another situation where the existing save is very relevant to performance, the savefile must be “legitimately obtainable”, not necessarily legitimately obtained. (Reference: https://www.speedrun.com/bl2?h=UVHM_Geared-co-op&rules=category&x=jdz9le32-j846oq2l.rqvwkky1)
One related issue is that the event weighting system in Wildermyth makes it so recently seen events are less likely to be seen again (https://wildermyth.com/wiki/Event#Event_types). These deviations from default weights are stored in the legacy file. This makes it so even if two players attempted the same campaign with the same heroes, they most likely have a different set of probabilities of seeing each event, which seems less than ideal. On the other hand, I also don’t think it would be good to require a 3rd party tool that resets the weight modifications. Alternatively, allowing players to edit (or use normal gameplay to adjust) the weight modifications so that all the events except the ones they want to see have heavily reduced probabilities doesn’t seem very good either. This topic may be better discussed in a separate thread. (There is also dynamic weighting for how Omenroad bosses are chosen (although it works a bit different than for regular events). There are no Omenroad challenge run categories yet, but when/if they are added, there will be a similar challenge in making runs more fair there.)
What do people think about these?
(I can split the topics into multiple threads if that would be more appropriate.)
Some background on this, @psionusod and I were talking about various issues the ruleset has. Most of them have since been addressed.
I've attached the discussion we had on the discord server below.
The two main issues that remain are:
- It's hard to ensure a legacy isn't contaminated with modded heroes
- Buffs from previous versions of the game are unobtainable without downpatching. Note that downpatching below version 1.16+549 imposes security risks, especially if you have mods installed via steam workshop (see https://github.com/WilderForge/WilderForge/security/advisories/GHSA-42m8-jxr4-976p)
- The game alters the RNG of certain probabilities of based on things you've encountered in previous runs (even if the run was not completed). Generally in speedrunning, runs are usually start completely fresh, however Wildermyth presents a unique challenge as simply encountering a desired event reduces its probability in subsequent runs.
I don't really see an issue with using Devmode for event picking OUTSIDE of a submitted run if it is limited to only creating obtainable characters. My question however, is if some events are incompatible, does Devmode allow you to add execute two incompatible events on one character, thereby creating an impossible character?
Obviously, editing RNG values (other than resetting ALL probabilities to default) can't be allowed, as you can just alter the weights to construct the perfect run every time.
On a related note, I've been working on an autosplitter and load remover coremod for the game (https://github.com/WilderForge/AutoSplitter). I could make it so that the mod only allows characters that were created and used only when no other mods were installed would appear in runs. (basically it would work by keeping track of any mods installed, and save it to the character. If all the mods saved to the character are not whitelisted, the character can't be used). The mod could also make it so that devmode event picker only allows for compatible events.
I'm pretty sure I can resolve all of the above issues in the autosplitter mod. The modding api (wilderforge) already patches the downpatching security risk for older game versions. I don't think it would be very hard to add a button to reset RNG weights in the legacy. Or just make it so that RNG weighing doesn't happen at all and all probabilities stay at the default.
Here are the images of the relevant discussions on the discord server:
I had previously written a bit about this, but it went over the character limit in the original post and I didn’t have time to reformat/expand it until now.
My question however, is if some events are incompatible, does Devmode allow you to add execute two incompatible events on one character, thereby creating an impossible character?
Yes, my main concern is that this could increase the chance that a player accidentally uses an unobtainable character (but I’m not sure it really would: I’ve seen players accidentally leave mods enabled on profiles that they intended to be vanilla (I believe many are automatically enabled when added from Steam Workshop)). Using the “Pick Events” cheat with devMode will not allow you to force any events that could not happen naturally, but leaving it on during chapter intervals causes it to fail to execute tiding outcomes, which can result in unobtainable heroes, like a skeletal hero with the latent “Oldwane Curse” head (not that you would ever want that now that you can get just the right skeletal arm from Omenroad). “Skip battles”/“overland only” (two names for the same thing) also causes mission victory events (and the associated outcomes) to be skipped, but I think skeletal might be the only case where you could end up with an unobtainable character that way? I’m not sure it even does.
Using the devMode cheat tools on the “Abilities” tab, you can definitely make unobtainable characters, though. Even with Omenroad shrines, not all combinations of theme and human limbs are possible. For example Flamesoul head and two human arms and two human legs cannot be obtained legitimately. You can, however, have the Flamesoul head, two human arms, and two Crystalline legs by choosing a leg from a Flamesoul shrine and then taking two legs from a Crystalline shrine. You can also add arbitrarily many abilities, which might provide more flexibility while recruiting, and would provide an advantage in the final battle of “A Walk in the Unlight”
I guess I just think it’s a hard sell to require players to have a completely sandboxed set of heroes when they take so long to create fully legitimately. Even then, it’s still possible to leave mods on accidentally, so I think it would still be a good idea to have some sort of verification system anyway, and at that point, I don’t see a reason to forbid cheats with creation. My initial idea was to have players submit the sequence of important changes that would result in creating the hero legitimately, which should both make it less likely that they make a mistake and make it easier for others to verify, but if we are considering requiring a speedrunning coremod (this would be one of those overwhelming majority things, right?), there might be a better way.
I think for modifying the behavior of cheats for a speedrunning coremod, you may want to
- Make it so only the events with the highest priority (not weight) can be chosen with “pick events” (this might not actually be necessary, but it wouldn’t hurt)
- Make it so event picking does not apply to interval tidings, so outcomes execute normally
- Make it so if “skip battles” is used, paired mission victory events still occur (actually it might just be better to remove this one)
- Make it so themes and abilities cannot be added on the “Ability” tab
- Make it so history lines cannot be deleted?
- Make it so legacy tier cannot be decreased in the legacy browser
- I’d have to think about what modifications would have to be made to “Achieve objectives”. This would be a huge time-saver if we can keep it in.
- Would it be possible to know if devmode had been used in the regular game client to cause or skip an outcome on a hero?
- Probably some other things I’d have to think of
Since forcing specific theme shrines to show up in Omenroad is more involved than event picking in regular campaigns, I was also thinking about having a map/campaign (which may need to be locked to players who own the Omenroad DLC) that had all of the theme shrines and some ability shrines and allowed promotion. A regular (non-omenroad) single-map campaign could potentially also provide things like Starheart, Evergreen Strength, Evergreen Voice, and the no-longer-obtainable persistent hook aspects if the hero had the appropriately completed hook (for example, maybe a hero with a completed Weird hook could choose between persistent Clearbody or Symbiont if they currently had neither).
Obviously, editing RNG values (other than resetting ALL probabilities to default) can't be allowed, as you can just alter the weights to construct the perfect run every time.
For the event RNG modification, I believe that does only take effect once the campaign ends, so even with fully legitimate gameplay, you would be able to skew the weights pretty severely. If we are already suggesting requiring a coremod, I think it would be a good idea to reset the weights before runs, but not in the middle of multi-campaign runs, if any are ever added.