🟑 Ball Jump

By Just Sparrow

Just Sparrow

0 subscribers

7 viewsΒ·18d ago

#game

🟑 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

  1. Tap GAME START to begin. The ball starts bouncing on its own.
  2. Move your finger (or mouse) left/right β€” the ball follows your pointer horizontally. Vertical bouncing is automatic.
  3. The ball auto-jumps every time it lands on a platform. Aim your descent so it keeps catching platforms on the way up.
  4. 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.
  5. Screen wrap: slide off the left edge and the ball reappears on the right (and vice-versa), Doodle-Jump style.
  6. Avoid the spikes β€” touching any spike pops the ball and ends the run. So does falling off the bottom of the screen.
  7. 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.
  8. On Game Over, tap Play Again, or 🏠 Home to return to the title.
  9. Mute = β™ͺ button (top-left of the bottom row).

Features

Ball

  • A round yellow #ffd23f ball 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 = 400 reference 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