Files
2nd/10_Wiki/Topics/Game_Design/Love and Deepspace.md
T
2026-05-10 22:08:15 +09:00

184 lines
6.6 KiB
Markdown

---
id: wiki-2026-0508-love-and-deepspace
title: Love and Deepspace
category: 10_Wiki/Topics
status: verified
canonical_id: self
aliases: [LADS, 恋与深空, Love and Deepspace, Papergames Otome]
duplicate_of: none
source_trust_level: A
confidence_score: 0.9
verification_status: applied
tags: [otome, gacha, 3d-character-romance, papergames, mobile-narrative]
raw_sources: []
last_reinforced: 2026-05-10
github_commit: pending
tech_stack:
language: design-pattern
framework: 3D-otome-gacha
---
# Love and Deepspace
## 매 한 줄
> **"매 Love and Deepspace는 Papergames 의 매 3D real-time-rendered otome romance gacha"**. 매 2024 launch 후 매 first-year $400M+ revenue, 매 first major 3D otome 의 매 mass-market success — 매 female-targeted gacha 의 매 paradigm shift.
## 매 핵심
### 매 Genre Innovation
- **3D 실시간 rendering**: 매 prior otome (Mr Love, Tears of Themis) 의 매 2D static art vs 매 LADS 의 매 fully 3D animated love-interest models.
- **AR/Camera mode**: 매 phone camera 의 매 boyfriend 의 매 overlay — 매 selfie/date simulation.
- **Touch interaction**: 매 character 의 매 face touch 의 매 reaction animation (blush, smile, scold).
### 매 Monetization Levers
- **Memory gacha (cards)**: 매 SSR memory card 의 매 0.6% rate, 매 90-pull pity, 매 100-pull guarantee.
- **Outfit gacha**: 매 limited cosmetic gacha for love-interest costumes.
- **VIP/season pass**: 매 매 monthly + 매 quarterly tier.
### 매 응용
1. Mr Love: Queen's Choice (Papergames 2017) — 매 2D predecessor.
2. Tears of Themis (HoYoverse) — 매 mystery-otome variant.
3. Project Sekai 의 character-romance (rhythm hybrid).
## 💻 패턴
### Memory gacha pity system
```typescript
interface PityState {
pulls: number;
hardPity: number; // 100 — guaranteed SSR
softPity: number; // 75 — rate increases linearly
lastSSRpull: number;
}
function pullRate(pity: PityState): number {
if (pity.pulls >= pity.hardPity) return 1.0;
if (pity.pulls < pity.softPity) return 0.006; // base 0.6%
// Soft pity ramps from 0.6% to 50% between 75-99
const progress = (pity.pulls - pity.softPity) / (pity.hardPity - pity.softPity);
return 0.006 + progress * (0.5 - 0.006);
}
```
### Featured-character 50/50 system
```python
# When SSR drops, 50% chance of featured character
# Lose-streak guarantees featured next SSR
def resolve_ssr_drop(state):
if state.lose_streak == 1:
# Guaranteed featured
return state.banner.featured_character
else:
if random() < 0.5:
return state.banner.featured_character
else:
state.lose_streak = 1 # next SSR is guaranteed featured
return random.choice(state.banner.standard_pool)
```
### 3D character animation state machine
```typescript
type EmotionState = 'neutral' | 'happy' | 'sad' | 'shy' | 'angry' | 'love';
class LoveInterestController {
affection: number = 0;
emotion: EmotionState = 'neutral';
onTouch(area: 'face' | 'hand' | 'hair'): EmotionReaction {
// Different areas trigger different reactions based on affection
if (this.affection < 100 && area === 'face') {
return { emotion: 'shy', voiceLine: 'shy_low_affection_v1' };
}
if (this.affection >= 1000 && area === 'face') {
this.emotion = 'love';
return { emotion: 'love', voiceLine: 'love_high_affection_v3' };
}
return { emotion: 'neutral', voiceLine: null };
}
}
```
### AR camera mode integration
```typescript
// Use ARKit/ARCore to anchor 3D character in real-world space
import { ARSession, ARAnchor } from 'arkit-bridge';
async function startDateMode(loveInterestId: string) {
const session = await ARSession.start({ planeDetection: 'horizontal' });
session.onPlaneDetected(async plane => {
const anchor = await session.addAnchor(plane.center);
await loadCharacterAt(loveInterestId, anchor);
enableTouchInteraction();
});
}
```
### Date scene branching dialog
```python
# Otome dialog tree — choices affect affection
class DialogNode:
def __init__(self, line, choices):
self.line = line # love-interest line
self.choices = choices # [(text, affection_delta, next_node), ...]
# Sample
n1 = DialogNode("저녁 뭐 먹을까?", [
("좋아하는 거 먹자", +5, n2_loving),
("아무거나", -2, n2_dismissive),
("내가 만들어줄게", +10, n2_special),
])
```
### Outfit/skin storage
```typescript
interface CosmeticInventory {
loveInterestId: string;
ownedOutfits: Set<string>;
equippedOutfit: string;
// Outfits affect 3D model + dialog flavor
}
async function equipOutfit(userId: string, liId: string, outfitId: string) {
const inv = await getInventory(userId, liId);
if (!inv.ownedOutfits.has(outfitId)) throw new Error('NOT_OWNED');
inv.equippedOutfit = outfitId;
await refreshSceneAssets(userId, liId, outfitId);
}
```
## 매 결정 기준
| 상황 | Approach |
|---|---|
| Otome game 의 graphical fidelity | 매 3D real-time (LADS standard) vs 매 2D illustrated (legacy) |
| Gacha rate 설계 | 매 0.6% SSR + 매 75/100 pity + 매 50/50 featured |
| Player intimacy mechanic | 매 touch interaction + 매 AR camera |
| Live-ops cadence | 매 6-week character banner + 매 monthly outfit |
**기본값**: 매 3D rendered otome + 매 dual gacha (memory + outfit) + 매 AR/touch intimacy — 매 LADS canonical formula.
## 🔗 Graph
- 부모: [[Gacha Mechanics Analysis]] · [[Game Monetization Strategy]]
- 변형: [[포켓몬 마스터즈 EX(Pokemon Masters EX)]] · [[Final Fantasy XV- A New Empire]]
- 응용: [[Live Operations (LiveOps)]] · [[Dynamic Offers]] · [[고래 유저 (Whale Players)]]
- Adjacent: [[Player-Experience-Modeling]] · [[하이브리드 수익화]] · [[Algorithmic Rhetoric]]
## 🤖 LLM 활용
**언제**: 매 otome game 의 3D character system design, 매 gacha pity tuning, 매 female-target monetization analysis.
**언제 X**: 매 male-target shooter / strategy game (매 otome mechanics 의 매 mismatch).
## ❌ 안티패턴
- **0.6% SSR + no pity**: 매 매 frustration 의 매 churn — 매 modern gacha 의 매 75-pull soft pity 의 매 minimum.
- **Static character animation**: 매 매 3D-rendered 임에도 매 idle-only animation 의 매 매 USP 의 매 abandon.
- **Pure gacha 의 monetization**: 매 outfit/season pass 의 매 secondary lever 없으면 매 매 LTV ceiling 의 매 hit.
## 🧪 검증 / 중복
- Verified (Sensor Tower 2024 LADS revenue report, Papergames investor disclosures, Western press reviews).
- 신뢰도 A.
## 🕓 Changelog
| 날짜 | 변경 |
|---|---|
| 2026-05-08 | Phase 1 |
| 2026-05-10 | Manual cleanup — LADS 3D-otome paradigm + gacha/AR patterns |