Skip to content

Commit 739a584

Browse files
committed
feat(2048): add 'why is this so addictive' notes page
1 parent 12190aa commit 739a584

3 files changed

Lines changed: 68 additions & 6 deletions

File tree

examples/2048/notes/content/what-is-2048.md

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -77,10 +77,7 @@ head and rich enough to surprise you. Each merge is a tiny dopamine
7777
hit. The board is small enough that every move feels consequential.
7878
And it's free -- no install, no account, no ads.
7979

80-
Next: [the ones worth playing](./best-of-2048) -- the ancestor, the
81-
canonical version, and a variant worth your time.
82-
83-
# Best of 2048
80+
## The ones worth playing
8481

8582
**Threes!** -- the careful 14-month original. Pay for it. It's the
8683
version made by people who hoped you'd put it down sometimes.
@@ -102,8 +99,7 @@ free, in any browser tab.
10299
parody variant where merges resolve by absurdist British game-show
103100
logic instead of arithmetic. Worth a few rounds for the joke alone.
104101

105-
Next: [how this is built](./in-nushell) -- the same game on top of
106-
event-sourcing, SSE, and view transitions.
102+
Next: [why is this so addictive?](./why-is-this-so-addictive)
107103

108104
# In Nushell
109105

@@ -147,3 +143,5 @@ The source: [examples/2048 on
147143
GitHub](https://github.com/cablehead/http-nu/tree/main/examples/2048).
148144
Browse the [/design](../design/) component viewer for the live mirror
149145
of every server-rendered piece.
146+
147+
Next: [back to the rules](./the-rules), and round again.
Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
# Why is this so addictive!?
2+
3+
I ported 2048 to Nushell over a weekend, for fun. Then I noticed I
4+
kept playing it. Not testing it. Playing it. I'd close the tab to get
5+
back to work and find it open again before I'd decided to. That's when
6+
I stopped and asked: what is going on here? Has anyone actually written
7+
about the pull? Turns out a _lot_ of people have.
8+
9+
The most-quoted answer is from [Judy Willis](https://radteach.com/), a
10+
UC Santa Barbara neurologist the press talked to in 2014. She named
11+
[two dopamine boosts](https://web.archive.org/web/20150311024653/https://www.popularmechanics.com/culture/gaming/a10341/why-the-2048-game-is-so-addictive-16659899/).
12+
The first is prediction: every move is a guess at what the board does
13+
next, and brains (in her phrase, "like bookies and psychics") love
14+
making predictions, so the dopamine arrives just for guessing. The
15+
second is that the game stays challenging but achievable, which keeps
16+
that reward flowing instead of tipping into frustration.
17+
18+
But the part that actually got me is something her account skips: the
19+
[fake sense of progress](https://en.wikipedia.org/wiki/Incremental_game). Every new high tile lands
20+
like a level-up. Your first 256, then 512, then 1024, each one a new
21+
personal best, new territory, a little "I'm finally getting somewhere".
22+
But nothing has actually changed: same 4x4 grid, same four swipes, same
23+
game you were playing back at tile 16, just a bigger number. And
24+
because every step is a doubling, the jump to 512 feels every bit as
25+
exciting as the jump to 256 did. The climb doesn't lose steam. The
26+
progress is just a number going up, one of the stickiest things a game
27+
can dangle.
28+
(An entire genre, the [idle and clicker
29+
games](https://www.vice.com/en/article/cookie-clicker-wasnt-meant-to-be-fun-why-is-it-so-popular-8-years-later/),
30+
is built on nothing else.
31+
That's its own rabbit hole, and its own page, later.)
32+
33+
The rest pile on top:
34+
35+
- **Variable-ratio reward.** Each move's payoff turns on a random spawn
36+
(nine times in ten a 2, otherwise a 4) in a square you didn't pick.
37+
Rewards on an unpredictable schedule are the [hardest to walk away
38+
from](https://en.wikipedia.org/wiki/Reinforcement); it's what slot
39+
machines run on.
40+
- **Free restart.** No login, no install, no score to keep, no "are you
41+
sure?". "One more" costs nothing, so you take it.
42+
- **Near-miss.** Only [about 347,000 of the first 42 million
43+
games](https://www.buzzfeednews.com/article/hillaryreinsberg/why-this-free-puzzle-game-is-the-most-addictive-thing-on-the)
44+
reached 2048, under one percent, so nearly every game ends just
45+
short. And just short
46+
is the addictive part: gambling studies find a [near miss makes people
47+
keep playing](https://pmc.ncbi.nlm.nih.gov/articles/PMC2658737/) more
48+
than a clean loss does, even though it's still a loss.
49+
- **The unfinished board.** The [Zeigarnik effect](https://en.wikipedia.org/wiki/Zeigarnik_effect):
50+
we remember interrupted tasks about twice as well as finished ones.
51+
2048 almost never gives you a finished one. Lose, and the game ends
52+
mid-climb, before you got where you were headed. And even when you
53+
win, you're not finished: 2048 isn't the end, you keep going for 4096,
54+
8192, up to a [theoretical maximum of
55+
131072](http://www.science4all.org/article/2048-game/). So it ends
56+
unfinished either way.
57+
58+
If you'd rather play the version its makers actually hoped you'd be
59+
able to put down, [Threes! and the others are over in the
60+
backstory](./backstory).
61+
62+
Next: [how this is built](./in-nushell).

examples/2048/serve.nu

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -426,6 +426,8 @@ let design = source design/serve.nu
426426
(SPAN {class: "callout-desc"} "the basic rules"))
427427
(LI (A {href: ($req | href "/notes/backstory")} "2048 is a broken game")
428428
(SPAN {class: "callout-desc"} "how a clone of a clone ate Threes!"))
429+
(LI (A {href: ($req | href "/notes/why-is-this-so-addictive")} "why is this so addictive?!")
430+
(SPAN {class: "callout-desc"} "the hooks, and the rabbit hole"))
429431
(LI (A {href: ($req | href "/notes/in-nushell")} "in Nushell?")
430432
(SPAN {class: "callout-desc"} "how this is built"))))
431433
(DIV {class: "preview"}

0 commit comments

Comments
 (0)