Skip to content

Arcade › Shower Sim

Shower Sim

  • 3d
  • simulation
  • casual
  • bathroom
  • interactive
0
Remix it Discord

12 plays

How to play

Click the game above and it runs right here in your browser. No download, no installer, no account needed. Adam Peacock built it with Cinevva, so it works on a phone or a tablet too.

Discussion

Nobody has said anything about Shower Sim yet. Play it, then tell Adam Peacock what you would add next.

Make your own game

Shower Sim was built by Adam Peacock with the Cinevva game creator: describe the game you want in chat, watch it get built, and play it in your browser minutes later.

Remix Shower Sim opens the real game in the creator and forks its actual files, chat and design doc, so you start from the code rather than from a description.

Read the build brief for Shower Sim

Cinevva's analyzer read this game's design doc and its source, then wrote the brief below. "Make your own" hands it to the game creator as your opening message, so you start from a real spec rather than a one-line idea.

Create a browser-playable 3D first-person-ish shower simulator titled "Shower Sim" using a simple low-poly Three.js-style aesthetic. Show a full-screen bathroom scene viewed by a perspective camera from the front-right, with orbit camera controls around the shower occupant: target roughly chest/head height, no panning, limited zoom, and restricted vertical angle. The bathroom has a dark navy background/fog, pale blue-gray walls forming a corner, a gray shower base, a dark circular drain, and three translucent light-blue glass shower panels around the base. Use soft shadows, cool ambient hemisphere lighting, and a bright directional light.

Inside the shower, model a simple stylized human: a skin-colored capsule torso, a small sphere head, and a teal cylindrical towel wrapped around the lower body. Place the character centrally on the shower base. Add a metallic vertical shower pole on the right/back, a horizontal arm, and a round metallic shower head above the character. Add a small bright-blue rectangular soap bottle with a white pump on the left side of the shower base. The character should subtly sway/rotate and bob while the game runs. When soap is added, display a cluster of small semi-transparent white foam spheres around the character; scale them according to the soap amount. When water is on, show many thin blue falling droplets from the shower head, continuously recycling them downward. Droplet color should shift based on water temperature. When water is on and temperature is hot, also show faint translucent white steam particles rising around the shower.

The interactive goal is to take a perfect shower. Track these state values: waterOn (initially false), soapLevel (0), cleanliness (0), temperature (0.56, initially Warm), and finished (false). The HUD is a dark translucent rounded panel across the top. It contains rows for Cleanliness with a horizontal gray progress bar and numeric percent; Soap Foam with a matching bar and percent; Water Temp with a multicolor cyan-to-yellow/orange-to-red bar and the text Cold/Warm/Hot; and a final row showing Water On/Off and a Mood label. At the bottom, add a dark translucent rounded control panel with three large buttons in one row: blue Water, slate-gray Soap, and orange Temp; below them a full-width slate-gray Reset button. Make the layout responsive so it works on desktop and mobile.

Controls: desktop keyboard 1 toggles water, 2 adds soap, 3 cycles temperature, and R resets. Mobile/touch users use the four HUD buttons. Toggling water displays a temporary message. Adding soap increases soapLevel by 0.28 up to 1 and displays a temporary message; if water is already on, tell the player to rinse it out, otherwise tell them to turn water on. Temperature cycles in this exact order based on its values: Warm (0.56) -> Hot (0.88) -> Cold (0.18) -> Warm, with a temporary message identifying the new temperature.

While water is on, increase cleanliness over time using the current soap level and temperature: approximately cleanliness += deltaTime * (0.14 + soapLevel * 0.65) * (0.45 + warmQuality * 0.75), where warmQuality is highest at the initial warm value and falls with distance from it. Simultaneously rinse soap away at approximately deltaTime * (0.12 + warmQuality * 0.1). While water is off, slowly decrease both soap and cleanliness. Hot water while running should additionally reduce cleanliness slightly, and cold water should also reduce it slightly, making Warm the ideal temperature. Clamp all values between 0 and 1. The shower is won only when cleanliness reaches at least 0.99, soapLevel is at most 0.05, and the temperature is Warm. On winning, set finished true and show a persistent centered message: "Perfect shower complete. You are officially squeaky clean." with a hint to tap Reset to go again.

Use mood text rules: show Fresh when finished; Dusty when water is off and cleanliness is below 0.1; Too spicy when hot; Shivering when cold; Foamy when soapLevel is above 0.55; Almost done when cleanliness is above 0.75; otherwise Relaxed. Show an initial centered dark translucent instruction card over the scene saying: "Take the perfect shower. Turn the water on, add soap, then rinse until you're clean." and explain desktop keys 1 water, 2 soap, 3 temp and mobile buttons. After interactions, use short centered status messages such as "Water on.", "Soap added. Rinse it out.", "Perfect temperature.", followed by a smaller hint. When no temporary message is active, show a concise state message like "Relaxed... keep going." and the hint "Warm water + soap + rinse = best score." Include a Reset action that restores all initial values and starts a new shower.

More free browser games

Browse the whole Arcade →