Cozy Scale is a complete, ready-to-sell HTML5 balancing puzzle built entirely in vanilla HTML5, CSS3, and vanilla JavaScript — no engine, no build step, no external libraries. Open index.html directly, or upload the folder to any host, and it runs.
Players drag ingredients from the tray onto a beautifully animated scale, carefully balancing weights to match the target. The scale tilts in real time — add too much and it tips over. With 120 solver‑verified levels, a warm wood & gold aesthetic, real‑time weight feedback, and a satisfying combo system, Cozy Scale turns basic arithmetic into a calming, tactile challenge.
How to Play
Drag an ingredient from the tray at the bottom onto the left pan of the scale. Watch the scale tilt as you add weight. Your goal is to match the target weight displayed at the top — neither too light nor too heavy. Beat the timer, collect stars, and unlock the next level.
Core Gameplay
- 120 solver-verified levels — each with a deterministically generated target weight based on available ingredients. Every puzzle is solvable with the ingredients provided.
- Drag & drop controls — touch and mouse both work; drag ingredients from the tray onto the scale pan. Drag them back off to remove.
- Real‑time weight balancing — the scale beam tilts dynamically as you add or remove weight. The target badge turns golden when you’re within 0.1 kg of the target.
- 1–3 star rating per level based on remaining time — more time left = more stars.
- Timer — each level has a time limit that decreases as you progress through the game. Faster completions earn higher scores.
- Unlimited undo — step back through your moves one at a time. No penalty, no limit.
- Combo system — complete levels quickly (within 10 seconds of each other) to build a combo multiplier that boosts your score up to 5×.
- Synthesized audio — satisfying “drop” and “remove” sounds (wooden block effects), a pleasant chime on win, star reveal sounds, and a fail sound — all generated with WebAudio, no external files.
- Pause menu — resume, restart, or return to the level map at any time.
Progression & Replayability
- Star-based progression — unlock the next level by earning at least 1 star on the current level.
- 120 levels — spread across 6 pages of 20 levels each. The difficulty gradually increases as you progress.
- Persistent progress — star ratings and level unlocks are saved via
localStorage. Close the page and come back later — your progress is preserved. - Deterministic level generation — each level is seeded by its number, so replaying the same level always gives the same ingredients and target weight. Higher levels progressively include heavier items up to 100 kg.
- Time limit — starts at 45 seconds and decreases to 20 seconds as you advance through the 120 levels.
Visual Presentation
- Warm wood & gold theme — cozy, tactile aesthetic inspired by a rustic kitchen.
- Emoji-based ingredients — 50+ unique ingredient emojis with weights ranging from 0.05 kg to 100 kg.
- Google Fonts typefaces (Fredoka, Nunito) — loaded via Google Fonts CDN (third‑party service; internet connection required on first load).
- Animated scale feedback — the beam and pans tilt smoothly in real time as weight is added or removed. The beam tilts up to 15 degrees in either direction.
- Fully responsive — scales correctly from small phones to wide desktop windows. Touch and mouse both work seamlessly.
- Two background images —
lobby.png for the main menu and background.png for game screens.
Technical Specifications
- Built with: Pure HTML5, CSS3, and vanilla JavaScript (no canvas required – DOM‑based rendering)
- Dependencies: None (game code is self‑contained; Google Fonts are loaded from an external CDN – see Internet Requirement below)
- Responsive: Yes, across all devices
- Browser compatibility: All current versions of Chrome, Safari, Firefox, and Edge – desktop and mobile
- Touch & mouse support: Both touch and mouse events work seamlessly for drag & drop interactions.
- Internet requirement: An internet connection is needed once to load the Google Fonts CDN fonts (Fredoka and Nunito via
fonts.googleapis.com). These are third‑party fonts served by Google – outside the author’s control. If unavailable, the browser falls back to a default system font and the game still runs normally. All game logic, visuals, and audio are generated in code with no other external calls. - Storage: Uses
localStorage (~2–5 KB) to save progress between sessions. - Audio: All sound effects are synthesized with the WebAudio API. No external audio files are required.
No build tools, no installation, nothing to compile.