[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
Major Cooke
Posts: 8196
Joined: Sun Jan 28, 2007 3:55 pm
Preferred Pronouns: He/Him
Location: QZDoom Maintenance Team

Re: [0.10.5] Gun Bonsai -- everything-compatible weapon upgrading

Post by Major Cooke »

Dan_The_Noob wrote: Mon Dec 25, 2023 11:39 pm maybe jus have 0.10.4 available for download on front page for legacy. then note 4.11.x for 10.5
Agreed. Not worth breaking your back over trying to be compatible with every single version.
RhythmCorvid
Posts: 2
Joined: Tue Dec 05, 2023 5:45 pm
Preferred Pronouns: She/Her

Re: [0.10.5] Gun Bonsai -- everything-compatible weapon upgrading

Post by RhythmCorvid »

Hey there,

Haven't grabbed the new version yet, but I did want to make a couple of suggestions based on what I'd done with my playthrough and altering the mod with the BONSAIRC.

1) Enable Removing Upgrades
- One issue I ran into during the start of a run that I accidentally saved "too quick" for, was taking corrosive instead of poison on a weapon, and I had no real recourse. Being able to spend a level to remove an element so you can add another, or remove 'piercing shots' so you can add 'bouncy shots' or something, would be nice. That or "Taking "Poison" will replace "Corrosive", proceed? Y/n" or something similar.

2) Piercing Shot Balance
- Piercing Shots doesn't quite work with it's current setup, I think. Right now you need two stacks of high velocity, and then it opens up piercing shots. That means your bullets are already going faster, and then now they're only doing damage during frames that they're in the enemy. That would be okay, if the weren't doing 30% of their original damage. Unless you're firing in a hallway, you're hitting maybe two enemies with a good pierced shot. Assuming maybe two frames of damage per enemy, you're getting maybe 120% out of that one shot, and then the rest are going to be doing less damage per hit if you're only hitting one enemy. I think the damage needs to go up, the velocity requirements need to be adjusted, slowing down the fire rate of projectile weapons should be an upgrade choice, and then you can fire a 'slow piercing plasma rifle', kind of thing.

3) Explosive Bouncy Shots
Rockets and such lose some effectiveness when they bounce. I'm guessing since the bounciness modifies the bullet that's being fired, that maybe it might be needed that an explosion is added to each bounce? I don't know how easy that would be accomplished, as I don't know if you can tell if a bullet is explosive or not, but I had noticed this coming up and it made me go "Oh, I can't use this upgrade on this gun." Which is fine, but I wanted to see if it could be addressed.

4) Bandoliers and it's oddness and how to mitigate it.
Instead of Bandoliers giving you increased backpack space, what if it was something like "Siphon Lead", and every stack increased the amount of ammo that you had in "reserve", sort of like a second backpack. Then when you hit 0 in any ammo, it just grabs from what's in the siphon pool up to the max? This keeps your ammo "as designed" but keeps your ability to add to your ammo pool. It does mean keeping an extra array of data of what bullets you have in inventory and their maximums, but, it might be a solution that allows you to "not touch" backpacks or something else.

5) Set limits for upgrade paths.
This might need to be done in BONSAIRC, but being able to limit "Damage" to 5 (Or +100%) would be nice. Rapid Fire only able to go up to 2x, etc. I know "You don't have to take those levels" but it also would mean the weapon would stop leveling so it would stop glowing at me.

6) Bonsai Actors and RPG Loot
Have you thought about making actors for gun Bonsai that are like loot collectables for your guns? Maybe sort of how legendoom lite can make any enemy legendary, you could add bonsai bosses to levels that reward extra score or a free level up or something. Replacing some health and armor bonuses with score items in general might be a cool idea too, though since this is a universal mod make it a toggle?
Last edited by RhythmCorvid on Wed Dec 27, 2023 3:23 am, edited 2 times in total.
User avatar
Dan_The_Noob
Posts: 878
Joined: Tue May 07, 2019 12:24 pm
Graphics Processor: nVidia with Vulkan support

