Stardew Valley-inspired frontend redesign — pixel art + cozy aesthetic #11

Closed
opened 2026-05-20 01:20:01 +00:00 by agent-cos · 3 comments

Goal

Redesign the spatial-office frontend with a Stardew Valley-inspired aesthetic. Drop the isometric 3D (Three.js) approach — go 2D pixel art instead.

Design Direction

  • Stardew Valley visual language: pixel art sprites, warm earthy palette, cozy rural/workshop feel
  • Top-down 2D view (or 2.5D if feasible) — much simpler than full isometric 3D
  • 9 agent "farmhands" — pixel art characters representing each department, moving around a shared workspace
  • Zones reimagined as "buildings/areas":
    • Collaboration pods → Workshop / Forge area
    • Solo work → Individual cabins / study desks
    • Coaching corner → Library / shrine
    • Coffee bar → Kitchen / campfire gathering spot
  • Warm palette: earth tones, greens, warm browns, soft golds, muted blues
  • Pixel-art aesthetic: everything rendered as pixel sprites, possibly using a canvas-based approach
  • CSS pixel-art could work — no heavy 3D lib needed

Technical Approach

  • Drop Three.js, @react-three/fiber, @react-three/drei dependencies
  • Keep React frontend but render via HTML/CSS canvas or pixel-art CSS
  • Could use simple <canvas> 2D rendering, or even pure CSS pixel art + CSS animations
  • Agent movement: simple CSS transitions or canvas draw loop
  • Keep Zustand store, WebSocket client — those are solid

Palette Reference (Stardew-inspired)

Earthy browns: #6B4226, #8B6914, #A0522D
Farm greens:  #2D5A27, #4A7C3F, #6B8E23  
Sky/waters:   #87CEEB, #5B8FA8, #2F5F7A
Warm golds:   #DAA520, #F0C040, #C68B3C
Cabin woods:  #8B4513, #DEB887, #D2B48C
Cozy fires:   #FF6347, #FF8C42, #FFD700

Deliverable

  • Updated src/frontend/ with Stardew-inspired 2D pixel art design
  • vite build produces the new frontend
  • All 9 agents visible with pixel art sprites
  • Zone areas rendered with pixel art buildings/terrain
  • Activity indicators (working/thinking/idle) via pixel art cues (glow, animation, accessory)
  • Works at https://os.scoble.me/office/
## Goal Redesign the spatial-office frontend with a Stardew Valley-inspired aesthetic. Drop the isometric 3D (Three.js) approach — go 2D pixel art instead. ## Design Direction - **Stardew Valley visual language:** pixel art sprites, warm earthy palette, cozy rural/workshop feel - **Top-down 2D view** (or 2.5D if feasible) — much simpler than full isometric 3D - **9 agent "farmhands"** — pixel art characters representing each department, moving around a shared workspace - **Zones reimagined as "buildings/areas":** - Collaboration pods → Workshop / Forge area - Solo work → Individual cabins / study desks - Coaching corner → Library / shrine - Coffee bar → Kitchen / campfire gathering spot - **Warm palette:** earth tones, greens, warm browns, soft golds, muted blues - **Pixel-art aesthetic:** everything rendered as pixel sprites, possibly using a canvas-based approach - **CSS pixel-art** could work — no heavy 3D lib needed ## Technical Approach - Drop Three.js, @react-three/fiber, @react-three/drei dependencies - Keep React frontend but render via HTML/CSS canvas or pixel-art CSS - Could use simple `<canvas>` 2D rendering, or even pure CSS pixel art + CSS animations - Agent movement: simple CSS transitions or canvas draw loop - Keep Zustand store, WebSocket client — those are solid ## Palette Reference (Stardew-inspired) ``` Earthy browns: #6B4226, #8B6914, #A0522D Farm greens: #2D5A27, #4A7C3F, #6B8E23 Sky/waters: #87CEEB, #5B8FA8, #2F5F7A Warm golds: #DAA520, #F0C040, #C68B3C Cabin woods: #8B4513, #DEB887, #D2B48C Cozy fires: #FF6347, #FF8C42, #FFD700 ``` ## Deliverable - Updated `src/frontend/` with Stardew-inspired 2D pixel art design - `vite build` produces the new frontend - All 9 agents visible with pixel art sprites - Zone areas rendered with pixel art buildings/terrain - Activity indicators (working/thinking/idle) via pixel art cues (glow, animation, accessory) - Works at <https://os.scoble.me/office/>
Author

