Skip to content

Commit fd84b92

Browse files
docs(historical): merge WokeSims + new July 1998 thread into SimsSleep.md
July 1998 thread (Kana Ryan → Jamie Doornbos): QA request and feature spec for initial sleep tuning and sound proximity: discrete awake/sleep state, energy motive, alertness, bed/couch timings, zoom/pan/distance attenuation for sounds. January 1999 thread (Jim Mackraz / Will Wright / Jamie Doornbos): Proposal, sign-off, and implementation of night-waking prevention: three-node sleep tree for beds, sofa nap variant, comfort/energy curve tuning. Both threads reformatted chronologically (oldest-first) with markup headers, lists, and email metadata. Renamed from WokeSims.md to SimsSleep.md. Co-authored-by: Cursor <cursoragent@cursor.com>
1 parent eccfdee commit fd84b92

2 files changed

Lines changed: 177 additions & 102 deletions

File tree

Lines changed: 177 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,177 @@
1+
# Sims Sleep System — Internal Email Threads
2+
**July 1998 – January 1999 · Maxis**
3+
4+
Two related threads documenting the evolution of Sims 1 sleep tuning: the first (July 1998) captures
5+
the initial implementation specs written for QA; the second (January 1999) captures a later proposal
6+
to prevent autonomous waking at night.
7+
8+
---
9+
10+
## Thread 1 — Sleep Tuning & Sound Proximity: Feature Specs for QA
11+
**July 1, 1998**
12+
13+
---
14+
15+
### 1. Request for Documentation
16+
17+
**From:** Kana Ryan
18+
**Date:** Wednesday, July 1, 1998 · 9:38 AM
19+
**To:** Jamie Doornbos
20+
**CC:** Chris Trottier; Michelle Perry; Jim Mackraz; Will Wright; Sean Blair
21+
**Subject:** Can you…
22+
23+
Give us a description of the following stuff you've done so that Chris, Michelle & Sean can test:
24+
25+
- Sleep tuning
26+
- Sound proximity
27+
28+
Thanks mucho,
29+
— Kana
30+
31+
---
32+
33+
### 2. Feature Specifications
34+
35+
**From:** Jamie Doornbos
36+
**Date:** Wednesday, July 1, 1998 · 10:12 AM
37+
**To:** Kana Ryan
38+
**CC:** Chris Trottier; Michelle Perry; Jim Mackraz; Will Wright; Sean Blair
39+
**Subject:** RE: Can you…
40+
41+
The sleep tuning is a combination of several things implemented to make sleeping work right.
42+
43+
#### Sleep tuning
44+
45+
- **Discrete awake/sleep split.** Before, it was a continuous alertness value. The ultra-speed-switcher
46+
has been changed to check this value, so we should no longer see the pop-into-ultra-speed while
47+
the person is still standing.
48+
49+
- **No alertness.** Alertness is no longer a real motive. Nothing advertises for it and it only means
50+
anything if the person is sleeping, and then it represents how well they are sleeping:
51+
- −100 = very deep sleep
52+
- −1 = unrestful sleep
53+
- \>0 = awake
54+
55+
- **Energy more important.** The control panel energy bar now is actually energy. The energy of the
56+
person now controls when they most need sleep:
57+
- At −100, the person should go autonomous (and hopefully find a bed).
58+
- Once a person is sleeping, the motive engine takes over, increasing energy gradually:
59+
- Expensive bed: ~10 hours to go from −100 to 100, at sleep level (alertness) of −50.
60+
- Couch: ~12 hours, at sleep level of −1.
61+
- When a person is awake, energy decreases gradually: 100 to −100 in about 20 hours.
62+
63+
#### Sound proximity
64+
65+
The sound proximity is an addition to the sound subsystem and to the object simulation that takes
66+
into account locational factors to set the volume and pan of sounds emitted by the object. Factors
67+
and intended effects:
68+
69+
- **Zoom attenuation.** Overall object volume attenuated by the zoom level of the house view.
70+
Maximum in large.
71+
- **Pan.** Pan of sound linear with object's pixel location between left and right edge of house view.
72+
Left edge should have 0 right sound and vice versa.
73+
- **Distance attenuation.** Volume of sound attenuates as the object moves off screen. Should be 0
74+
volume at 800 pixels from any edge of the screen, and "linear" in between.
75+
76+
— Jamie
77+
78+
---
79+
80+
## Thread 2 — Autonomous Night Waking: Proposal and Implementation
81+
**January 13–15, 1999**
82+
83+
---
84+
85+
### 1. Proposal: Minor Change to Sleep
86+
87+
**From:** Jim Mackraz
88+
**Date:** Wednesday, January 13, 1999 · 5:53 PM
89+
**To:** Will Wright; Jamie Doornbos
90+
**CC:** Patrick Barrett; Kana Ryan; Luc Barthelet
91+
**Subject:** minor change to sleep proposed
92+
93+
Luc's having trouble getting his characters to sleep through the night… Too much caffeine, perhaps.
94+
Or stress.
95+
96+
I have a proposed change; if Will wants to bless it, Jamie can you code it? It's a bit out of
97+
Patrick's scope, and it would be nice for the Economic Game implementation.
98+
99+
#### Proposed modification
100+
101+
People don't wake up on their own if it's dark outside. More precisely, they don't wake up on their
102+
own between two times we can tune, basically dusk and dawn. Once "dawn" arrives, they'll wake up if
103+
they're rested, and stay asleep until rested if they need to. Player can still wake them up at any
104+
time.
105+
106+
#### Desired effects
107+
108+
- If a person goes to sleep at night, they'll sleep at least through the night. They might sleep in,
109+
past "dawn," if they're "still tired." That way, if a person stays up late, the player has to rouse
110+
them (or buy an alarm clock) in order to get them to work, but if you get them to sleep at a
111+
"reasonable hour," you're relieved of that burden.
112+
- If a person falls asleep midday, they'll wake up from their nap when rested.
113+
- If they fall asleep just before dark, they'll probably sleep through the night.
114+
115+
#### Additional notes
116+
117+
- Most people will wake up automatically at "dawn," then, if Luc's experience with the tuning is
118+
typical. We could toss in a Zelda rooster sfx at "dawn" if we want.
119+
- People would wake up simultaneously unless we inject a stochastic variable, but I like the idea of
120+
well-rested people all arising at the same time, with slackers sleeping in.
121+
- We will have a much better shot at tuning people to go to bed autonomously at a reasonable time
122+
(this sort of clamps the drift, in one direction).
123+
- I don't know the motive engine code, but it seems that whatever decides to wake them up could just
124+
check the time-of-day as one ez condition to accomplish this.
125+
- Somebody pick good values for "dusk" and "dawn," please.
126+
127+
Jamie, if we get sign off, can you bump this to the top of your queue?
128+
129+
Thanks, all.
130+
— Jim
131+
132+
---
133+
134+
### 2. Sign-off
135+
136+
**From:** Will Wright
137+
**Date:** Thursday, January 14, 1999 · 11:57 AM
138+
**To:** Jim Mackraz; Jamie Doornbos
139+
**CC:** Patrick Barrett; Kana Ryan; Luc Barthelet
140+
**Subject:** RE: minor change to sleep proposed
141+
142+
This sounds ok to me, should be simple to try any way. Let's give it a shot.
143+
144+
— Will
145+
146+
---
147+
148+
### 3. Implementation
149+
150+
**From:** Jamie Doornbos
151+
**Date:** Friday, January 15, 1999 · 1:42 AM
152+
**To:** Will Wright; Jim Mackraz
153+
**CC:** Patrick Barrett; Kana Ryan; Luc Barthelet
154+
**Subject:** RE: minor change to sleep proposed
155+
156+
Here's the new tree for "tweak sleep finished" in both of the beds.
157+
158+
#### Logic (both bed types)
159+
160+
1. **First node** — Check if the user woke the person up. This always prevails.
161+
2. **Second node** — Keep them in bed if their energy is below 90. This can be tweaked.
162+
3. **Third node** — Keep them in bed if it's still nighttime.
163+
164+
#### Sofas ("tweak nap finished")
165+
166+
Same as above, except the person will wake up when their energy hits zero in the daytime.
167+
168+
#### Additional tuning
169+
170+
- Changed napping to increase comfort up to a maximum of 40 for two hours, then start decreasing it
171+
until −100.
172+
- Changed the motive contribution curve for energy:
173+
- There is still a very steep part between −100 and −90, with a 190-point rise in that range.
174+
- Added another 5-point rise between −90 and −60. That way, they will take naps without being dead
175+
tired.
176+
177+
— Jamie

documentation/historical/email/WokeSims.md

Lines changed: 0 additions & 102 deletions
This file was deleted.

0 commit comments

Comments
 (0)