landgreen / n-gon

2-d physics rogue-lite platformer shooter
https://landgreen.github.io/n-gon/
GNU General Public License v3.0
134 stars 193 forks source link

Major Balance issue; stacked interest on subway and level final, paradigm shift + options exchange + remove tech #213

Closed AnnonymousNerd87 closed 2 months ago

AnnonymousNerd87 commented 2 months ago

I know that interest + coupling is already on your list of ways to break the game, but the severity of the problem is much bigger than that. when combined with the (infinite) combo of paradigm shift plus options exchange, allowing you to pick up a tech, trigger all your cancel tech once for free, pick any of the options, remove the new tech and repeat, outhealing the damage tenfold with commodities exchange, can trigger the cancel tech that gives coupling infinitely, then you can stack interest and futures exchange to 100% duplication on interest that in my run was 18% per level, causing so many powerups to spawn that I had severe framerate issues, coasting easy to subway and level final when you could trigger interest many times over. I will include a video of that 18% interest run on level final below 10 fps with 3749 powerups and 1.560e+4x damage total, mainly because of coupling. I haven't finished that run as of writing this, and currently have 6130.000x damage from 4086 coupling, health: (6048 / 6069) from quenching, ammo: 9775 from that remove tech that gives 50 ammo powerups and options exchange, and research: 1064, along with Bayesian statistics for 54.20x damage.

nevermind the video file is too big to send through github

AnnonymousNerd87 commented 2 months ago

trying to share with link:

link

AnnonymousNerd87 commented 2 months ago

https://drive.google.com/file/d/10j90ZpJG9XgH7TxPkjpNTBBhIH4rud6k/view?usp=drive_link

AnnonymousNerd87 commented 2 months ago

download video to watch if you want to skip the horrible Google drive load time

AnnonymousNerd87 commented 2 months ago

suggestions for fixing; rework options exchange / paradigm shift to prevent infinite loop interest can't be stacked interest triggers less on subway and level final interest doesn't follow other instant tech and just adds the stuff to your cache instead of spawning powerups if it detects that it would spawn more than 100 powerups interest has a cap on the amount spawned (ex. no more than 10 research, 50 ammo, 10 heals, 50 coupling) add back chance for options exchange/paradigm shift to fail etc.

landgreen commented 2 months ago

That sounds awesome.

After playing Balatro I decided I needed to intentionally add ways to break the game. I want players to feel like they are tricking the developer. My balance goal is only that breaking the game can't be done too often on harder difficulties.

Looks like "options exchange + paradigm shift + commodities exchange" might be too easy to get. What do you think of either of these balance fixes?

  1. Not spawning health from commodities exchange
  2. Each time you use paradigm shift it takes away 1 more health, but it starts at 1 health.

note: interest triggers 3-4 times on the last 2 levels, but it only triggers 1/3 of the effect each time.

Ant-Throw-Pology commented 2 months ago

Maybe you could track tech power ups that come from ejections, and make it so those power ups can't trigger cancel tech?

Masbirb commented 2 months ago

I like the idea behind making ways too intentionally break the game but currently it is too easy Also in balatro you could break the game badly but not to the point that you will basically forever out-scale the game once you start looping I however do enjoy your current idea of making paradigm shift increase in health cost The commodity exchange "nerf" sounds like a buff to me but it does slow the paradigm shift game break

3xionDev commented 2 months ago

Jesus christ that's a lot of coupling

Anyway, yeah, I agree that having ways to break the game actually makes it more fun. It's sort of a tetris-esque situation where players were intentionally breaking the game to make a larger challenge for themselves. This does feel a bit overpowered though. I like what ant-throw-pology suggested, as it feels like a largely unintrusive way to patch this, and it would bring this situation down to "oh, this exploit doesn't work anymore" instead of "hey, they removed this!" with people being mad and all that.

AnnonymousNerd87 commented 2 months ago

the problem is that it would be hard to track what was removed and also if it isn't broadcast correctly then players would be confused and make dumb decisions like prioritizing futures exchange over new tech. I feel like the suggestion by landgreen is a good balance because it disincentives ejecting tech to effectively exchange health for rerolls without making remove builds unviable.

AnnonymousNerd87 commented 2 months ago

my only regret is not causing an integer overflow and dealing negative damage without that junk tech

totally not related but do you use 16 bit, 32 bit, or 64 bit?

AnnonymousNerd87 commented 2 months ago

https://en.wikipedia.org/wiki/Integer_overflow

kgurchiek commented 2 months ago

I think a stacking health loss or other harmful result from paradigm shift would be the best way to prevent op synergies with it while still making it usable for normal gameplay

kgurchiek commented 2 months ago

totally not related but do you use 16 bit, 32 bit, or 64 bit?

@AnnonymousNerd87 javascript numbers use 64-bit floats

AnnonymousNerd87 commented 2 months ago

so all I have to do is get 18,446,744,073,709,551,615 max health to cause integer overflow and get negative health

On Mon, Apr 22, 2024 at 12:12 PM Cornbread2100 @.***> wrote:

totally not related but do you use 16 bit, 32 bit, or 64 bit?

@AnnonymousNerd87 https://github.com/AnnonymousNerd87 javascript numbers use 64-bit floats