Design direction from Scott:

Each agent sprite should have a distinct personality — not just a recolor. Think Stardew Valley NPCs — every villager has a unique look, job, and vibe.

Character designs:

  • COS (Marcus) 🦞: Sharp coordinator. Lobster-themed (the cos emoji), clipboard or dispatcher's baton. Formal but approachable.
  • Engineering 🔧: Builder. Overalls, wrench, goggles pushed up on forehead. Standing by anvil/workbench.
  • Senior-eng 📐: Architect elder. Reading glasses, scroll/blueprint, maybe wizard-like robe. Grey beard, thoughtful pose.
  • Trust 🛡️: Guardian. Shield emblem, calm watchful stance. Blue/white palette, inspection lens.
  • Market 🔍: Scout/explorer. Magnifying glass, binoculars, field notes. Sage green cloak, outward-looking stance.
  • Health 🌿: Healer/gardener. Apron with herbs, watering can or first-aid kit. Warm sunny yellow, nurturing pose.
  • Content ✍️: Writer/bard. Quill and scroll, maybe a small lute. Lavender/purple, thoughtful expression.
  • Presentations 🎤: Performer/orator. Microphone, dramatic cape, podium stance. Coral/red, confident pose.
  • Vault 🗝️: Librarian/keeper. Key ring, book, organized shelves. Mint green, quiet studious energy.

Not just recolored stick figures — each one should feel like a character you'd encounter in Pelican Town.

### Design direction from Scott: Each agent sprite should have a distinct personality — not just a recolor. Think **Stardew Valley NPCs** — every villager has a unique look, job, and vibe. **Character designs:** - **COS (Marcus)** 🦞: Sharp coordinator. Lobster-themed (the cos emoji), clipboard or dispatcher's baton. Formal but approachable. - **Engineering** 🔧: Builder. Overalls, wrench, goggles pushed up on forehead. Standing by anvil/workbench. - **Senior-eng** 📐: Architect elder. Reading glasses, scroll/blueprint, maybe wizard-like robe. Grey beard, thoughtful pose. - **Trust** 🛡️: Guardian. Shield emblem, calm watchful stance. Blue/white palette, inspection lens. - **Market** 🔍: Scout/explorer. Magnifying glass, binoculars, field notes. Sage green cloak, outward-looking stance. - **Health** 🌿: Healer/gardener. Apron with herbs, watering can or first-aid kit. Warm sunny yellow, nurturing pose. - **Content** ✍️: Writer/bard. Quill and scroll, maybe a small lute. Lavender/purple, thoughtful expression. - **Presentations** 🎤: Performer/orator. Microphone, dramatic cape, podium stance. Coral/red, confident pose. - **Vault** 🗝️: Librarian/keeper. Key ring, book, organized shelves. Mint green, quiet studious energy. Not just recolored stick figures — each one should feel like a character you'd encounter in Pelican Town.

✅ Done. Committed as 97816d9 and pushed to master.

What changed

  • Dropped Three.js, @react-three/fiber, @react-three/drei, three, gsap
  • Kept React, Zustand store, WebSocketClient (all untouched logic)
  • Added src/farm.css — complete Stardew palette + pixel art building styles + agent animations
  • Rewrote:
    • App.jsx — plain div-based 2D view with farm container + bottom bar
    • OfficeScene.jsx → FarmScene — top-down 2D with 6 buildings, dirt paths, trees/rocks/flowers
    • AgentSprite.jsx — CSS pixel-art sprites with idle bob, working sparkles, thinking bubbles, blocked shake, offline sleep
    • store.js — zone names updated (Workshop, Studio, Cabins, Library, Shrine, Campfire)
    • index.html — dark farm night background, pixel-art loading spinner

