wesnoth icon indicating copy to clipboard operation
wesnoth copied to clipboard

update NR difficulty

Open cooljeanius opened this issue 4 years ago • 39 comments

NR is notoriously difficult and annoying, so this PR attempts to soften it a little bit on the easier difficulties (not on HARD, though). These changes were originally made during my 1.14 playthru of NR, and haven't been tested on 1.15/1.16/1.17 yet, although I'm really dreading having to test them again... I'm leaving this marked as a draft because there are rejects files for map files that I haven't managed to wiggle back in yet, because this should really wait for until after ~~1.16~~ 1.18 is released, and because I still need to do another pass at editing/testing.

cooljeanius avatar Aug 31 '21 21:08 cooljeanius

These changes originally come from here, btw: https://github.com/cooljeanius/wesnoth_mods/tree/master/campaigns/Northern_Rebirth/diffs

cooljeanius avatar Aug 31 '21 21:08 cooljeanius

cross-referencing this PR against the feedback I left on the forums: https://forums.wesnoth.org/viewtopic.php?f=38&t=16993&p=660329#p660329

cooljeanius avatar Sep 27 '21 16:09 cooljeanius

@cooljeanius is this still something you're pursuing?

Pentarctagon avatar Jun 27 '22 18:06 Pentarctagon

@cooljeanius is this still something you're pursuing?

yeah I intend to but it probably won't be this week though...

edit: IIRC the main thing getting in the way of me continuing with it was that merge conflict; I wish that wesnoth-map-diff tool could display the parts of maps that are causing a merge conflict, too... I guess I could just discard the changes to that map...

cooljeanius avatar Jun 27 '22 19:06 cooljeanius

ok I fixed the merge conflict; the failing map-diff CI task error message is:

/home/runner/work/wesnoth/wesnoth/utils/wesnoth-map-diff/node_modules/@jimp/utils/dist/index.js:40
  throw error;
  ^

Error: The source must be a Jimp image
    at Jimp.throwError (/home/runner/work/wesnoth/wesnoth/utils/wesnoth-map-diff/node_modules/@jimp/utils/dist/index.js:33:13)
    at Jimp.composite (/home/runner/work/wesnoth/wesnoth/utils/wesnoth-map-diff/node_modules/@jimp/core/dist/composite/index.js:35:30)
    at paintMisc (/home/runner/work/wesnoth/wesnoth/utils/wesnoth-map-diff/build/paint.js:52:16)
    at /home/runner/work/wesnoth/wesnoth/utils/wesnoth-map-diff/build/paint.js:76:17
    at Object.walkthrough (/home/runner/work/wesnoth/wesnoth/utils/wesnoth-map-diff/build/tilemap.js:41:9)
    at paintTilemap (/home/runner/work/wesnoth/wesnoth/utils/wesnoth-map-diff/build/paint.js:73:21)
    at Jimp.<anonymous> (/home/runner/work/wesnoth/wesnoth/utils/wesnoth-map-diff/build/paint.js:84:9)
    at Timeout._onTimeout (/home/runner/work/wesnoth/wesnoth/utils/wesnoth-map-diff/node_modules/@jimp/core/dist/index.js:264:25)
    at listOnTimeout (node:internal/timers:559:17)
    at processTimers (node:internal/timers:502:7)
Error: Process completed with exit code 1.

@macabeus do you know anything about that?

cooljeanius avatar Aug 02 '22 12:08 cooljeanius

@cooljeanius I guess it's a bug already fixed on this PR: https://github.com/wesnoth/wesnoth/pull/6880 If it isn't a fixed bug, we'll at least have a better error message.

macabeus avatar Aug 02 '22 12:08 macabeus

@cooljeanius I guess it's a bug already fixed on this PR: #6880 If it isn't a fixed bug, we'll at least have a better error message.

OK @macabeus so I updated this pull request to a version where that PR is merged and now the error is:

From https://github.com/wesnoth/wesnoth
 * branch              7e32194e43f418b0621af3be297d3c60ea911c7f -> FETCH_HEAD
** Working on data/campaigns/Northern_Rebirth/maps/05a_01_The_Pursuit.map **
/home/runner/work/wesnoth/wesnoth/utils/wesnoth-map-diff/build/images.js:61
                    throw new Error(`Missing image for "^${miscCode}"`);
                          ^

