[0.10.6] Gun Bonsai -- everything-compatible weapon upgrading

Projects that alter game functions but do not include new maps belong here.
Forum rules
The Projects forums are only for projects. If you are asking questions about a project, either find that project's thread, or start a thread in the General section instead.

Got a cool project idea but nothing else? Put it in the project ideas thread instead!

Projects for any Doom-based engine (especially 3DGE) are perfectly acceptable here too.

Please read the full rules for more details.
User avatar
ToxicFrog
Posts: 229
Joined: Thu Oct 05, 2017 10:09 am
Preferred Pronouns: She/Her
Operating System Version (Optional): NixOS

[0.10.6] Gun Bonsai -- everything-compatible weapon upgrading

Post by ToxicFrog »

Hurt demons to earn XP. Earn XP to level up your weapons. Level up your weapons to instill them, and yourself, with powerful upgrades and abilities.

Key features:
- Highly compatible. Designed to play nice with non-doom IWADs like Heretic, gameplay overhauls like DRLA, and total conversions like Ashes 2063. It's even compatible with some commercial gzDoom games like Hedon. Works with both GZDoom and LZDoom.
- Highly configurable. The options screen is comprehensive and self-documenting, with in-game tooltips. Many compatibility and balance settings can be tweaked to your liking, for an optimal experience with whatever maps and mods you're using. Other mods can automatically apply compatibility tweaks with the BONSAIRC lump.
- A buffet of weapon upgrades. Lightning bullets, incendiary rockets, fragmentation plasma bolts, and much more.
- A sampler platter of player upgrades. Scavenge ammo from the dead, swap weapons instantly, and force enemies that attack you to feel your pain.
- Special mod integrations. Gun Bonsai gains additional features when paired with Legendoom, Indestructable, and score mods like Lazy Points.

Known Issues:
Gun Bonsai currently requires a very recent (4.11.x) version of gzdoom. It still works in lzdoom and hdoom, but earlier 4.x versions of gzdoom have a bug affecting RPC service initialization that prevents the mod from loading. If you want to play it in an older version but can't switch to lzdoom, try 0.10.4 instead.

You can read the full documentation here (or jump directly to the FAQ, the mod compatibility notes, the complete list of available upgrades, or the debug and API information for modders).

This is my first foray into Doom modding (Indestructable released a few days earlier, but I've been working on this for much longer and it's a much more complicated project); feedback is welcome!
Spoiler: Demo Videos
Spoiler: Documentation & Downloads
Last edited by ToxicFrog on Wed Jan 03, 2024 2:02 pm, edited 29 times in total.
User avatar
Brohnesorge
Posts: 495
Joined: Sat Oct 08, 2016 9:10 am
Preferred Pronouns: He/Him
Operating System Version (Optional): Win10
Graphics Processor: nVidia with Vulkan support

Re: [0.8.0] Gun Bonsai -- everything-compatible weapon upgra

Post by Brohnesorge »

This mod is super cool cause it lets me do this in Baron. The classic samurai slash across and everyone explodes at once.
User avatar
openroadracer
Posts: 496
Joined: Mon Sep 23, 2019 1:03 pm
Preferred Pronouns: He/Him
Operating System Version (Optional): Windows 7 Professional 64-bit SP1
Graphics Processor: ATI/AMD with Vulkan/Metal Support
Location: Doomworld Forums

Re: [0.8.0] Gun Bonsai -- everything-compatible weapon upgra

Post by openroadracer »

Huh. I had ideas about Medal of Honor: Airborne and Binary Domain, and I wonder if this couldn't be used as a base for such ideas...
User avatar
mamaluigisbagel
Posts: 524
Joined: Wed Jul 09, 2014 7:25 pm
Preferred Pronouns: He/Him
Operating System Version (Optional): Windows 11
Graphics Processor: nVidia with Vulkan support

Re: [0.8.0] Gun Bonsai -- everything-compatible weapon upgra

Post by mamaluigisbagel »

Just had my first crash when firing a homing rocket in Meta-Doom. This could be due to me using Corruption Cards and getting an "all projectiles travel faster" card, but wanted to report just in case. (I have a feeling CC will have lots of issues with this mod :P )

User avatar
Brohnesorge
Posts: 495
Joined: Sat Oct 08, 2016 9:10 am
Preferred Pronouns: He/Him
Operating System Version (Optional): Win10
Graphics Processor: nVidia with Vulkan support

