Juicebox

[Open Assets] Juicebox Guava

This content may be freely modified and/or maintained by anyone.

Tyron

Krew, MS sysop, gay robot, horns
Tyron submitted a new resource:

Juicebox - a refreshing take on racing



Juicebox is a far-reaching, highly opinionated gameplay mod, aimed at reducing common frustrations and keeping players in close competition.
  • Dash Gates offer comeback potential for precise handling.
  • Technical Recovery keeps players in the action after tough hits.
  • Rebalanced items offer more consistency at every distance.
  • New systems keep all statblocks in competition, wtihout handling changes.
  • No new controls.
...

Read more about this resource...
 
Tyron updated Juicebox with a new update entry:

Apricot

This is a bugfix release with no gameplay changes. Thanks to everyone participating in day 1 netgames, and special thanks to all hosts giving this thing a try.

  • Fixed a possible syncfail when a player finished their first round after joining mid-race
  • Fixed an error when a player simultaneously disconnected and mistimed a Technical Recovery
  • Fixed an error when trying to play certain sounds while a client reported 0 local players (?!)

Read the rest of this update entry...
 
Tyron updated Juicebox with a new update entry:

Blackberry

Features

  • Added jb_reducemotion, a local cvar which disables gate screenshake when Off. Thanks to GameKyuubi for the feedback.
  • Juicebox now generates a config in luafiles/juicebox.cfg, and will load it if it's present—like other addons, this can be used to automatically set local preferences when joining servers.
  • Added a postrace tip to remind players of the new config system.

Fixes

  • Fixed an issue causing the "X" indicator for a mistimed...

Read the rest of this update entry...
 
Tyron updated Juicebox with a new update entry:

Cherry

This update includes some small but impactful changes to recovery mechanics, adds some extra features for servers that frequently change gametype, and squashes a few bugs that are dumber than any of the ones I fixed last update.

Gameplay Changes

  • While holding BRAKE, ACCEL inputs no longer count as tech attempts. This allows players in extended wipeout to use ACCEL+BRAKE "rubberburn turning" to adjust their angle without having a tech rejected. This should help recovery in...

Read the rest of this update entry...
 
Found some interaction jank with Egg Panic: Countdown graphical weirdness, depending on load order

EggPanic first: 5/4 almost impossible to see behind 3 being stuck

kart0002.gif