— Reply to this email directly, view it on GitHub https://github.com/landgreen/n-gon/issues/213#issuecomment-2070706490, or unsubscribe https://github.com/notifications/unsubscribe-auth/BHEAKNCNHO4RHA52MBNWVFLY6VOITAVCNFSM6AAAAABGRSIBBKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANZQG4YDMNBZGA . You are receiving this because you were mentioned.Message ID: @.***>

AnnonymousNerd87 commented 2 months ago

or just die

On Mon, Apr 22, 2024 at 12:47 PM Felix Koenig @.***> wrote:

so all I have to do is get 18,446,744,073,709,551,615 max health to cause integer overflow and get negative health

On Mon, Apr 22, 2024 at 12:12 PM Cornbread2100 @.***> wrote:

totally not related but do you use 16 bit, 32 bit, or 64 bit?

@AnnonymousNerd87 https://github.com/AnnonymousNerd87 javascript numbers use 64-bit floats

— Reply to this email directly, view it on GitHub https://github.com/landgreen/n-gon/issues/213#issuecomment-2070706490, or unsubscribe https://github.com/notifications/unsubscribe-auth/BHEAKNCNHO4RHA52MBNWVFLY6VOITAVCNFSM6AAAAABGRSIBBKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANZQG4YDMNBZGA . You are receiving this because you were mentioned.Message ID: @.***>

landgreen commented 2 months ago

I think a stacking health loss or other harmful result from paradigm shift would be the best way to prevent op synergies with it while still making it usable for normal gameplay

I just added a ramping cost of 1 health with 1.2x increase each use. You get about 20 uses before it's too much, but high defense can buy you about 10 more uses. Also, CPT skin can completely undo the health cost.

So now it's a 4 tech synergy to break the game. options exchange + paradigm shift + CPT + residual dipolar coupling I added one more nerf: ejected tech are banished for this game, so they can't show again.

AnnonymousNerd87 commented 2 months ago

Interesting, but I feel like the eject banish could cause unintended side effects, like hilbert space/tech stealer boss becoming overpowered/useless

On Mon, Apr 22, 2024 at 4:35 PM landgreen @.***> wrote:

I think a stacking health loss or other harmful result from paradigm shift would be the best way to prevent op synergies with it while still making it usable for normal gameplay

I just added a ramping cost of 1 health with 1.2x increase each use. You get about 20 uses before it's too much, but high defense can buy you about 10 more uses. Also, CPT skin can completely undo the health cost.

So now it's a 4 tech synergy to break the game. options exchange + paradigm shift + CPT + residual dipolar coupling I added one more nerf: ejected tech are banished for this game, so they can't show again.

— Reply to this email directly, view it on GitHub https://github.com/landgreen/n-gon/issues/213#issuecomment-2071122681, or unsubscribe https://github.com/notifications/unsubscribe-auth/BHEAKNEO5ZKYJGYWAVOOP7TY6WNEBAVCNFSM6AAAAABGRSIBBKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANZRGEZDENRYGE . You are receiving this because you were mentioned.Message ID: @.***>

landgreen commented 2 months ago

the banish is only for paradigm shift right now.

AnnonymousNerd87 commented 2 months ago

got it

On Mon, Apr 22, 2024 at 4:58 PM landgreen @.***> wrote:

the banish is only for paradigm shift right now.

— Reply to this email directly, view it on GitHub https://github.com/landgreen/n-gon/issues/213#issuecomment-2071143483, or unsubscribe https://github.com/notifications/unsubscribe-auth/BHEAKNFZCCTQ5PTHMQJXPFLY6WP2NAVCNFSM6AAAAABGRSIBBKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANZRGE2DGNBYGM . You are receiving this because you were mentioned.Message ID: @.***>

landgreen commented 2 months ago

should I extend banish to all ejected tech?

AnnonymousNerd87 commented 2 months ago

no, paradigm shift is the only one you can control, all the others are random and only activate once so they are balanced

On Mon, Apr 22, 2024 at 5:27 PM landgreen @.***> wrote:

should I extend banish to all ejected tech?

— Reply to this email directly, view it on GitHub https://github.com/landgreen/n-gon/issues/213#issuecomment-2071169138, or unsubscribe https://github.com/notifications/unsubscribe-auth/BHEAKNDGV47SWVTCHKGU43TY6WTHZAVCNFSM6AAAAABGRSIBBKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANZRGE3DSMJTHA . You are receiving this because you were mentioned.Message ID: @.***>

3xionDev commented 2 months ago

so all I have to do is get 18,446,744,073,709,551,615 max health to cause integer overflow and get negative health

18.4 quintillion health, shouldn't be that hard

AnnonymousNerd87 commented 2 months ago

the hard part is picking up the powerups with less than -2fps

On Tue, Apr 23, 2024 at 6:33 AM 3xion @.***> wrote:

so all I have to do is get 18,446,744,073,709,551,615 max health to cause integer overflow and get negative health

18.4 quintillion health, shouldn't be that hard

— Reply to this email directly, view it on GitHub https://github.com/landgreen/n-gon/issues/213#issuecomment-2072337365, or unsubscribe https://github.com/notifications/unsubscribe-auth/BHEAKNBFC5DWWHQXE46RHZTY6ZPK3AVCNFSM6AAAAABGRSIBBKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANZSGMZTOMZWGU . You are receiving this because you were mentioned.Message ID: @.***>