Juicebox: the juiceKit showroom
Walk through a gallery of game feel. Every station is a juiceKit preset: press E and feel a hit land, a blast rock the camera, a level-up glow, or a coin sparkle. juiceKit is the installable kit behind it: one call, Juice.play("explosionLarge", someEntity), and the shake, flash, hitstop, squash and visual effect all happen together, correctly for every player.
What's in the box
- 51 presets in six families:
- combos: light, heavy and critical hits, small and large explosions, heal, level-up, coin pickup, death, hard landing and more
- camera shakes: light, heavy, rumble, directional kick, explosion falloff, recoil, earthquake
- hitstop: light, heavy, critical, slow-mo
- screen flashes: hit, damage vignette, heal pulse, level-up glow, freeze, poison, blackout and more
- squash & stretch: landing, jump, pop-in, jelly wobble and more
- 12 visual effects: sparks, dust, explosions, magic, heal, level-up, coins, smoke, fire, zap, confetti and more
- Four looks (cartoon, realistic, pixel, sci-fi), switched for every effect with one setting.
- One interface for everything. Swap one preset or look for another by changing one word.
Juice.listtags every preset by kind, look, strength and scope.Juice.definebuilds your own presets from the existing ones, and they keep working when their base changes.Juice.stopends one play;Juice.stopAllends everything. - Comfort settings: a global intensity, plus reduce motion (no shake, gentler flashes).
- Flashes are part of the picture. They are drawn by a post-process pass over the scene, under your HUD, and switched off when idle.
- Built for multiplayer. Your shake, damage flash and hitstop are yours alone. Explosions, coin sparkles and squashes on shared things are seen by everyone, and each player's shake matches their own distance from the blast.
- Light and tidy: pooled particles and lights, hitstop that can never stick, no camera drift on any of the nine built-in camera styles. It works on the web.
The showroom
Walk up to any labelled station and press E. The panel lets you:
- play every preset in turn
- switch the look
- set the intensity
- turn on reduce motion
- cycle the camera through nine built-in styles (follow, third person, first person, orbit, chase, side scroller, top-down, isometric, RTS) to see each shake on each one
Every player who joins, at any time, gets their own player, camera and panel, and starts on the spawn looking at the stage and stations, with the camera behind them.
Install it
- In your own world, search ZeroMind for juiceKit (the package is
juiceKit.package) and install it. Everything it needs comes with it: the modules, the flash and particle shaders, the materials and its test suite. require("juiceKit.juice")from any component or module and callJuice.play.- The package README has a complete first-example component that runs word for word in a brand-new world.
Use it in your world
local Juice = require("juiceKit.juice")
Juice.play("hitHeavy", enemy, { from = player })
Juice.play("explosionLarge", barrel)
Juice.setLook("realistic")
local charge = Juice.play("shakeRumble")
Juice.stop(charge)
A 104-test suite covers every public call. It passes under the engine's standard test runner (tests.run "juiceKit"), with no player or camera needed. The README also lists the known engine issues and what to watch out for. Version 1.2.2.
Comments · 0
Open discussion, no rating attached. Ask questions, swap notes, follow threads.