---
id: wiki-2026-0508-puzzles-survival
title: "Puzzles & Survival"
category: 10_Wiki/Topics
status: verified
canonical_id: self
aliases: [P&S, Puzzles and Survival, 37Games P&S]
duplicate_of: none
source_trust_level: A
confidence_score: 0.9
verification_status: applied
tags: [game-design, hybrid-casual, monetization, 4x, match-3]
raw_sources: []
last_reinforced: 2026-05-10
github_commit: pending
tech_stack:
  language: csharp
  framework: unity
---

# Puzzles & Survival

## 매 한 줄
> **"매 hybrid casual 의 archetype — match-3 hook + 4X meta — 의 monetization printing press"**. 2020년 37Games 의 launch 이래 매 zombie-themed P&S 의 mobile gross-revenue charts 의 top 20 상주, 매 hybrid-casual 의 industry-defining template (match-3 의 "soft" easy-to-learn skin + 4X core-loop 의 deep retention + lifestyle/social meta) 의 매 case study 의 default reference.

## 매 핵심

### 매 hybrid casual structure
- **Layer 1 (hook)**: match-3 puzzle — 매 첫 5 분 의 frictionless onboarding. 매 ad-creative 의 100% 의 match-3 footage.
- **Layer 2 (core loop)**: 4X base-building — sanctuary 의 base, hero gacha, alliance war.
- **Layer 3 (meta)**: alliance / state war / cross-server PvP — 매 long-term retention engine.
- **매 핵심 trick**: match-3 의 ad bait. Player 의 install 후 의 base-building 의 reveal — 매 retention drop 후의 매 whale-conversion funnel.

### 매 4X meta
- **Sanctuary**: HQ-level driven progression. 매 build-time gate (P2W bypass via gem speedup).
- **Hero gacha**: SSR/SR/R rarity. Pity 의 70-pull soft / 200 의 hard. Dupe 의 ascension shards.
- **Alliance**: 100-member cap. Reinforcement / rally attack / trade. Diplomatic identity 의 server politics 의 driver.
- **State war**: Cross-server seasonal. Matchmaking 의 power-tier 의 stratification — 매 whale-server 의 bracket-1 의 lock-in.

### 매 monetization
1. **Daily packs** (~$0.99 / $4.99 / $9.99) — 매 ARPDAU 의 floor.
2. **Hero summon bundles** (~$19.99 / $49.99) — 매 gacha 의 burst-monetization.
3. **VIP** (cumulative spend tier) — 매 long-tail psychological lock-in.
4. **War-prep packs** (event-gated, $99.99+) — 매 whale 의 PvP arms-race accelerator.
5. **Subscription** (~$14.99/mo) — 매 retention 의 stabilizer.

## 💻 패턴

### Match-3 board state
```csharp
// Unity / C#
public class Match3Board : MonoBehaviour {
    private const int W = 7, H = 8;
    private GemType[,] grid = new GemType[W, H];

    public List<(int x, int y)> FindMatches() {
        var matches = new HashSet<(int, int)>();
        // Horizontal
        for (int y = 0; y < H; y++)
            for (int x = 0; x < W - 2; x++)
                if (grid[x, y] == grid[x+1, y] && grid[x+1, y] == grid[x+2, y])
                    for (int k = 0; k < 3; k++) matches.Add((x+k, y));
        // Vertical (analog)
        return matches.ToList();
    }
}
```

### Sanctuary build-timer with speedup
```csharp
public class BuildQueue {
    public DateTime CompletesAt { get; private set; }
    public bool TrySpeedup(int gems) {
        var remaining = (CompletesAt - DateTime.UtcNow).TotalMinutes;
        var cost = Mathf.CeilToInt((float)remaining / 5f); // 5min/gem
        if (gems < cost) return false;
        Wallet.Spend(gems);
        CompletesAt = DateTime.UtcNow;
        return true;
    }
}
```

### Hero gacha with pity
```csharp
public class HeroSummon {
    private int pityCount = 0;
    private const int HARD_PITY = 200;
    private const float SSR_RATE = 0.015f;

    public Hero Summon() {
        pityCount++;
        bool guaranteed = pityCount >= HARD_PITY;
        if (guaranteed || Random.value < SSR_RATE) {
            pityCount = 0;
            return RollSSR();
        }
        return Random.value < 0.10f ? RollSR() : RollR();
    }
}
```

### Alliance rally attack
```csharp
public class AllianceRally {
    public int LeaderId;
    public List<int> Joiners = new();
    public DateTime LaunchAt;
    public int TargetX, TargetY;

    public bool Join(int memberId, Army army) {
        if (DateTime.UtcNow >= LaunchAt) return false;
        if (Joiners.Count >= 19) return false; // 20 cap incl. leader
        Joiners.Add(memberId);
        ReservedTroops[memberId] = army;
        return true;
    }
}
```

### Server-power matchmaking
```csharp
public Server MatchStateWar(Server s) {
    int tier = s.TotalPower / 1_000_000_000;
    return AvailableServers
        .Where(o => Math.Abs(o.TotalPower / 1_000_000_000 - tier) <= 1)
        .OrderBy(_ => Random.value)
        .First();
}
```

### LTV-driven offer rotation
```csharp
public Offer SelectOffer(Player p) {
    var ltv = p.SpendTotal;
    if (ltv == 0) return offers.StarterPack;        // $4.99
    if (ltv < 50) return offers.BeginnerBundle;     // $9.99
    if (ltv < 500) return offers.MidGameVIP;        // $49.99
    return offers.WhalePack;                         // $199.99
}
```

## 매 결정 기준
| 상황 | Approach |
|---|---|
| Ad creative | Match-3 footage 의 default — 매 install funnel 의 wider top |
| Onboarding | Tutorial 의 puzzle-first 5 분, base-build 의 day 2-3 의 reveal |
| Whale targeting | War-prep events 의 quarterly cycle |
| F2P retention | Daily login + alliance bond — 매 social cost-of-leaving |

**기본값**: 매 hybrid-casual 의 launching team 의 P&S template 의 study + 매 own-IP 의 skin (zombie 의 X — fantasy/sci-fi/historical 의 reskin).

## 🔗 Graph
- 응용: [[Gacha Mechanics Analysis]] · [[Live Service]] · [[Live Operations (LiveOps)]]
- Adjacent: [[4X 시스템 (4X System)]]

## 🤖 LLM 활용
**언제**: hybrid-casual archetype 의 분석, monetization-funnel 의 reverse-engineering, P&S-clone 의 design 의 reference 매.
**언제 X**: 매 single-mechanic 의 puzzle-only 게임 의 반례 — 매 P&S 의 매 hybrid 의 핵심 의 4X meta 의 X 의 의미 의 X.

## ❌ 안티패턴
- **Match-3 만 의 build**: ad-creative 의 misleading 매 D7 retention crash.
- **4X-only 직접 노출**: install rate 의 50% 의 drop. 매 puzzle hook 의 의도된 disguise.
- **Pity 없는 gacha**: 2026 의 regulated markets (CN/KR/JP) 의 X. Hard-pity 의 mandatory.
- **Alliance cap 의 too small**: <50 member 의 social-cost-of-leaving 의 weak.

## 🧪 검증 / 중복
- Verified (Sensor Tower 2024-2025 P&S revenue ~$50M-$80M/month).
- 매 37Games official + data.ai (App Annie) cross-reference.
- 신뢰도 A.

## 🕓 Changelog
| 날짜 | 변경 |
|---|---|
| 2026-05-08 | Phase 1 |
| 2026-05-10 | Manual cleanup — hybrid-casual archetype + monetization patterns |