Re: [0.8.0] Gun Bonsai -- everything-compatible weapon upgra

Post by Brohnesorge »

Got this after shooting an enemy with the Chain Lightning upgrade.

I was playing with HOD-Baron and LEGION so this may be a problem on my end.

Craneo
Posts: 248
Joined: Sat Jun 22, 2019 9:12 am
Graphics Processor: Intel (Modern GZDoom)
Location: Gone.

Re: [0.8.0] Gun Bonsai -- everything-compatible weapon upgra

Post by Craneo »

Just played a bit of this with Project Complexity on Alien Vendetta, really like it so far! Only complain I have is some of the effects are a bit too low, which is fine for some mods but others do have higher effects, atleast I would like to see a smoother explosion I guess, and maybe some more complex looking particles, honestly been waitning for a RPG-like mod that is actually universal since forever and I'm glad this exists! I have a few suggestions but I am unsure if you are open to suggestions atm, they are all graphics-related and not really code related thought, but I'd be glad to help if I can since I can kinda do graphic stuff...
User avatar
Brohnesorge
Posts: 495
Joined: Sat Oct 08, 2016 9:10 am
Preferred Pronouns: He/Him
Operating System Version (Optional): Win10
Graphics Processor: nVidia with Vulkan support

Re: [0.8.0] Gun Bonsai -- everything-compatible weapon upgra

Post by Brohnesorge »

I'm back again to say how awesome and fun this mod is. If anyone reading this is on the fence, absolutely play this.

That said, some kind of compendium of all the effects and how they stack would be nice, but I can totally get why you wouldn't want to do one.
User avatar
ToxicFrog
Posts: 229
Joined: Thu Oct 05, 2017 10:09 am
Preferred Pronouns: She/Her
Operating System Version (Optional): NixOS

Re: [0.8.0] Gun Bonsai -- everything-compatible weapon upgra

Post by ToxicFrog »

Replies to everyone inline. This was a great thread to wake up to. :3:
mamaluigisbagel wrote:Just had my first crash when firing a homing rocket in Meta-Doom. This could be due to me using Corruption Cards and getting an "all projectiles travel faster" card, but wanted to report just in case. (I have a feeling CC will have lots of issues with this mod :P )
Did this happen when the rocket hit something, or just as you fired it? It's an easy fix either way, but in the latter case the fix will cause homing to stop working in circumstances where it would otherwise crash -- which is still better than crashing, but not ideal. (The homing is a gross hack and I'm a bit surprised it works at all, since I can't modify the original projectiles.)
Brohnesorge wrote:Got this after shooting an enemy with the Chain Lightning upgrade.

I was playing with HOD-Baron and LEGION so this may be a problem on my end.
No, that's definitely a problem in my code -- it looks like an enemy ceased to exist (not just died but was removed from the level, possibly due to being gibbed/disintegrated/etc) in the brief window between chain lightning detecting it as a valid target and trying to actually arc to it. That's going to be a somewhat more involved change if I want the lightning to still be able to arc through the pink mist where the enemy used to be (and I do), but I should be able to have fixes for both of these out later today, since it's a long weekend here.
Brohnesorge wrote:This mod is super cool cause it lets me do this in Baron. The classic samurai slash across and everyone explodes at once.
Swiftness, right? I tried to make the melee-exclusive upgrades a bit spicier to balance out the increased risk and situational nature of melee weapons, and I think that's my favourite of the lot. :D
openroadracer wrote:Huh. I had ideas about Medal of Honor: Airborne and Binary Domain, and I wonder if this couldn't be used as a base for such ideas...
It definitely could be; it's released under the MIT license, free to use for any purpose including commercial. I think the main changes you'd have to make are awarding XP on kill rather than on damage (take a look at PerPlayerStats, specifically the OnKill, OnDamageDealt, and AddXP functions) and giving each weapon its own unique upgrade pool (which could be done using the existing IsSuitableForWeapon functions, but you might also want to just replace the upgrade selection system entirely). And of course writing all the upgrades; some of the upgrades you describe aren't possible in Gun Bonsai as-is due to the compatibility requirements, but if you're integrating the upgrade mechanics into a mod you can design that mod to support those upgrades.

