Contents
1 Overview
A cozy hidden-critter game for kids and families. Ten little animals (chick, kitten, bunny, frog, hedgehog, mouse, puppy, panda, penguin and bear cub) hide behind crates, flowers and toys and peek out now and then: tap them before they duck back. 50 levels in 5 painted worlds (Farmers Market, Sunny Beach, Toy Shop, Flower Garden and Forest Camp), each with its own music and ambience and with art for portrait and landscape screens. New twists arrive step by step: visitors that are not on your list (from level 5), shy critters that only show their ears (from level 7), playful critters that change hiding spots (from level 15) and a lantern night at the end of every world. A detective fox cheers the player on, level 1 always starts with a guided tutorial, the Critter Album collects every friend met and an end screen celebrates finishing all 5 worlds. 14 interface languages, recorded sound effects, music and ambience, no external services.
2 Installation
Extract the ZIP. Open DOCUMENTATION.html for this guide. Upload only the contents of game/
to your static HTTP(S) hosting, keeping all folders beside index.html. Open that address in a browser. No database, PHP, account or Node.js runtime is needed to play. Keep source/ and the full ZIP outside your public website.
3 Requirements and sound
Use a current browser with JavaScript, Canvas 2D, Web Audio and local storage enabled. Mouse and touch are supported. The first click, tap or key press unlocks sound; check browser autoplay settings and the in-game sound controls. Files are bundled locally; normal play makes no request to Polar ranking, advertising or payment services. Host the complete folder; opening game HTML through file:// is not the supported installation method.
4 How to play
Tap or click a critter that is peeking out. It hops into the tray (portrait) or the side panel (landscape) and gets a check; find every critter on the list to win the level. Drag the scene to look around and zoom with a pinch, the mouse wheel, the + and − buttons or the zoom slider. On lantern nights the light follows your finger or mouse. The magnifier gives a hint (3 per level): the fox throws it toward a hidden critter. Stars: finish within the time goal (20 seconds plus 9 per critter) using at most one hint for 3 stars; each extra hint or going over the time costs one star, with a minimum of 1. Level 1 always runs the guided tutorial (find, list, zoom, drag, hint), which can be skipped. Pause has Resume, Restart, Levels and Sound (music, effects and ambience volumes). Settings has vibration, the language list and Reset progress. A level in progress is restored after a reload.
5 Interface guide
Marks on the screenshot
- Play
- Settings
- Sound
Marks on the screenshot
- Next level to play
- Critter Album
- Back to the menu
Marks on the screenshot
- The hand points at what to do
- Skip the tutorial
Marks on the screenshot
- Pause
- Critters found
- Hint (magnifier)
- Zoom buttons
- Critters to find
Marks on the screenshot
- Critter card
- Close
Marks on the screenshot
- Resume
- Restart
- Level map
- Sound volumes
Marks on the screenshot
- Vibration
- Language (14)
- Reset progress
Marks on the screenshot
- Music, effects and ambience volumes
6 Files and customization
All tuning is in src/config.js: FEEL holds the presentation numbers (critter size, how far they peek, pop and fly timings, hitstop, shake, maximum zoom, hint timing, when the fox naps, playful hops, particle caps) and GAME holds the rules (hints per level, levels, the five worlds, levels per world and diff(n), which sets for each level how many critters to find, how many visitors, head size, how much they peek and how many are shy). Hiding spots are in src/scenes.js: each scene lists spots in pixels of its portrait (1024×1536) and landscape (1672×941) picture as [x, y, head size, side], where side is u (over the edge), l or r. Critters are drawn and named in src/critters.js and use the pictures in assets/bichos/ (<id>.webp, -feliz, -peek, -peek-feliz and -peek-lingua). Texts are in src/locales/<language>.js; keep placeholders such as {n}. Sounds: effects in assets/sfx/ (listed in src/sfx.js), music in assets/music/<world>.mp3, ambience in assets/sfx/amb-<world>.mp3. To reskin, replace images keeping their names and proportions. Per-screen layout fine-tuning lives in css/ajustes.css and src/ajustes.js. Helpers that work only on localhost and on a 192.168.x.x home network: ?spots=1 shows every hiding spot, ?grid=1 a 5% grid, ?level=0 opens level 1 (?level=9 opens level 10) and ?teste=1 turns on a test bar (find one critter, pass the level) that unlocks every level without saving stars (?teste=0 turns it off).
game/ upload these contents
source/ editable source, tests and tools
documentation/index.html offline illustrated guide
DOCUMENTATION.html guide shortcut
THIRD-PARTY-LICENSES/ font license
source/index.html entry page: stylesheets in order and src/main.js
source/css/game.css, game-2.css, game-3.css styles, loaded in order (later files override earlier ones)
source/css/ajustes.css hand-tuned layout per screen group (loaded last)
source/src/main.js entry: touch/mouse input and game start
source/src/app/core.js languages, shared state object, helpers, saved progress
source/src/app/play.js layout, level setup, finding, hints, stars, frame loop, tutorial
source/src/app/draw.js canvas drawing: scenes, critters, effects, lantern night
source/src/app/screens.js menu, level map, album, pause, win, end screen, settings, sound
source/src/config.js every number: FEEL (presentation) and GAME (levels and difficulty)
source/src/scenes.js the five scenes and their hiding spots
source/src/critters.js the ten critters and how they are drawn
source/src/fx.js particles, confetti, stars
source/src/sfx.js sound effects, music and ambience (Web Audio)
source/src/ajustes.js elements anchored to a point of the screen, per screen group
source/src/locales/ one file per language (14)
source/assets/ scenes, critters, interface art (WebP), sounds and music (MP3), font
source/tools/ build.mjs and serve.mjs
source/test/ node --test tests
7 Languages
The game interface offers 14 languages (English, Portuguese, Spanish, French, German, Italian, Dutch, Polish, Turkish, Russian, Indonesian, Japanese, Korean and Chinese). The game picks the browser language on the first visit and the player can change it in Settings at any time, without reloading. This guide is in English, Brazilian Portuguese and Spanish; screenshots stay in English. Each language is one file in src/locales/; English fills any missing key. Edit the texts without changing placeholders such as {n}.
8 Local saves
Progress belongs to this browser and origin. This buyer edition uses its own storage namespace, separate from the Polar website game. Clearing site data, using another browser or changing the hosting origin does not transfer progress. Private browsing and blocked storage may prevent persistence. There is no account, online ranking or cloud synchronization.
hide-and-peek.template.stars best stars of every level
hide-and-peek.template.album critters found (Critter Album)
hide-and-peek.template.albumSeen album cards already revealed
hide-and-peek.template.resume level in progress (restored after a reload)
hide-and-peek.template.lang chosen language
hide-and-peek.template.vol music, effects and ambience volumes
hide-and-peek.template.vib vibration on/off
hide-and-peek.template.zerou all 5 worlds finished (end screen seen)
hide-and-peek.template.*Tip one-time tips already shown
(prefix written in source/src/app/core.js and source/src/sfx.js)
9 Development
The ready-to-host game in game/ needs no Node.js. The source is plain JavaScript (ES modules) with no compile step: npm run build copies index.html, css/, src/ and assets/ into dist/, which matches game/ file by file. The code is split by topic (src/main.js, src/app/core.js, play.js, draw.js, screens.js); values that several modules change live on the shared state object, for example state.G is the level being played and state.scene the current screen. Node.js 26.13 or newer is only needed for the tests, the local server and Prettier. No server, account, ranking, ads or payments are used.
New to Node.js? 1) Install the LTS version from nodejs.org (Windows or macOS installer) or with your package manager on Linux; it must be 26.13 or newer. 2) Close and reopen the terminal, then run node -v and npm -v to confirm both print a version. 3) Open the terminal inside the source/ folder (the one containing package.json). 4) Run npm ci to install the exact tools from package-lock.json (only Prettier). 5) Run npm test for the tests, then npm run build to write the game to dist/. 6) Try it with npm run serve (http://localhost:5193/; the page needs a web server, it does not run from a double-clicked file), then upload the contents of dist/ like game/. Common errors: node or npm not found (reopen the terminal or fix PATH); on Windows PowerShell, npm.ps1 cannot be loaded (run npm.cmd ci or use Command Prompt); ENOENT package.json (you are not inside source/); EBADENGINE (Node.js is older than 26.13); network or proxy failures during install (check your connection and proxy); npm ci complaining about the lock file (do not edit package-lock.json; delete node_modules and retry).
cd source
npm ci
npm test
npm run build
npm run serve
# http://localhost:5193/
10 Updating and cache
Keep a backup of your edited files before replacing a release. Upload all updated assets together and keep the public URL unchanged to preserve the browser save. Clear hosting or CDN caches when applicable. Test a private window after deployment; adding ?v=2 to the entry URL can help diagnose stale HTML but does not replace updating all assets.
Clearing the cache without losing progress
Progress is stored in this browser, not on the server. Clearing cached images and files, or doing a hard reload, keeps your progress.
Computer: press Ctrl+F5 on Windows and Linux, or Cmd+Shift+R on macOS. Phone: in the browser settings, choose the option to clear cached images and files.
Do not choose cookies and site data, or clear site data, for the game's address. That deletes the local save.
11 Licenses
The game artwork, audio and editable game code are supplied under the purchased item license. The Fredoka font keeps its complete SIL Open Font License notice in game/assets/fonts/OFL.txt and THIRD-PARTY-LICENSES/. Prettier, the only development tool, keeps its own MIT license inside node_modules after npm ci. Original artwork masters and the private art and audio generation tools are not included.
12 Troubleshooting
If the page is blank, check that every folder was uploaded, the URL is served over HTTP(S), and the browser console and Network panel have no missing files. Module builds need correct JavaScript MIME types. If sound is silent, interact once and inspect browser and game volume. If progress resets, inspect storage permissions and origin changes. The guide itself also opens offline through file://.
13 Support
For support and customization contact willian@polargames.com.br. Include the product version, browser, device, hosting URL, reproduction steps and a screenshot. No backend, native app, ad SDK or real-money purchasing system is included.
Support request
When you write to support, include the browser and device, the game version, the page address, the steps that caused the problem, a screenshot and the first error shown in the browser console. Never send passwords, payment details or secret keys.