Juicebox first: (gif recorded weird, so it doesn't show up right) Closer to working well, just the 3 faintly showing behind the extended timer
kart0004.gif
 
This happens because Juicebox completely recreates the item HUD in lua, so the egg panic HUD and the Juicebox HUD are both being drawn in the item position at the same time.
 
Yeah, unfortunately these types of conflicts are sort of inevitable if two addons need to control a HUD element. I don't want to make a habit of kludging around for interop, but since this is a really easy case to identify (k_eggmanexplode between 4 and 5 seconds) I'll probably fix it on my end in the next release.
 
Tyron updated Juicebox with a new update entry:

Dragonfruit

Hey, made it this far and nothing's explicitly lit on fire yet. Neat. Anyway, here's a bunch of fixes and features.

Gameplay Changes

  • Haste is no longer less effective for characters with higher weight. OOPS. This was never intended, but snuck in from an old version of KartMP: the fix should substantially help out characters in the lower-left quadrant, generally considered the weakest stat combination in Juicebox.
  • Rocket Sneakers now drain much slower when deployed (same as...

Read the rest of this update entry...
 
Juicebox in general accomplishes its intent: Keeping the pack close together. My one thought is that it does tend to make being first place a little too volatile, to the point where it feels like the meta is to stick around in second until using a ring boost at the end to swooce into first. My main thought is adding extra point bonuses for being in first for a certain length of time so that way if you get karted after leading the whole time it still feels like your skill was rewarded. Similar bonus points can be seen in a few other servers running the 'Most damage/biggest combo' counters. Not sure how viable something like that is, though.

Still, a lot of fun, and I like how it mixes up the gameplay. Greatly alleviates frustration due to karting as well. I'd love to test out its interactions with boost stacking/extension just for how wild it would get.
 
My one thought is that it does tend to make being first place a little too volatile, to the point where it feels like the meta is to stick around in second until using a ring boost at the end to swooce into first.
Timed overtakes are strong—we are in agreement on that. If 2nd is confident in their personal defense, they don't need to attack 1st in situations they think are suspect, and doing so doesn't lose much besides the opportunity. However, at least in the games I've been playing, outright sandbagging to tailgate 1st doesn't seem like a consistently effective strategy.

The most consistent killers in high-skill Juicebox lobbies seem to get most of their mileage from active defense that lasts multiple laps. 2nd still has to force an offensive situation unless 1st makes an unforced mistake, and if they're not constantly pressing, 1st can abuse that leeway. Obviously 1st has more to lose in this situation, relatively speaking, but I think they typically have the tools to handle things provided they remain razor-sharp, and that's where I want this to remain balanced.

This is something I keep a really close eye on, though. I'm wary of a data-driven design philosophy, but I have wanted to put together some scripts to measure how often this actually happens (along with other edge-case placement shifts and race results). Maybe a project for the future—in the meantime, gotta get more games.

My main thought is adding extra point bonuses for being in first for a certain length of time so that way if you get karted after leading the whole time it still feels like your skill was rewarded.
I like the idea of this, but worry that it has negative side effects in the other direction. No matter how long a player's been suffering at the back, I want them to feel like a big move can improve their standing—not always an outright W, but something that keeps them invested in the race and aggressively pushing.

In similar modes that assign constant points, like BallisticNG's Rush Hour or Team Race, I feel a mounting frustration when I can't break away, made even worse by the fact that it feels permanent. It guts high-stakes situations of their drama and excitement, and if I were to do anything like it, I'd probably have to take a look at some of the core assumptions about...uh, Race as a gamemode.

On the other hand, if I get knocked from 1st to 4th on lap 2.9, I really don't feel particularly bad. Maybe this is a difference in value judgements, LMAO
 
Timed overtakes are strong—we are in agreement on that. If 2nd is confident in their personal defense, they don't need to attack 1st in situations they think are suspect, and doing so doesn't lose much besides the opportunity. However, at least in the games I've been playing, outright sandbagging to tailgate 1st doesn't seem like a consistently effective strategy.

Yeah, it's hard to say exactly how it works without the data to back it up. One thought might be to have rings not provide a boost--or a significantly lesser boost--when it's within its first second or two of existence, meaning second still needs to overtake by capitalizing on an item or better line/1st's mistakes.

A sudden whim, though; perhaps rings get more powerful based on how many other players have gone through it, meaning the further back you are the bigger the speed boost? Right now I believe it's just the length of the boost and size of the ring that increases (feel free to correct me on it), which tends to have diminishing returns if it's long enough to reach the next ring anyways, and doesn't really supersede the common speed-up items back of the pack gets. Either that or have boost stacking in some degree. If a certain speed threshold is reached, it could activate Sliptiding for improved control. It's worth noting I really just like going fast, though XP

In similar modes that assign constant points, like BallisticNG's Rush Hour or Team Race, I feel a mounting frustration when I can't break away, made even worse by the fact that it feels permanent. It guts high-stakes situations of their drama and excitement, and if I were to do anything like it, I'd probably have to take a look at some of the core assumptions about...uh, Race as a gamemode.

I mean, if I might spill an idea I've been thinking about for a while on you, it would be that points are accrued for many actions. Hitting other players with items, maintaining 1st/2nd/3rd for certain lengths of time (bonus for SPB chases, bigger bonus for 'stealing' the SPB! Also pity points for getting hit), maybe even more mundane actions like getting a rainbow spark or tricks. Placements provide a large point bonus and/or a multiplier, but a player that lead for most of the game before getting karted could still have a good placement in the end result.

As for lacking high-stakes if you've been stuck in the back, perhaps add a karma (Kartma?) point pool that builds up the more you're hit by items and the longer you're in the back. If you manage to catch up and take the top three positions near the end of the race, that pool quickly dumps into your permanent score to give you one last injection; not as large as if you'd been in first the entire time, but something that can quickly shoot you up the total point rankings.

Probably a difference in value judgements, yeah. Big wins from the back are great, but doing well for a whole race only to get rekt at the end is a great way to sour the next several races for me due to lingering frustration, at least for me X)

Obviously that would be a huge undertaking, though, which is why I hesitated to go all-in on it before. In my initial suggestion, what I meant was you'd just get >[Normal placement score as with every race + X Bonus] for staying ahead for a certainly length of time. In the elim servers yo get +1 for most damage and/or biggest combo, for example.
 
One thought might be to have rings not provide a boost--or a significantly lesser boost--when it's within its first second or two of existence, meaning second still needs to overtake by capitalizing on an item or better line/1st's mistakes.
This is actually already the case, though I might tune it further. Gateboosts start at incredibly low duration and quickly ramp up to their "real" base duration shortly after being dropped, since in the early public tests there were some complaints about mindless tailgating being too powerful. It's kinda difficult to tune because stat interactions are so polarizing up front, when you're just trying to raw overtake with a limited set of items in play—considering I just buffed bottom left, I think I'll get a lot of data on this in the coming weeks as Seaside and other bodyslam enthusiasts test my patience.

Right now I believe it's just the length of the boost and size of the ring that increases (feel free to correct me on it), which tends to have diminishing returns if it's long enough to reach the next ring anyways, and doesn't really supersede the common speed-up items back of the pack gets. Either that or have boost stacking in some degree. If a certain speed threshold is reached, it could activate Sliptiding for improved control. It's worth noting I really just like going fast, though XP
Juicebox is already a lot to process, so I wanted to stick well within base game speeds and use only a familiar handling model. Novice players, or players who just aren't familiar with Juicebox, already have a bit of a difficult time drifting through corners in extended MT.

I mean, if I might spill an idea I've been thinking about for a while on you,
This seems like the sort of thing that could be implemented as a companion script to any game mode, and if you've had it brewing for a while, I think you should go for it! Dunno what kinda of Lua experience you have, but it'd be almost purely stat-tracking and HUD stuff, and those are pretty straightforward since you don't have to learn a lot about the game internals.
 
This is actually already the case, though I might tune it further. Gateboosts start at incredibly low duration and quickly ramp up to their "real" base duration shortly after being dropped, since in the early public tests there were some complaints about mindless tailgating being too powerful. It's kinda difficult to tune because stat interactions are so polarizing up front, when you're just trying to raw overtake with a limited set of items in play—considering I just buffed bottom left, I think I'll get a lot of data on this in the coming weeks as Seaside and other bodyslam enthusiasts test my patience.


Juicebox is already a lot to process, so I wanted to stick well within base game speeds and use only a familiar handling model. Novice players, or players who just aren't familiar with Juicebox, already have a bit of a difficult time drifting through corners in extended MT.


This seems like the sort of thing that could be implemented as a companion script to any game mode, and if you've had it brewing for a while, I think you should go for it! Dunno what kinda of Lua experience you have, but it'd be almost purely stat-tracking and HUD stuff, and those are pretty straightforward since you don't have to learn a lot about the game internals.

I thought that might be the case, just wasn't sure.

Very fair. Even I've had difficulty with it at times. Enabling Sliptide from them might help, although really that could also just confuse new players who suddenly have to contend with a third handling system.

I have precisely zero coding experience. Most I've done is change values when following guides for stuff like MUGEN, so I'm not even sure where to start when it comes to enacting ideas like that X)
 