Re: [0.10.5] Gun Bonsai -- everything-compatible weapon upgrading

Post by Dan_The_Noob »

RhythmCorvid wrote: Wed Dec 27, 2023 1:21 am 1) Enable Removing Upgrades

2) Piercing Shot Balance

3) Explosive Bouncy Shots

4) Bandoliers and it's oddness and how to mitigate it.

5) Set limits for upgrade paths.

6) Bonsai Actors and RPG Loot
1 - just toggle them off and don't choose the wrong upgrade next time.
2 - piercing should be tied to damage upgrades, not velocity. also should be 60% damage not 30%.
3 - explosives work with bounce, just don't get more than 1 or it becomes an issue.
4 - just use infiniteammo cheats if you want to hoard all ammo in the map, or backpack mod and give yourself 100 backpacks.
5 - agree on the limits thing, it's come up multiple times here.
6 - score is something people add to mods, gunbonsai is designed to add to other mods so having it replace items would just get annoying.
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.10.5] Gun Bonsai -- everything-compatible weapon upgrading

Post by Brohnesorge »

If you do decide to do hard limits on upgrades like that, please make it a configurable amount. I'm very much not a fan of the...reverse power creep? weak creep? this mod keep getting nor am I a big fan of how much stuff gets limited or recommended to be limited because people can't control themselves.
User avatar
Dan_The_Noob
Posts: 878
Joined: Tue May 07, 2019 12:24 pm
Graphics Processor: nVidia with Vulkan support

Re: [0.10.5] Gun Bonsai -- everything-compatible weapon upgrading

Post by Dan_The_Noob »

Brohnesorge wrote: Wed Dec 27, 2023 4:20 pm If you do decide to do hard limits on upgrades like that, please make it a configurable amount. I'm very much not a fan of the...reverse power creep? weak creep? this mod keep getting nor am I a big fan of how much stuff gets limited or recommended to be limited because people can't control themselves.
it should definitely be a feature but should also definitely have optional sliders and be uncapped by default.

also, it's not that people "can't control themselves" but most of us don't play in super easy mode where we can pick any upgrade and get 20 upgrades per map.
so having it able to be capped gives us the option to not have picks and also to have very limited picks.
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.10.5] Gun Bonsai -- everything-compatible weapon upgrading

Post by Brohnesorge »

What? That's part of exactly why it shouldn't be limited is because you have so much control over the speed of growth. Control that people either seriously under utilize or they set themselves up to do 20 upgrades per level then complain that they're too strong.
User avatar
Dan_The_Noob
Posts: 878
Joined: Tue May 07, 2019 12:24 pm
Graphics Processor: nVidia with Vulkan support

Re: [0.10.5] Gun Bonsai -- everything-compatible weapon upgrading

Post by Dan_The_Noob »

Brohnesorge wrote: Wed Dec 27, 2023 7:58 pm What? That's part of exactly why it shouldn't be limited is because you have so much control over the speed of growth. Control that people either seriously under utilize or they set themselves up to do 20 upgrades per level then complain that they're too strong.
???

if i set it to 3 choices per level up, i don't want situations where the 3 choices i get are all stuff that is already "high enough"

it was stupid when you could get uncapped damage reduction etc.
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.10.4] Gun Bonsai -- everything-compatible weapon upgrading

Post by Brohnesorge »

TheVanessii wrote: Sat Dec 23, 2023 7:40 pm I noticed that when weapons get fast, the muzzle flash sprite that's laid over the main gun sprite lingers longer than it should; leading to the cutoff muzzleflash sprite hovering when the weapon itself has already moved. Still a really interesting mod though!

https://imgur.com/a/o8ztfYl

little late but I just want to throw out there that the SSG is just like that in vanilla Doom. One of those "once you see it" type deals.
User avatar
ToxicFrog
Posts: 229
Joined: Thu Oct 05, 2017 10:09 am
Preferred Pronouns: She/Her
Operating System Version (Optional): NixOS

