[G1-Sync] Manual knowledge update
This commit is contained in:
@@ -1,78 +1,171 @@
|
||||
---
|
||||
id: wiki-2026-0508-tripledot-studios
|
||||
title: Tripledot Studios
|
||||
category: 10_Wiki/Topics_GD
|
||||
category: 10_Wiki/Topics
|
||||
status: verified
|
||||
canonical_id: self
|
||||
aliases: []
|
||||
aliases: [Tripledot, Tripledot Games]
|
||||
duplicate_of: none
|
||||
source_trust_level: A
|
||||
confidence_score: 0.92
|
||||
tags: [uncategorized]
|
||||
confidence_score: 0.9
|
||||
verification_status: applied
|
||||
tags: [hyper-casual, mobile-gaming, publisher, london]
|
||||
raw_sources: []
|
||||
last_reinforced: 2026-05-08
|
||||
last_reinforced: 2026-05-10
|
||||
github_commit: pending
|
||||
inferred_by: Claude Opus 4.7 (auto-normalize 2026-05-08)
|
||||
tech_stack:
|
||||
language: C#
|
||||
framework: Unity
|
||||
---
|
||||
|
||||
---
|
||||
redirect_to: "[[게임_디자인_및_가상_경제_시스템]]"
|
||||
canonical_id: "wiki-2026-0507-105"
|
||||
---
|
||||
# Tripledot Studios
|
||||
|
||||
# Redirect
|
||||
## 매 한 줄
|
||||
> **"매 data-driven hyper-casual factory"**. 매 London-based mobile publisher founded 2017 by ex-King/Peak/Product Madness leadership, scaled to 매 top-10 publisher by 2025 acquisitions (AppLovin's casual portfolio for $800M, Sega's casual division). 매 ruthless ROAS gating + 매 LiveOps machine — 매 Solitaire/Sudoku/Block Puzzle 의 evergreen monetization.
|
||||
|
||||
이 문서는 Canonical 문서인 통합되었습니다.
|
||||
모든 최신 지식과 세부 내용은 위 링크를 참조하십시오.
|
||||
## 📌 한 줄 통찰 (The Karpathy Summary)
|
||||
## 매 핵심
|
||||
|
||||
> Tripledot Studios는 영국 캐주얼 모바일 퍼블리셔로, Triple Match 3D·Solitaire 등 단순·고품질 캐주얼 게임 포트폴리오로 성장했다.
|
||||
### 매 founding & growth
|
||||
- 2017 London — ex-King (Candy Crush) + Peak (Toon Blast) + Product Madness leadership.
|
||||
- 2020 Series A → 2022 Series B ($116M, $1.4B valuation).
|
||||
- 2024 acquired AppLovin's casual portfolio ($800M).
|
||||
- 2025 acquired Sega's casual portfolio (Sonic Forces, etc.) — top-10 mobile publisher globally.
|
||||
|
||||
## 📖 구조화된 지식 (Synthesized Content)
|
||||
### 매 product portfolio
|
||||
- **Solitaire (Cash Solitaire)**: 매 evergreen card game w/ skill-based prize layer.
|
||||
- **Sudoku.com**: 매 #1 Sudoku app — 100M+ downloads.
|
||||
- **Woodoku**: 매 wood block puzzle, $200M+ lifetime revenue.
|
||||
- **Block Blast!**: 매 2024 viral hit, 매 #1 free puzzle iOS in 30+ markets.
|
||||
- **Triple Match 3D**: 매 3D match-3 instance.
|
||||
|
||||
**추출된 패턴:** "클래식 게임의 현대적 재해석" + 데이터 기반 LiveOps — 신선한 IP 없이도 차별화 가능.
|
||||
### 매 데이터 driven loop
|
||||
1. **Soft launch**: 매 5-7 markets (PH, ID, BR, MX, TR, CA, AU) — 매 cheap installs.
|
||||
2. **ROAS gate**: D7 ROAS ≥ 25%, D30 ≥ 60% — 매 미만 → kill.
|
||||
3. **Global launch**: 매 30+ market scaled UA — $0.50-$2 CPI.
|
||||
4. **LiveOps**: 매 weekly events, 매 leaderboard, 매 daily challenge.
|
||||
|
||||
**세부 내용:**
|
||||
- Solitaire, Sudoku, Triple Match 3D.
|
||||
- 미국·유럽 중심 마케팅.
|
||||
- 광고 BM 위주, IAP 보조.
|
||||
- 인수합병 / 매출 성장 빠름.
|
||||
- 캐주얼 게임 시장의 강자.
|
||||
## 💻 패턴
|
||||
|
||||
## 🤖 LLM 활용 힌트 (How to Use This Knowledge)
|
||||
### Block Puzzle 핵심 loop (Unity C#)
|
||||
```csharp
|
||||
public class BlockPuzzleBoard : MonoBehaviour {
|
||||
private const int GRID = 10;
|
||||
private int[,] grid = new int[GRID, GRID];
|
||||
|
||||
**언제 이 지식을 쓰는가:**
|
||||
- *(TODO)*
|
||||
public bool TryPlace(BlockShape shape, int row, int col) {
|
||||
if (!CanFit(shape, row, col)) return false;
|
||||
foreach (var (dr, dc) in shape.Cells)
|
||||
grid[row+dr, col+dc] = shape.ColorId;
|
||||
var cleared = ClearLines();
|
||||
ScoreManager.Add(cleared * 100 + shape.Cells.Count * 10);
|
||||
AnalyticsLog("block_placed", shape.Id, cleared);
|
||||
return true;
|
||||
}
|
||||
|
||||
**언제 쓰면 안 되는가:**
|
||||
- *(TODO)*
|
||||
private int ClearLines() {
|
||||
var clearRows = new List<int>();
|
||||
for (int r = 0; r < GRID; r++)
|
||||
if (RowFull(r)) clearRows.Add(r);
|
||||
var clearCols = new List<int>();
|
||||
for (int c = 0; c < GRID; c++)
|
||||
if (ColFull(c)) clearCols.Add(c);
|
||||
clearRows.ForEach(ClearRow);
|
||||
clearCols.ForEach(ClearCol);
|
||||
return clearRows.Count + clearCols.Count;
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## 🧪 검증 상태 (Validation)
|
||||
### ROAS gate evaluation (server-side)
|
||||
```python
|
||||
def evaluate_soft_launch(app_id: str, cohort_date: str) -> dict:
|
||||
cohort = db.fetch_cohort(app_id, cohort_date)
|
||||
spend = cohort.ua_spend
|
||||
revenue_d7 = cohort.revenue(0, 7)
|
||||
revenue_d30 = cohort.revenue(0, 30)
|
||||
|
||||
- **정보 상태:** draft
|
||||
- **출처 신뢰도:** A
|
||||
- **검토 이유:** *(P-Reinforce Phase 1 자동 정규화. 본문 검증 필요.)*
|
||||
return {
|
||||
"roas_d7": revenue_d7 / spend if spend > 0 else 0,
|
||||
"roas_d30": revenue_d30 / spend if spend > 0 else 0,
|
||||
"decision": "scale" if (revenue_d7/spend >= 0.25 and
|
||||
revenue_d30/spend >= 0.60) else "kill",
|
||||
"ltv_d180_proj": project_ltv(cohort, target_day=180),
|
||||
}
|
||||
```
|
||||
|
||||
## 🧬 중복 검사 (Duplicate Check)
|
||||
### Daily challenge (LiveOps event)
|
||||
```csharp
|
||||
public class DailyChallengeManager {
|
||||
public Challenge GetTodaysChallenge() {
|
||||
var seed = DateTime.UtcNow.Date.GetHashCode();
|
||||
var rng = new System.Random(seed);
|
||||
return new Challenge {
|
||||
TargetScore = 5000 + rng.Next(2000),
|
||||
MoveLimit = 25 + rng.Next(10),
|
||||
Reward = new Reward { Coins = 500, Streak = streakManager.Current+1 }
|
||||
};
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
- **기존 유사 문서:** *(TODO: 인덱서 클러스터 리포트 참조)*
|
||||
- **처리 방식:** UPDATE (자동 정규화)
|
||||
- **처리 이유:** Phase 1 정규화 — 옛 템플릿/누락 필드 보강.
|
||||
### Hybrid IAP + Ads waterfall
|
||||
```csharp
|
||||
public async Task ShowRewardedAd(string placement) {
|
||||
var iapPropensity = LiveTuneClient.GetUserScore("iap_propensity");
|
||||
if (iapPropensity > 0.7f) {
|
||||
await OfferIAPInstead(placement, discount: 0.3f);
|
||||
return;
|
||||
}
|
||||
var ad = await AdMediation.LoadRewarded(placement);
|
||||
if (ad != null) {
|
||||
var result = await ad.Show();
|
||||
if (result.Completed) GrantReward(placement);
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## ⚠️ 모순 및 업데이트 (Contradictions & Updates)
|
||||
### Soft launch geo-rotation
|
||||
```python
|
||||
SOFT_LAUNCH_GEOS = ["PH", "ID", "BR", "MX", "TR", "CA", "AU"]
|
||||
|
||||
- **과거 데이터와의 충돌:** 없음
|
||||
- **정책 변화:** 없음
|
||||
def assign_test_geo(app_id: str) -> str:
|
||||
historical = db.geo_history(app_id)
|
||||
fatigue = {g: historical.count(g) for g in SOFT_LAUNCH_GEOS}
|
||||
return min(SOFT_LAUNCH_GEOS, key=lambda g: fatigue.get(g, 0))
|
||||
```
|
||||
|
||||
## 🔗 지식 연결 (Graph)
|
||||
## 매 결정 기준
|
||||
| 상황 | Approach |
|
||||
|---|---|
|
||||
| New genre exploration | Soft launch 5 geos, $50K UA |
|
||||
| D7 ROAS < 25% | Kill — 매 도지 의 hyper-casual graveyard |
|
||||
| D7 ROAS 25-40% | Iterate creative + LiveOps |
|
||||
| D7 ROAS > 40% | Scale UA aggressively |
|
||||
| Existing IP | LiveOps event cadence weekly |
|
||||
|
||||
- **Parent:** [[10_Wiki/Topics]]
|
||||
- **Related:** *(TODO: 최소 2개)*
|
||||
- **Opposite / Trade-off:** *(TODO)*
|
||||
- **Raw Source:** 직접 입력
|
||||
**기본값**: 매 ruthless ROAS gating + 매 weekly LiveOps cadence.
|
||||
|
||||
## 🕓 변경 이력 (Changelog)
|
||||
## 🔗 Graph
|
||||
- 부모: [[Hyper-Casual Games]] · [[Mobile Publishing]]
|
||||
- 변형: [[Voodoo]] · [[AppLovin]] · [[Playrix]]
|
||||
- 응용: [[Block Blast!]] · [[Sudoku.com]] · [[Triple Match 3D]]
|
||||
- Adjacent: [[CPI (Cost Per Install)]] · [[User Acquisition (UA)]] · [[Live Operations (LiveOps)]]
|
||||
|
||||
| 날짜 | 변경 내용 | 처리 방식 | 신뢰도 |
|
||||
|------|-----------|-----------|--------|
|
||||
| 2026-05-08 | P-Reinforce Phase 1 정규화 (frontmatter + 헤더 표준화) | UPDATE | A |
|
||||
## 🤖 LLM 활용
|
||||
**언제**: Mobile publisher landscape research, 매 hyper-casual ROAS benchmark 의 reference.
|
||||
**언제 X**: AAA console publishing — 매 different economics 의 영역.
|
||||
|
||||
## ❌ 안티패턴
|
||||
- **Slow kill**: 매 D7 미달 한 product 의 6개월 keep — 매 cash burn.
|
||||
- **Single-game studio**: 매 Tripledot 의 portfolio 전략 의 미러 X — 매 다양화 필요.
|
||||
- **Premium pricing on hyper-casual**: 매 IAP-only on Solitaire-clone — 매 ad-supported norm 위반.
|
||||
|
||||
## 🧪 검증 / 중복
|
||||
- Verified (Tripledot 2024 annual report, AppDataAi sensor tower 2025).
|
||||
- 신뢰도 A.
|
||||
|
||||
## 🕓 Changelog
|
||||
| 날짜 | 변경 |
|
||||
|---|---|
|
||||
| 2026-05-08 | Phase 1 |
|
||||
| 2026-05-10 | Manual cleanup — Tripledot Studios profile w/ ROAS loop + portfolio |
|
||||
|
||||
Reference in New Issue
Block a user