Alternately, if you wanted to write it as an addon (instead of copying parts of this mod and using it as a starting point for a standalone project, or just as a proof-of-concept before you really get into the meat of things), I designed the API to make it possible for other mods to register their own upgrades, so you could write an addon that just adds MOHAA/BD-specific upgrades to the pool for their specific weapons.
Craneo wrote:Just played a bit of this with Project Complexity on Alien Vendetta, really like it so far! Only complain I have is some of the effects are a bit too low, which is fine for some mods but others do have higher effects, atleast I would like to see a smoother explosion I guess, and maybe some more complex looking particles, honestly been waitning for a RPG-like mod that is actually universal since forever and I'm glad this exists! I have a few suggestions but I am unsure if you are open to suggestions atm, they are all graphics-related and not really code related thought, but I'd be glad to help if I can since I can kinda do graphic stuff...
Low as in low-res? Low-framerate? Yeah, they are both -- graphics are not my forté. Most of the mod uses particle effects because those are simple and easy, and all the actual sprite/texture work is either from FreeDoom or from free asset packs on itch.io. Contributions are welcome!
Brohnesorge wrote:I'm back again to say how awesome and fun this mod is. If anyone reading this is on the fence, absolutely play this.

That said, some kind of compendium of all the effects and how they stack would be nice, but I can totally get why you wouldn't want to do one.
If you mean a list of all the different upgrades and what they do, that's the second half of the README. There's a link in the OP but maybe I should include a link specifically to that section? It doesn't always include detailed information about stacking effects but it does have more detail than the in-game UI does, along with information about what weapons each upgrade can generate on and the restrictions on taking multiple elemental upgrades at once.
User avatar
mamaluigisbagel
Posts: 524
Joined: Wed Jul 09, 2014 7:25 pm
Preferred Pronouns: He/Him
Operating System Version (Optional): Windows 11
Graphics Processor: nVidia with Vulkan support

Re: [0.8.0] Gun Bonsai -- everything-compatible weapon upgra

Post by mamaluigisbagel »

Its hard for me to remember, but I believe it happened when it hit something, as it didn't crash as soon as the rocket came out, it actually was out for about half a second before it crashed.

EDIT: I recreated the crash, and it DEFINITELY happened when the rocket hit an enemy.
Apteral10
Posts: 106
Joined: Sat Jan 20, 2018 1:14 pm

Re: [0.8.0] Gun Bonsai -- everything-compatible weapon upgra

Post by Apteral10 »

Having difficulties running the mod... I am loading the libtool first but the mod doesn't work for some reason... Incompatible for 4.7.1 and the newest which is 4.8.2? Or I am doing something seriously wrong.
User avatar
ToxicFrog
Posts: 229
Joined: Thu Oct 05, 2017 10:09 am
Preferred Pronouns: She/Her
Operating System Version (Optional): NixOS

Re: [0.8.0] Gun Bonsai -- everything-compatible weapon upgra

Post by ToxicFrog »

mamaluigisbagel wrote:Its hard for me to remember, but I believe it happened when it hit something, as it didn't crash as soon as the rocket came out, it actually was out for about half a second before it crashed.

EDIT: I recreated the crash, and it DEFINITELY happened when the rocket hit an enemy.
That's good news! I have a fix and it'll go live in 0.8.1.
Apteral10 wrote:Having difficulties running the mod... I am loading the libtool first but the mod doesn't work for some reason... Incompatible for 4.7.1 and the newest which is 4.8.2? Or I am doing something seriously wrong.
Can you provide any more information? If the game crashes or fails to load, a paste or screenshot of the error; if it loads but doesn't behave as expected, what happens instead?
Craneo
Posts: 248
Joined: Sat Jun 22, 2019 9:12 am
Graphics Processor: Intel (Modern GZDoom)
Location: Gone.

Re: [0.8.0] Gun Bonsai -- everything-compatible weapon upgra

Post by Craneo »

One suggestion I wanted to give was, what about alternate graphics for the level up bar? Specifically was thinking of something less tech-y and more fantasy looking for playing more medieval fantasy-like mods or games like Heretic/Hexen.

And I'll try to see what I can do about the particles, should be easy enough maybe...
User avatar
ToxicFrog
Posts: 229
Joined: Thu Oct 05, 2017 10:09 am
Preferred Pronouns: She/Her
Operating System Version (Optional): NixOS

Bugfix release: 0.8.1

Post by ToxicFrog »

0.8.1 released, fixing both reported crash bugs (hopefully) and adding some prettier lightning VFX and a debug command interface. Get it here or from the download link in the OP.

