Threes is better than 2048. 2048 went viral worldwide.
I had to revisit this story while building Number Stack. Early 2014, indie developers Asher Vollmer and Greg Wohlwend released Threes! after 14 months of careful polishing. A month later, Gabriele Cirulli made an open-source clone in a few hours called 2048. It went viral worldwide. Threes' sales never caught up to 2048's reach.
Timeline
Feb 6, 2014: Sirvo Studio (Vollmer and Wohlwend, two-person team) released Threes! for $1.99, iOS only, no free trial, no ads. Development was 14 months. They had publicly released a 45,000-word "development diary" documenting why they discarded 9 variant mechanics and why they finally settled on "1+2=3, then 3-multiples merge."
Mar 11, 2014: Italian developer Saming (19 years old at the time) saw Threes and made a web variant called 1024 (another Threes derivative), open-sourced on GitHub.
Mar 19, 2014: Gabriele Cirulli (also 19, also Italian) saw 1024 and modified the rules to "same numbers double when merged" — that's 2048. He released it on his .io domain, fully open-source.
Late March 2014: 2048 exploded on Twitter. 4 million visits in 4 days (per Cirulli's own statements in multiple interviews in May).
April 2014: Thousands of 2048 clones appeared on the App Store. Some used IAP to reach hundreds of thousands in revenue (numbers disputed, but clone count on App Store at the time was striking).
May 1, 2014: Threes' developers publicly released the full 14-month dev diary, gently expressing how it felt to watch 2048 go viral with no one thinking of the original.
Why Threes was harder to build and better designed
This was my direct experience building Number Stack. Threes' core rule: 1 + 2 = 3, then only multiples-of-3 can merge with themselves (3+3=6, 6+6=12, ...). Why this is good design:
1. Resources are scarcer. Your 1s and 2s must combine to form 3s first, then the doubling begins. Meaning early moves are critical — you can't just stack 2s and hope they merge later like in 2048. Every step consumes opportunity.
2. Movement is more restrained. In Threes, each swipe moves each tile at most one cell (not 2048's "push all the way"), and only one new tile spawns per swipe. The pacing is slower; each step has more weight.
3. The math is more elegant. The 1+2=3 "non-multiple" merge is the cleverest part of the mechanic — the only non-multiple operation, so it becomes the "starter." The game's core tension comes from "how do I get more 1s and 2s lined up to produce 3s?"
This kind of rule takes 14 months to tune. The developers openly stated they tried Fibonacci-like sequences, three-tile merges, four-tile merges, etc. — over ten variants — before settling.
Why 2048 won
This part is harsh but instructive:
1. Open vs. closed source. 2048 was MIT-licensed on GitHub. Anyone could open the URL and play instantly, fork it, make themed versions. Threes cost $1.99, was iPhone-only; users outside iOS could only see screenshots.
2. Browser vs. App Store. In 2014, users came in via Twitter links and played directly = direct viral spread. Threes required Open App Store → pay → 50 MB download → install → open. Six steps, with 50% drop-off each.
3. Simpler rules transmit better. 2048's rule fits in one sentence: "Merge same numbers to double." Threes needs three: "1 + 2 = 3. Then 3-multiples merge with same. Each swipe moves one cell." In viral-transmission contexts, 1 vs. 3 sentences differs by orders of magnitude in R-value.
4. Threes' excellence is invisible to most. The "scarcity," "weight," "restrained pacing" — for casual players chasing "high score thrills" — these are negatives. 2048 is looser, more stimulating, fits 30-second sessions. Most don't care about design subtlety; they want immediate gratification.
So 2048 won commercially. But the price was experiential dishonesty — players thought they were doing strategy, but were being routed by an exponential curve.
2048 won not because it's "better," but because it fits 2014's transmission channels. Quality is nearly irrelevant in front of virality.
Lessons for indie developers
Ten years later, what I take from this:
Lesson 1: Channel decides survival, quality decides ceiling. A good product without a channel dies; a bad product with a channel takes off. But — only a good product with a channel lives long. Threes' sales were lower than 2048's reach, but 10 years on Threes still has loyal players, still a classic. 99% of 2048 clones are long dead.
Lesson 2: Free + web is the new default for indie games. 2014 it was niche choice. By 2025 it's nearly the only viable path. Unless you have a marketing budget or a 30-hour epic, paid on App Store hides you from 99% of users.
Lesson 3: Open-source isn't commercial failure — it's a different model. Cirulli didn't make money directly from 2048, but the exposure, network, and opportunities from the open-source project far exceeded $50,000 in App sales (Threes earned roughly $150K–250K in its first year — figures never officially disclosed, common industry estimates). Cirulli worked at GitHub for years afterward, known as "the 19-year-old who made 2048."
Lesson 4: Design for virality starts with rule simplification. Any complex rule in a 280-character Twitter environment gets simplified or dropped. If your game needs 200 words to explain, you won't be shared.
How BverGame applies these
Building this site, we borrowed a few decisions from 2048:
- Full web version, free, no registration
- Every game explainable in one sentence
- Open-sourcey content licensing (code not open-source, but mechanics and writing under CC-BY for reference)
- No app, no payment, browser traffic + ads only
We also kept a few worth-keeping features from Threes:
- Hand-built — every game is our code, not third-party aggregation
- Levels and values tuned by hand — Tap Rhythm's hit window, Tic-Five's AI difficulty gradient
- No "ad-unlock" to extend retention; every game's content opens fully on first visit
This combination will never go viral commercially. But on content quality and long-term sustainability we think it's the better trade.
Closing
Threes' developers Vollmer and Wohlwend kept making games. Cirulli kept developing for years. Both are doing fine. The story keeps being told because it reveals an unsettling truth in indie games: how good your work is and whether you're seen are two different things.
Don't stop making it good. But don't pretend "good alone guarantees success."
Max is BverGame's co-operator. Sources: Asher Vollmer's Threes dev diary (May 2014, at asherv.com/threes); Gabriele Cirulli's 2048 GitHub project (github.com/gabrielecirulli/2048); multiple 2014–2015 media interviews. Sales numbers are industry estimates, not officially disclosed.