Files

2.1 KiB

The Sims Online — 2D Web Edition 🏡

A browser remake of The Sims / The Sims Online vibes in plain JavaScript (no frameworks, no build step) with an isometric 2D canvas renderer.

Run

python3 -m http.server 8080
# open http://localhost:8080

Or any static file server. No dependencies, no bundler.

Features

  • Create-A-Sim: gender, skin/hair/outfit, 5 personality sliders, aspirations
  • Isometric house building: buy/build modes, walls, doors, windows, floor patterns
  • Needs simulation: hunger, energy, bladder, hygiene, fun, social, comfort, room
  • 🤖 AI Mode: sims autonomously fulfill needs and pursue their own whims (whim-driven goals: promotion study, earning via art/novels, flirting, hosting…)
  • Careers: carpool commute, performance, promotions with skill requirements, chance cards
  • Neighborhood: AI households with personalities, visits, relationships that persist
  • Death & ghosts: electrocution/fire/starvation/old age → Grim Reaper, gravestones, night hauntings
  • Food system: groceries stock, 4 meal tiers gated by cooking skill, food poisoning that spreads
  • Creativity money: easel paintings, writing novels chapter by chapter
  • House parties with scored guests and aspiration rewards
  • Whims/Wants, memories diary, aging from baby to elder, romance/marriage/babies
  • Weather (rain/storms), kitchen fires, bills, burglars' cousins (pizza delivery), school for kids

Tests

Headless harness (node:vm sandbox with stubbed DOM/canvas) — 38 scenario tests:

node test/harness.mjs

Layout

index.html      shell
css/style.css   all styling
js/
  core.js       constants, helpers, event bus
  audio.js      WebAudio bleeps
  data.js       object catalog, careers, meals, whims, socials
  world.js      lot grid, pathfinding, objects
  sims.js       Sim class, needs, skills
  ai.js         autonomy, actions, parties, deaths, wants
  render.js     isometric painter
  ui.js         HUD, panels, modals
  hood.js       neighborhood map screen
  main.js       game loop, save/load, CAS flow
test/harness.mjs headless test runner