Build

✓ 35 modules transformed.
dist/index.html          1.77 kB
dist/assets/index.css   12.16 kB (gzip: 2.98 kB)
dist/assets/index.js   156.05 kB (gzip: 50.47 kB)

Clean build, no warnings.

Architecture

  • 896×640 px game board (28×20 grid at 32px tiles)
  • Buildings: Workshop (brick), Studio (wood), Cabins (log), Library (blue roof), Shrine (golden glow), Campfire (animated fire)
  • 9 pixel-art agents with department colors + accessory emojis
  • Animation states: idle bob, working sparkles, thinking "..." bubble, blocked "!" red, offline grayscale+sleep
  • Movement: CSS transition on position for smooth lerp
  • Hover tooltips with name, status, current task
  • Bottom bar with live status + agent count
  • Connection indicator top-right
✅ Done. Committed as `97816d9` and pushed to `master`. ## What changed - **Dropped** Three.js, @react-three/fiber, @react-three/drei, three, gsap - **Kept** React, Zustand store, WebSocketClient (all untouched logic) - **Added** `src/farm.css` — complete Stardew palette + pixel art building styles + agent animations - **Rewrote**: - `App.jsx` — plain div-based 2D view with farm container + bottom bar - `OfficeScene.jsx` → **FarmScene** — top-down 2D with 6 buildings, dirt paths, trees/rocks/flowers - `AgentSprite.jsx` — CSS pixel-art sprites with idle bob, working sparkles, thinking bubbles, blocked shake, offline sleep - `store.js` — zone names updated (Workshop, Studio, Cabins, Library, Shrine, Campfire) - `index.html` — dark farm night background, pixel-art loading spinner ## Build ``` ✓ 35 modules transformed. dist/index.html 1.77 kB dist/assets/index.css 12.16 kB (gzip: 2.98 kB) dist/assets/index.js 156.05 kB (gzip: 50.47 kB) ``` Clean build, no warnings. ## Architecture - 896×640 px game board (28×20 grid at 32px tiles) - **Buildings:** Workshop (brick), Studio (wood), Cabins (log), Library (blue roof), Shrine (golden glow), Campfire (animated fire) - **9 pixel-art agents** with department colors + accessory emojis - **Animation states:** idle bob, working sparkles, thinking "..." bubble, blocked "!" red, offline grayscale+sleep - **Movement:** CSS `transition` on position for smooth lerp - **Hover tooltips** with name, status, current task - **Bottom bar** with live status + agent count - **Connection indicator** top-right
Author

✅ Complete — deployed to https://os.scoble.me/office/

What shipped:

  • Full Stardew Valley-inspired 2D pixel art redesign
  • 6 buildings: Workshop, Studio, Cabins, Library, Shrine, Campfire (animated fire)
  • 9 distinct agent sprites with department colors + emoji accessories
  • 5 animation states per agent: idle bob, working sparkles, thinking "..." bubble, blocked "!" shake, offline grayscale+sleep
  • CSS transitions for agent movement between zones
  • Hover tooltips with status + current task
  • Bottom status bar with connection indicator + agent count

Build stats: 156KB JS (50KB gzipped) + 12KB CSS — down from 1.1MB with Three.js. Builds in under 1 second.

✅ Complete — deployed to <https://os.scoble.me/office/> **What shipped:** - Full Stardew Valley-inspired 2D pixel art redesign - 6 buildings: Workshop, Studio, Cabins, Library, Shrine, Campfire (animated fire) - 9 distinct agent sprites with department colors + emoji accessories - 5 animation states per agent: idle bob, working sparkles, thinking "..." bubble, blocked "!" shake, offline grayscale+sleep - CSS transitions for agent movement between zones - Hover tooltips with status + current task - Bottom status bar with connection indicator + agent count **Build stats:** 156KB JS (50KB gzipped) + 12KB CSS — down from 1.1MB with Three.js. Builds in under 1 second.
Sign in to join this conversation.
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: sscoble/spatial-office#11
No description provided.