web-brogue icon indicating copy to clipboard operation
web-brogue copied to clipboard

Other forks?

Open RojjaCebolla opened this issue 3 years ago • 4 comments

I noticed that at roguelikelike.com (which is hosted by you, @flend ?) unBrogue and gBrogue are available for play. Cool!

Here's some other possibilities, all are based on 1.7.4 i think:

BrogueRoles - lets you pick a sort of "character class" before you enter the dungeon. For instance, if you choose Barbarian, no staves will appear in your game, instead other items will. https://github.com/tsadok/brogue/compare/roles https://libredd.it/r/brogueforum/comments/5azesv/brogue_roles_a_way_to_choose_an_overall_build/ I'd probably be willing to rebase this onto 1.9.3 if you like.

Sulai's Brogue - I'm not sure what to call this fork, but it has many interesting features that aren't merged into its main branch, instead each feature is on a separate branch. On this branch, the death of an empowered ally results in your empowerment wand(s) being recharged. https://github.com/sulai/Brogue/tree/feature/recharge_empowerment_on_ally_dead If you like, I'd be willing to combine any branches that look interesting, into one grand fork. It looks a little too complex to rebase onto 1.9.3

Broguer - there's not a lot here except some convenience / QoL stuff. https://github.com/yrmvgh/BrogueR

RojjaCebolla avatar Apr 09 '21 02:04 RojjaCebolla

Other mods: https://github.com/bleakley/brogue [brogue+], moderately interesting, few new items / monsters v1.7.4 https://github.com/bbade/bbrogue, very simple class system

Generally I'm moderately interested in putting variants in web-brogue because it's not much work.

Particularly if you're keen to rebase stuff onto v1.9.3 that makes it very easy. Another good option for v1.7.4 variants is to make a diff off the original v1.7.4 codebase and the apply to the v1.7.4 in web-brogue, since it has some bugfixes (though I've not backported the CE fixes). Mostly the variants get much less play so it's not a massive deal if we haven't fixed all of the memory leaks and OOS errors etc. as we have in CE. Also gBrogue and unBrogue introduced far worse bugs and crashes than the vanilla branches (I fixed the worst of them!).

In order I'd say I'm most interested in brogue+, BrogueRoles, Sulai's Brogue

flend avatar Apr 24 '21 09:04 flend

I implemented brogue+ by creating a diff vs v1.7.4 vanilla then applying to the fixed v1.7.4 in web-brogue (this picks up the bugfixes). Took about 20 minutes so was very straightforward.

flend avatar Apr 28 '21 05:04 flend

nice! okay, i will give this a shot tomorrow.

would you feel like pasting the git commands you used for that? i still get a bit confused between cherry-pick, merge, and rebase.

RojjaCebolla avatar Apr 30 '21 03:04 RojjaCebolla

If you could do Sulai's brogue that would be cool, but it looks like you do need to merge all the branches first (the development branch doesn't seem to have a lot of the changes). You'd also need to test it works.

In terms of brogue+, I checked-out the brogue+ repo then did:

git diff 90ad94d > bleaky.patch

This gives me a traditional UNIX patch file of all his changes since vanilla 1.7.4 (SHA 90ad94d) I then just

cp -r brogue brogueplus

in the web-brogue route to give me a web-brogue compatible brogue 1.7.4 to start with, then:

cd brogueplus/src/brogue
patch -p3 < ../../bleaky.patch

This applied the patch to the *.c files in brogueplus/src/brogue. The -p3 kills the first 3 parts of the path of the files in the original patch. This is necessary since bleaky used a different directory structure to the one in web-brogue for v1.7.4 (but the files names were identical.

In terms of Sulai's, before all that, you'll need to

git checkout master
git merge feature/whatever

fix up each merge manually and then repeat for all branches that seem interesting. Then commit the new master to your fork and do the diff/patch above.

flend avatar Apr 30 '21 11:04 flend