Phatsoftware

Bubbles

simulations · v1.0

Description

A simple interactive simulation of bubbles on water. Tap to pop drag to disturb

Updated 28 June 2026

▶ Launch

README

Sensory Taps

A browser-based collection of sensory and puzzle games built with p5.js, developed by Phatsoftware.

Games

  • Circles (Bubble Pop) — tap/click colourful bubbles to pop them, with satisfying pop sounds

Tech Stack

  • p5.js — rendering and input handling
  • p5.sound — audio
  • 2dCollide — 2D collision detection

Project Structure

sketch.js               # Entry point — p5.js setup, draw loop, input handlers
style.css               # Page styles
addons/                 # Third-party libraries (p5.js, p5.sound, 2dCollide)
assets/                 # Images and audio files
classes/
  gameStateController.js  # State machine managing active game/menu screens
  gameCore.js             # Base class for all game modes (layout, resize)
  instances/              # Concrete game and menu screens
    menuMain.js
    gamePuzzle.js
    gameSpill.js
    ...
  shapes/                 # Shape primitives (Rectangle, etc.)
  button.js, menu.js, ...  # Reusable UI components

Running Locally

Open index.html in a browser (or serve the folder with any static file server). No build step required.

# Example using the VS Code Live Server extension, or:
npx serve .

Architecture

The game uses a simple state machine (GameStateController) where each screen (main menu, game mode, pause menu) is a GameState subclass. The active state receives update() and render() calls each frame. GameCore extends GameState and provides the shared layout logic (scoreboard region, tile region, responsive resize) used by all game modes.