Re: [0.10.5] Gun Bonsai -- everything-compatible weapon upgrading

Post by ToxicFrog »

RhythmCorvid wrote: Wed Dec 27, 2023 1:21 am 1) Enable Removing Upgrades
Disabling upgrades is already in. Letting mutually exclusive upgrades replace each other post hoc is a can of worms I am unwilling to open. You can completely reset a weapon by setting the binding mode to "individual weapon" or "individual w/inheritance" and then dropping the old weapon and picking up a replacement, but of course that loses all the other upgrades on it as well. Not sure I want to implement the ability to spend levels to erase upgrades, and if I do it's going to happen after a lot of other stuff that's in the queue.
2) Piercing Shot Balance
This really depends on the weapon and the enemies you're fighting; big enemies will take more damage, weapons with slower shots will hit for more frames. One level of piercing is a debuff against single targets for the plasma rifle (except against really big things like like the cyberdemon or mastermind) but you come out well ahead when fighting crowds; two levels makes it just flat out better against most things. I'm generally pretty happy to take it in maps that feature crowds of enemies.

One thing that wasn't an issue when this was originally written: you can take two levels of high velocity, then take piercing shots, then disable high velocity(!) to get more frames of damage per shot.

One thing I've considered is taking away the damage debuff but instead tweaking it to damage each thing it pierces only once, but I have yet to figure out how to do that in a performant way.
3) Explosive Bouncy Shots
Not something I'd thought of before, but I think this might be doable, maybe? You can't tell a priori whether a projectile has an explosion, but that's generally implemented by giving it a Death or Crash state which either (a) calls A_Explode() or similar and plays an explosion animation or (b) spawns another actor that handles the explosion. So perhaps we can do this by copying the projectile at the moment of impact, zeroing its velocity, making it intangible (so it doesn't double-hit the thing it bounced off of), and putting it in its death state. And I like the idea of a bouncy rocket exploding multiple times.
4) Bandoliers and it's oddness and how to mitigate it.
There was some discussion of this upthread, where I proposed basically exactly what you describe here, and someone else reported that they'd prototyped it and run into issues with mods that have reloading weapons (where it's common to use ammo1 for the loaded ammo and ammo2 for the reserve) where it would incorrectly siphon ammo out of the weapon. I like this idea but it may require some finesse to work right. On the other hand, it can hardly have more problems than the current implementation does, where basically every mod that adds backpacks either breaks or is broken by this upgrade.
5) Set limits for upgrade paths.
Some upgrades already have hardcoded limits (also discussed upthread) but there is no generalized form for setting them in BONSAIRC, it's just part of the IsSuitableFor*() method family in the upgrade's implementation. I think if I were going to add more in this vein it would instead be making it possible for upgrades to intelligently determine when more upgrades are unhelpful and stop offering themselves; e.g. if an upgrade's next level would take it from +49% damage to +49.5% damage it's basically dead weight in the upgrade list. The existing level caps are based on this philosophy but are hardcoded, so not all upgrades cut themselves off like that at the point where further levels stop helping, and they should.
6) Bonsai Actors and RPG Loot
I think "replace health and armour with scoreitems" and things of that nature belongs in a separate mod, rather than being another option for GB. I'm pretty sure I've played at least one mod that did something like that, and let you spend the points thus accumulated to buy health, armour, weapons, and suchlike. Same deal with making random bosses -- Legendoom Lite and Champions already do that better than I can, and Bonsai already gives you bonus XP for them.
TristanH
Posts: 10
Joined: Sat Nov 12, 2022 1:25 pm

Re: [0.10.5] Gun Bonsai -- everything-compatible weapon upgrading

Post by TristanH »

I must say, This mod has improved. But there's a problem, a big one. When I get the Juggler upgrade, when I try to get a new upgrade, The game just crashes completely. Here's the error.
You do not have the required permissions to view the files attached to this post.
User avatar
7HEPOW
Posts: 25
Joined: Tue Aug 08, 2017 6:23 pm
Preferred Pronouns: He/Him
Operating System Version (Optional): Arch
Graphics Processor: nVidia with Vulkan support
Location: Germany

