The Oracle Thinks
An answer that arrives instantly feels cheap. Add a thinking pause — a delay loop with a SID tone humming for its length — and the answer means more because you waited for it. That's suspense.
There's something wrong with an Oracle that answers the instant you finish typing. Wisdom takes a moment. So make the player wait — a beat of silence with a low tone humming, and then, only then, the reply.
10 PRINT CHR$(147)
20 DIM A$(8)
30 A$(1)="IT IS CERTAIN"
40 A$(2)="THE SIGNS POINT TO YES"
50 A$(3)="WITHOUT DOUBT"
60 A$(4)="ASK AGAIN LATER"
70 A$(5)="CANNOT FORESEE IT NOW"
80 A$(6)="DO NOT COUNT ON IT"
90 A$(7)="MY REPLY IS NO"
100 A$(8)="OUTLOOK NOT SO GOOD"
110 POKE 54296,15
120 INPUT "SPEAK, MORTAL";Q$
130 R=INT(RND(1)*8)+1
140 PRINT
150 GOSUB 300
160 PRINT A$(R)
170 END
300 POKE 54273,20:POKE 54272,0
310 POKE 54277,0:POKE 54278,240
320 POKE 54276,17
330 FOR T=1 TO 800:NEXT T
340 POKE 54276,16
350 RETURN
The new part is the subroutine at line 300, called by GOSUB 150 before the answer
prints. It gates a SID tone on (POKE 54276,17), holds it through a delay loop (FOR T=1 TO 800:NEXT T — counting to 800 does nothing but take time), then gates it off. The screen sits
on your question, the tone hums, and the answer waits.
That pause is suspense — and it's something you build, not something that happens. The answer hasn't changed; the wait has changed what it's worth. Too short and the Oracle feels fake; too long and it feels broken. Find the beat where the player leans in.
Try this
- Tune the wait. Change
800to400(hurried) or1500(ponderous) and feel the difference in tension. - A different hum. Change the pitch in line 300 (
POKE 54273,20) — a lower note broods, a higher one frets.
What's next
The Oracle thinks now, but every answer looks the same. In Unit 5 colour gives each reply a mood — green for a yes, red for a no — read before the words even land.