Tyron updated Juicebox with a new update entry:

Elderberry

A little bit of housekeeping. No giant changes, just things that make Juicebox feel a little cozier.

Gameplay Changes

  • You can no longer "lap" the gate line; when you advance a lap, gates dropped on the previous lap become invisible, and you'll no longer interact with them. This should reduce confusion and visual clutter, while also handling rare cases on high-lapcount courses where players could take two sets of gates.

Fixes

  • The fastrespawn cvar now...

Read the rest of this update entry...
 
Tyron updated Juicebox with a new update entry:

Feijoa

Quick set of fixes for votable-gametype servers or servers that only use Juicebox for fastrespawn. 24/7 Juicebox servers do not need to update, though you might want to if you're really particular.

Features
  • Added some extra help text in the server console when Juicebox is setting up or reverting cvars. This system is kind of a hack and there's no way around it, so the least I can do is explain myself, LOL.

Fixes
  • Fixed an issue where players...

Read the rest of this update entry...
 
I hope down the line theres an update that gets rid of that ton of text in the console cause in case someone is causing trouble in the server and I try to type in nodes to see what node the person is to ban them it just gets hidden under the huge cluster of text. I really enjoy the rest of this mod otherwise.
 

Attachments

  • Screenshot_4.jpg
    Screenshot_4.jpg
    573.8 KB · Views: 94
Tyron updated Juicebox with a new update entry:

Guava

Meta
  • Juicebox is now Reusable. I've been away from addon dev for a while, and the community has been up to some crazy involved stuff, to the point where interop is impossible without deep access to every dependency. If I'm not working on this, it doesn't feel fair to tell other people that they can't work on it either: let's see what you've got!
  • If you make changes to Juicebox beyond obvious bugfixes, do me a solid and make sure your changes are clear; change the...

Read the rest of this update entry...
 
@Tyron Right now my only issues with this addon is the inability to have juicebox enabled without the fast respawn.
I like to use funny deaths so the instant respawn makes the animations impossible to play through.
I tried setting the fastrespawn cvar to off as well, but that doesn't seem to work with Juicebox on.
 

Who is viewing this thread (Total: 1, Members: 0, Guests: 1)

Back
Top