Re: [0.10.5] Gun Bonsai -- everything-compatible weapon upgrading

Post by 7HEPOW »

Interestingly enough, I didn't encounter the sound bug on 0.10.4, but now on almost every upgrade on 0.10.5. Running GZD 4.11.3 on Linux. :D
User avatar
Dan_The_Noob
Posts: 878
Joined: Tue May 07, 2019 12:24 pm
Graphics Processor: nVidia with Vulkan support

Re: [0.10.5] Gun Bonsai -- everything-compatible weapon upgrading

Post by Dan_The_Noob »

TristanH wrote: Wed Dec 27, 2023 10:14 pm I must say, This mod has improved. But there's a problem, a big one. When I get the Juggler upgrade, when I try to get a new upgrade, The game just crashes completely. Here's the error.
was just coming to post this same crash.

wasn't sure what the cause was but it sounds like juggler because i had juggler on an upgrade before mine started crashing too.
doomcrash.png

--EDIT--
on the bandoliers thing, I think just having toggles for the troublesome upgrades would go a long way... like being able to disable ammo/health/armor scavenge and bandoliers would be pretty good for using things like DRLA
You do not have the required permissions to view the files attached to this post.
User avatar
stainedofmind
Posts: 174
Joined: Sun Sep 01, 2019 10:59 am

Re: [0.10.5] Gun Bonsai -- everything-compatible weapon upgrading

Post by stainedofmind »

So, update on ammo reserves instead of Bandoliers, I managed to get it working a little better, at least so it doesn't completely break when clips/reloading is involved (only tested with Brutal Doom in this case). I borrowed code from Ammo Leech to determine what qualifies as a legitimate ammo type, but it's still definitely not perfect. Best example I've run into so far is with Hell Crusher and the secondary fire for the Plasma Rifle, which builds up heat as you fire. This might benefit from a special section to the BONSAIRC lump, or a similar one, that the user/author can specify which ammo types are/aren't valid. It definitely feels like it works good overall though. I might clean it up a bit and post it here if anyone wants to mess around with it
Last edited by stainedofmind on Fri Dec 29, 2023 3:35 pm, edited 1 time in total.
User avatar
Dan_The_Noob
Posts: 878
Joined: Tue May 07, 2019 12:24 pm
Graphics Processor: nVidia with Vulkan support

Re: [0.10.5] Gun Bonsai -- everything-compatible weapon upgrading

Post by Dan_The_Noob »

I like how bandoliers works currently, it let me ditch the backpack mod in co-op and made it a decision to make.

I don't really understand the goal of the ammo reserves alternative other than just avoiding clashes with mods where bandoliers could be toggled off
Darkbeetlebot
Posts: 15
Joined: Fri Jul 17, 2020 6:52 pm

Re: [0.10.5] Gun Bonsai -- everything-compatible weapon upgrading

Post by Darkbeetlebot »

Really liking this one, made doing slaughter maps with more difficult gameplay mods actually possible and sometimes really fun. Although the damage buff can get a bit out of hand if you aren't using a mod that scales enemy varieties up like Colorful Hell, DoomRLA, or Project Brutality. I especially like using it with GMOTA. I'll also test this on Borderdoom to see if it works on there at some point.

One critique I have, though, is that the upgrades feel a bit limited in variety. Would be nice to have an upgrade to increase blast radius for explosive weapons, if possible. Or clip size upgrade for mods that use those, though I'm guessing that would be hard. I also often encounter situations where weapons don't have the option for upgrades that they ought to, like a mod's rocket launcher not having high velocity. I also wish certain upgrades weren't dependent on getting previous upgrades. Maybe we could have a toggle for allowing all upgrades to be available for all weapons at all times? Excluding the elemental ones, obviously, because they need the stacking mechanic to function. (Or do they?) Essentially removing the branching progression so you don't have to waste levels on upgrades you don't want just to get to one you do.

Return to “Gameplay Mods”