I've also updated the OP to make the links to the README more prominent, including the link to the list of upgrades.
Craneo wrote:One suggestion I wanted to give was, what about alternate graphics for the level up bar? Specifically was thinking of something less tech-y and more fantasy looking for playing more medieval fantasy-like mods or games like Heretic/Hexen.

And I'll try to see what I can do about the particles, should be easy enough maybe...
Alternate graphics for the level-up bar would be pretty sweet; this is just another itch.io special. One thing to keep in mind is that all the HUD geometry information (texture size and the positions and extents of both XP bars and all the text) is hard-coded in hud.zs; replacement graphics with the same dimensions and internal positioning will be a drop-in replacement and could easily be added to the options screen, but stuff with different layout, while still possible, will need more work to support.
User avatar
openroadracer
Posts: 496
Joined: Mon Sep 23, 2019 1:03 pm
Preferred Pronouns: He/Him
Operating System Version (Optional): Windows 7 Professional 64-bit SP1
Graphics Processor: ATI/AMD with Vulkan/Metal Support
Location: Doomworld Forums

Re: [0.8.0] Gun Bonsai -- everything-compatible weapon upgra

Post by openroadracer »

ToxicFrog wrote:
openroadracer wrote:Huh. I had ideas about Medal of Honor: Airborne and Binary Domain, and I wonder if this couldn't be used as a base for such ideas...
It definitely could be; it's released under the MIT license, free to use for any purpose including commercial. I think the main changes you'd have to make are awarding XP on kill rather than on damage (take a look at PerPlayerStats, specifically the OnKill, OnDamageDealt, and AddXP functions) and giving each weapon its own unique upgrade pool (which could be done using the existing IsSuitableForWeapon functions, but you might also want to just replace the upgrade selection system entirely). And of course writing all the upgrades; some of the upgrades you describe aren't possible in Gun Bonsai as-is due to the compatibility requirements, but if you're integrating the upgrade mechanics into a mod you can design that mod to support those upgrades.

Alternately, if you wanted to write it as an addon (instead of copying parts of this mod and using it as a starting point for a standalone project, or just as a proof-of-concept before you really get into the meat of things), I designed the API to make it possible for other mods to register their own upgrades, so you could write an addon that just adds MOHAA/BD-specific upgrades to the pool for their specific weapons.
Honestly, this might work better for Binary Domain, as each weapon in that game(at least, each character's primary weapon anyway) could have multiple aspects upgraded separately: accuracy, rate of fire, magazine size, shot damage, range, and Dan's SOWSAR rifle had an upgradable "Shock Burst" underbarrel energy weapon that could have its damage and knockback upgraded.

Binary Domain also had a system of "nanomachine" upgrade chips that each character could equip, and this mod's "player level" system could well be used for upgrades of that nature, too.

That said, the MOH:A weapons would be more straightforward: each weapon gets three upgrades, and they're always given in the same order(i.e. the Thompson M1928A1 goes "vertical grip" > "Cutts Compensator" > "drum mag", in that order). That might make that easier to balance around.
Apteral10
Posts: 106
Joined: Sat Jan 20, 2018 1:14 pm

Re: [0.8.1] Gun Bonsai -- everything-compatible weapon upgra

Post by Apteral10 »

Fails to activate completely. Mod load order is: Libtooltipmenu, GunBonsai-0.8.0.pk3, the folder doom-mod-gun-bonsai-0.8.0, doom-mods-gun-bonsai-0.8.0.tar.gz, CorruptionCards 3.6.pk3, LegenDoom_2.8.3.pk3 and btsx_e1b.wad. Picture attached is errors when not using LegenDoom_2.8.3.pk3. It seems that the forums claim the picture (data) size is too big... And I am not in the mood going to make imgur account. So, I am going to at least write the errors which also show up when I use the same load order as I described above but without LegenDoom.

Invalid data encountered for texture GunBonsai-0.8.0.pk3:sprites/ui/.gitignore
Invalid data encountered for texture GunBonsai-0.8.0.pk3:sprites/ui/hud.xcf
Invalid data encountered for texture GunBonsai-0.8.0.pk3:sprites/ui/makefile

Couldn't find Legendoom LD-specific features in Gun Bonsai disabled.

That is the only errors I was able to capture. I do have the screenshot of this on me but like I said. For some reason file size is too big for the forums.

Return to “Gameplay Mods”