--- id: wiki-2026-0508-부분-유료화-free-to-play title: 부분 유료화 (Free-to-Play) category: 10_Wiki/Topics status: verified canonical_id: self aliases: [Free-to-Play, F2P, Freemium, 부분유료화, 프리투플레이] duplicate_of: none source_trust_level: A confidence_score: 0.9 verification_status: applied tags: [game-design, monetization, business-model, economy] raw_sources: [] last_reinforced: 2026-05-10 github_commit: pending tech_stack: language: language-agnostic framework: monetization --- # 부분 유료화 (Free-to-Play) ## 매 한 줄 > **"매 무료 entry, 매 in-game purchase 의 통한 monetize."**. 2010s mobile gaming 의 explosion 의 driver — 매 Candy Crush, Clash of Clans, Genshin Impact, Fortnite 의 backbone. 2026 의 매 cosmetics-only (Fortnite, Valorant) 와 매 progression-gated (gacha) 의 split — 매 EU/KR regulation (gambling disclosure, 매 odds publication) 의 매 design 의 reshape. ## 매 핵심 ### 매 monetization 의 종류 - **Cosmetic**: 매 skin · emote · nameplate — 매 power 의 X. - **Battle pass**: 매 seasonal progression — 매 paid + free track. - **Gacha / loot box**: 매 randomized reward — 매 rarity tier. - **Energy / wait gate**: 매 stamina · timer — 매 pay-to-skip. - **Pay-to-win (P2W)**: 매 power 의 직접 sell — 매 controversial. - **Subscription**: 매 monthly perk (Apple Arcade, Game Pass — F2P 의 hybrid). ### 매 metric - **ARPU**: average revenue per user. - **ARPPU**: average revenue per paying user. - **Conversion rate**: 매 free → paying %. - **Whale concentration**: 매 top 1% 의 50%+ revenue 의 contribute (typical). - **D1/D7/D30 retention**: 매 monetization 의 prerequisite. ### 매 응용 1. 매 economy design — 매 sink/source balance 의 inflation 의 prevent. 2. 매 A/B test — 매 price point · 매 offer cadence. 3. 매 ethical disclosure — 매 gacha odds publication (KR · CN law). ## 💻 패턴 ### Pricing tier (server config) ```yaml products: - id: gem_pack_small price_usd: 4.99 gems: 500 bonus: 0 - id: gem_pack_medium price_usd: 19.99 gems: 2200 # 매 10% bonus bonus: 200 badge: "best_value" - id: gem_pack_large price_usd: 99.99 gems: 13000 # 매 30% bonus, whale tier bonus: 3000 ``` ### Gacha pull with pity ```python import random def pull(banner, pity_counter): rates = banner.rates # {"5★": 0.006, "4★": 0.051, "3★": 0.943} if pity_counter >= banner.hard_pity: # 매 90 pulls 의 5★ guarantee return banner.featured_5star, 0 r = random.random() if r < rates["5★"]: return random_5star(), 0 if r < rates["5★"] + rates["4★"]: return random_4star(), pity_counter + 1 return random_3star(), pity_counter + 1 ``` ### Battle pass progression ```typescript interface BattlePass { season: number; currentXP: number; tiers: Tier[]; // 매 100 tiers ownsPaid: boolean; } function unlockedRewards(bp: BattlePass): Reward[] { const tier = Math.floor(bp.currentXP / 1000); return bp.tiers.slice(0, tier).flatMap(t => bp.ownsPaid ? [t.free, t.paid] : [t.free] ); } ``` ### Energy/stamina regen ```typescript function currentStamina(user: User, now: Date): number { const elapsed = (now.getTime() - user.lastStaminaUpdate.getTime()) / 1000; const regen = Math.floor(elapsed / 360); // 매 6 min/point return Math.min(user.stamina + regen, user.maxStamina); } // pay 의 instant refill: refill_cost = 50 gems ``` ### Whale-friendly bundle ```yaml bundle_starter: one_time_only: true price_usd: 0.99 contents: - hero_card_5star: 1 - gems: 1000 rationale: "low-friction first purchase — 매 conversion driver" ``` ### Disclosure (KR/CN law compliance) ```json { "banner": "limited_5star_featured", "rates_disclosed": { "5★_featured": 0.0030, "5★_other": 0.0030, "4★_any": 0.0510, "3★_any": 0.9430 }, "pity_disclosed": { "soft_pity_at": 75, "hard_pity_at": 90 } } ``` ### Live ops calendar (offers) ```yaml events: - id: "weekend_sale" cadence: "Fri 18:00 → Sun 23:59 KST" discount: 0.20 - id: "comeback_offer" trigger: "user.daysSinceLastSession >= 7" contents: [gems: 500, hero_token: 1] ``` ## 매 결정 기준 | 상황 | Approach | |---|---| | 매 competitive PvP | Cosmetic-only — 매 P2W 의 player exodus 의 cause | | 매 RPG/gacha audience | Banner + pity + battle pass | | 매 casual puzzle | Energy gate + remove-ad IAP | | 매 EU/KR market | Disclosure 의 mandatory · 매 gambling-like 의 minor restriction | | 매 retention < D7 | 매 monetize 의 premature — 매 retention 의 fix first | **기본값**: 매 cosmetic + battle pass — 매 controversy 의 minimize, 매 long-term retention 의 protect. ## 🔗 Graph - 부모: [[Game_Monetization]] - 변형: [[Freemium]] - 응용: [[Gacha]] · [[Loot_Box]] · [[Live_Ops]] - Adjacent: [[Game_Economy]] · [[Player_Retention]] ## 🤖 LLM 활용 **언제**: 매 economy simulation — 매 sink/source balance 의 model, 매 offer copy 의 generate. **언제 X**: 매 ethical decision — 매 manipulative dark pattern 의 design 의 X. ## ❌ 안티패턴 - **Pay-to-win in PvP**: 매 competitive integrity 의 destroy → 매 churn. - **Hidden gacha rates**: 매 KR/CN illegal · 매 trust 의 destroy. - **Inflation**: 매 currency source > sink — 매 economy 의 break. - **Monetize early**: 매 D1 popup 의 IAP — 매 retention 의 tank. - **Whale-only design**: 매 top 1% 의 only 의 fun — 매 base 의 hollow out. ## 🧪 검증 / 중복 - Verified (Schell *Art of Game Design*; KR Game Industry Promotion Act 2024 amend; Sensor Tower 2026 mobile report). - 신뢰도 A. ## 🕓 Changelog | 날짜 | 변경 | |---|---| | 2026-05-08 | Phase 1 | | 2026-05-10 | Manual cleanup — monetization types, gacha mechanics, regulation |