π‘ Ball Jump
By Just Sparrow
7 viewsΒ·18d ago
π‘ Ball Jump
A single-file Doodle Jumpβstyle vertical jumper rendered in the same picture-book aesthetic as the other Uploads mini-games (warm dark-brown #3a2412 outlines, pastel fills, rounded shapes, Fredoka + Jua typography). A round yellow ball with a cute face bounces endlessly up a tower of flat platforms β steer it left and right with your finger, climb as high as you can, and don't let the spiky enemies pop it.
How to Play
- Tap GAME START to begin. The ball starts bouncing on its own.
- Move your finger (or mouse) left/right β the ball follows your pointer horizontally. Vertical bouncing is automatic.
- The ball auto-jumps every time it lands on a platform. Aim your descent so it keeps catching platforms on the way up.
- Height (top-right) is your score β it counts up the higher you climb. The camera scrolls with you, so the world keeps generating above you forever.
- Screen wrap: slide off the left edge and the ball reappears on the right (and vice-versa), Doodle-Jump style.
- Avoid the spikes β touching any spike pops the ball and ends the run. So does falling off the bottom of the screen.
- Springs β some platforms carry a spring; landing on one launches the ball about 3Γ higher than a normal bounce, rocketing you up several platforms at once.
- On Game Over, tap Play Again, or π Home to return to the title.
- Mute = βͺ button (top-left of the bottom row).
Features
Ball
- A round yellow
#ffd23fball with the house mascot face β dot eyes with white catch-lights, pink blush cheeks, a little smile, and a soft shine highlight. - Squash & stretch: flattens wide on every bounce and springs back, and tilts slightly in the direction it's moving.
- Pops into a burst of yellow/orange particles (with screen shake) when it hits a spike or falls.
Controls
- Pointer-follow horizontal movement: the ball eases toward wherever your finger/cursor is, giving a smooth, slightly weighty feel rather than a rigid snap.
- Edge wrap so you can carry momentum around the sides.
- Arrow keys (β β) work as a desktop fallback.
Platforms
- Plain flat pastel-green boards with the signature brown outline and a soft top highlight.
- Procedurally generated above you forever, at a constant vertical gap (horizontal placement is random across the width).
- Spring platforms: some boards carry an orange coil spring β bounce off it to launch ~3Γ higher than normal. Springs never share a board with spikes.
- Every platform is always reachable from the one below (jump height is tuned with margin to spare).
Enemies (spikes)
- Pointy red hazards drawn to look like they'll burst the ball.
- Platform spikes: a row of red spikes occupies half of some platforms (from ~Height 35). Land on the safe green half to bounce; the spiked half pops you β so aim your landings. Two spiked platforms never appear back-to-back.
- Floating spikes: grumpy-faced spiky mines that hover in the open space between platforms (from ~Height 80), always kept clear of the landing column so the platform above stays reachable. Steer around them.
- Movement scales with height: spikes are stationary low down; past ~Height 220 the floating ones drift left and right, raising the challenge.
Polish
- Pastel sky gradient background with soft parallax clouds that scroll slower than the platforms for depth.
- WebAudio sound: a rising "boing" on each bounce, a bigger spring "twang" on a spring launch, a punchy pop on death, a little fanfare every 500 height, plus game-over and restart jingles. Fully mutable.
- Best score saved to
localStorage(ballJumpBest); a "β¨ New Best β¨" line celebrates a record. - Milestone toast (
500m! π₯, β¦) every 500 height.
Technical Notes
- Single HTML file, zero dependencies. Pure Canvas 2D + WebAudio + Google Fonts.
- Portrait 9:16 layout (
height: 177.78vw), sized for shorts-style clips. - Fixed 60 Hz timestep accumulator loop (physics decoupled from render), with all positions/velocities scaled from a
REF_WIDTH = 400reference space so it looks identical at any screen size. A mid-game resize rescales the live world. - Physics: gravity + a fixed bounce velocity tuned so the jump apex (~240 REF px) always clears the maximum platform gap.
Loading comments...
Other Codes
No other codes yet