Error: Missing image for "^Xo"
    at Object.getTile (/home/runner/work/wesnoth/wesnoth/utils/wesnoth-map-diff/build/images.js:61:27)
    at paintTile (/home/runner/work/wesnoth/wesnoth/utils/wesnoth-map-diff/build/paint.js:50:34)
    at /home/runner/work/wesnoth/wesnoth/utils/wesnoth-map-diff/build/paint.js:112:17
    at Object.walkthrough (/home/runner/work/wesnoth/wesnoth/utils/wesnoth-map-diff/build/tilemap.js:41:9)
    at paintTilemap (/home/runner/work/wesnoth/wesnoth/utils/wesnoth-map-diff/build/paint.js:110:21)
    at Jimp.<anonymous> (/home/runner/work/wesnoth/wesnoth/utils/wesnoth-map-diff/build/paint.js:123:9)
Error: Process completed with exit code 1.

(^Xo is the "impassable overlay", for reference)

cooljeanius avatar Aug 10 '22 01:08 cooljeanius

edit: IIRC the main thing getting in the way of me continuing with it was that merge conflict; I wish that wesnoth-map-diff tool could display the parts of maps that are causing a merge conflict, too... I guess I could just discard the changes to that map...

The change that's causing a conflict, 90b68b538872, is purely a cosmetic change from Xol to Xos or Xos^Efs. So if you've already replaced every terrain that had a pink D, just ignore the changes from 90b68b538872.

stevecotton avatar Feb 05 '23 12:02 stevecotton

The change that's causing a conflict, 90b68b5, is purely a cosmetic change from Xol to Xos or Xos^Efs. So if you've already replaced every terrain that had a pink D, just ignore the changes from 90b68b5.

Is there a way to tell the CI to ignore it, too?

cooljeanius avatar Feb 05 '23 14:02 cooljeanius

Sorry, I thought 870bd715219e319c174ee124af6005c795dc9189 did that - but now I see it failed after that was merged.

A failing build doesn't actually stop the PR being merged.

stevecotton avatar Feb 05 '23 15:02 stevecotton

I don't suppose you could downsize the battles some? I don't mind the difficulty but i'm at the final battle and I have to wait like three minutes for the enemy to move, on fast forward.

TheShadowOfHassen avatar Mar 14 '23 12:03 TheShadowOfHassen

I don't suppose you could downsize the battles some? I don't mind the difficulty but i'm at the final battle and I have to wait like three minutes for the enemy to move, on fast forward.

Large-scale battles are kind of NR's entire raison d'être; if we removed those, it wouldn't really be NR anymore. I guess there are some AI changes that could make it go faster, though, without actually reducing the scale...

cooljeanius avatar Mar 14 '23 16:03 cooljeanius

data/campaigns/Northern_Rebirth/maps/05a_01_The_Pursuit.map


github-actions[bot] avatar Apr 13 '23 15:04 github-actions[bot]

Yay, the map-diff CI task now passes! Looks like it didn't manage to upload the actual image successfully though; that's something that @macabeus and I are going to have to continue to work on... (I've seen it in a few other PRs, too...)

cooljeanius avatar Apr 13 '23 15:04 cooljeanius

Yay, the map-diff CI task now passes! Looks like it didn't manage to upload the actual image successfully though; that's something that @macabeus and I are going to have to continue to work on... (I've seen it in a few other PRs, too...)

Relevant part of the log:

Imgur result:
{"errors":[{"id":"legacy-api-dfc4cf849-jssvj/BYtWSpW8As-1941785","code":"429","status":"Too Many Requests","detail":"Too Many Requests"}]}

cooljeanius avatar Apr 17 '23 04:04 cooljeanius

blah, there's a merge conflict now... at least it's only in one file so far; if more files start having merge conflicts, I'm just going to give up on this...

cooljeanius avatar May 26 '23 08:05 cooljeanius

What remains to be done? To be honest I'm kind of amazed that there's only been a single conflict after a year and a half.

Pentarctagon avatar May 26 '23 22:05 Pentarctagon

Are the conflicts because of my dialog rewriting?

TheShadowOfHassen avatar May 27 '23 12:05 TheShadowOfHassen

What remains to be done? To be honest I'm kind of amazed that there's only been a single conflict after a year and a half.

  • [ ] Come to some sort of agreement about Fencers and Heavy Infantrymen
  • [ ] Update recall filter I added for Varem to apply to any loyal dwarves instead
  • [ ] Another playthrough in which I retest my changes
  • [ ] Fix #7557 for the map diff

Are the conflicts because of my dialog rewriting?

Yeah but don't worry about it; it's ok... I intend to handle it.

cooljeanius avatar Jun 17 '23 22:06 cooljeanius

I'm inclined to agree that some changes are really groundbreaking, while some are too minor. I think that doing this per-scenario would be a better way to handle this, this is really huge.

FyiurAmron avatar Feb 28 '24 16:02 FyiurAmron

So maybe separate the tweaks for each campaign and have a PR for each separately?

I really like the NR campaign, and I'd love to see it get a bit of a balance!

TheShadowOfHassen avatar Feb 28 '24 17:02 TheShadowOfHassen