9148c358d0
Topic_Agent/Topic_Blog/Topics/Topics_Biz/Topics_Meeting/Topics_Rag의 마크다운 지식 문서를 Topic_General/Topic_Programming/Topic_Graphic/Topic_Business 4개 카테고리로 재분류. - 중복 제거: frontmatter의 status:duplicate/merged + duplicate_of/redirect_to 필드로 자기 자신을 중복으로 선언한 리다이렉트 stub 1032개 제거, 완전 동일 내용 파일 472개 제거, 동일 파일명·다른 내용 충돌 시 더 큰(완전한) 버전만 유지(162개 제거) — 총 1639개 중복 제거. - 분류: 폴더 단위로 명확한 항목(AI_and_ML/Coding/Architecture 등 → Programming, Comfyui/Visual_Effects → Graphic, Topics_Biz/Topics_Meeting/사업 등 → Business, Poetic_Blog_Writing/창의성/Game_Design 등 → General)은 폴더 우선순위로, 나머지 혼재 폴더(Topic_Agent/Topic_Blog/Topics 루트/Thinking & Reasoning/Other/UI_UX_Assets)는 title/tags 키워드 스코어링으로 파일 단위 분류(불명확한 경우 General로 폴백). 원본 폴더명은 "From_*" 서브폴더로 보존해 추적 가능성 유지. - 최종 배치: Programming 2784 / General 1608 / Graphic 285 / Business 249 = 4926개 문서. - 에이전트 운영 상태(.astra/.agent/.obsidian/sessions/memory/_company/docs/lessons/_shared/src)는 지식 콘텐츠가 아니므로 재분류 대상에서 제외하고 원위치 유지. - Topics/Topic_email(상위 보호 폴더 Topic_email과 파일명 100% 중복) 삭제 — 보호 폴더 자체는 미변경. - 완전히 비게 된 Topic_Agent/Topic_Blog/Topics_Biz/Topics_Rag 폴더 제거.
6.2 KiB
6.2 KiB
id, title, category, status, canonical_id, aliases, duplicate_of, source_trust_level, confidence_score, verification_status, tags, raw_sources, last_reinforced, github_commit, tech_stack
| id | title | category | status | canonical_id | aliases | duplicate_of | source_trust_level | confidence_score | verification_status | tags | raw_sources | last_reinforced | github_commit | tech_stack | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| wiki-2026-0508-pocket-land | Pocket Land | 10_Wiki/Topics | verified | self |
|
none | B | 0.7 | applied |
|
2026-05-10 | pending |
|
Pocket Land
매 한 줄
"매 손바닥 안 작은 land 를 키우는 casual builder loop". 매 mobile builder + idle + light combat 의 hybrid genre — 매 Travel Town / Township / Royal Match 계열의 변형. 매 craft → upgrade → expand → repeat 의 짧은 session.
매 핵심
매 core loop
- Tap to gather: 매 tree/rock/animal tap → 매 resource.
- Craft / merge: 매 resource 의 building / item 으로 변환.
- Expand land: 매 fog / locked region 의 unlock.
- Quest progression: 매 NPC quest 의 next chapter 잠금 해제.
- Idle return: 매 offline gen + 매 daily reward.
매 core mechanic 변형
- Merge-2/3: 매 동일 item 합쳐서 upgrade.
- Energy economy: 매 tap = energy 소비, 매 regen 또는 IAP.
- Decoration / collection: 매 cosmetic completionist drive.
- Light combat: 매 monster hut clear → 매 reward.
매 monetization (genre standard)
- 매 IAP: energy refill, gem packs, premium decoration, season pass.
- 매 ads: rewarded video (energy/double reward), interstitial.
- 매 LiveOps: time-limited event, offer wall.
매 retention 핵심
- D1/D7/D30: 매 30/15/5% 의 industry healthy.
- Daily quests + streak: 매 D1 의 핵심 driver.
- Social (clan/visit): 매 D30 stretch.
💻 패턴
Resource gather (Unity ECS-ish)
public struct Tappable : IComponentData {
public int Hits;
public ResourceType Drops;
public int DropAmount;
}
public partial struct TapSystem : ISystem {
public void OnUpdate(ref SystemState s) {
var tap = SystemAPI.GetSingleton<TapInput>();
if (!tap.Triggered) return;
foreach (var (t, e) in SystemAPI.Query<RefRW<Tappable>>().WithEntityAccess()) {
if (HitTest(tap.Position, e)) {
t.ValueRW.Hits--;
if (t.ValueRW.Hits <= 0) {
Inventory.Add(t.ValueRO.Drops, t.ValueRO.DropAmount);
s.EntityManager.DestroyEntity(e);
}
}
}
}
}
Energy economy
class Energy {
max = 100; current = 100; lastTick = Date.now();
regenSecPerPoint = 60;
refresh(now = Date.now()) {
const delta = (now - this.lastTick) / 1000;
const gained = Math.floor(delta / this.regenSecPerPoint);
this.current = Math.min(this.max, this.current + gained);
this.lastTick += gained * this.regenSecPerPoint * 1000;
}
spend(n: number): boolean {
this.refresh();
if (this.current < n) return false;
this.current -= n; return true;
}
}
Idle offline reward
function calcOfflineReward(producers: Producer[], lastSeen: number) {
const now = Date.now();
const elapsedSec = Math.min((now - lastSeen) / 1000, 8 * 3600); // 매 cap 8h
return producers.map(p => ({
type: p.output,
amount: Math.floor(p.ratePerSec * elapsedSec * 0.5), // 매 50% offline rate
}));
}
Land expansion (fog-of-war unlock)
public class LandRegion : MonoBehaviour {
public int unlockCost;
public ResourceType currency;
public LandRegion[] reveals;
public void Unlock() {
if (!Inventory.Spend(currency, unlockCost)) return;
Fog.Clear(this);
foreach (var r in reveals) r.SetVisible(true);
Quest.Notify(QuestEvent.RegionUnlocked, this);
}
}
Quest chain
type Quest = {
id: string;
prerequisites: string[];
goal: { type: "gather"|"build"|"defeat"; target: string; amount: number };
reward: Reward;
};
class QuestEngine {
active = new Set<string>();
completed = new Set<string>();
onEvent(ev: GameEvent) {
for (const id of this.active) {
const q = quests[id];
if (matches(q.goal, ev)) advance(id);
if (isDone(id)) {
this.completed.add(id); this.active.delete(id);
grant(q.reward);
for (const next of quests) {
if (next.prerequisites.every(p => this.completed.has(p)))
this.active.add(next.id);
}
}
}
}
}
Server-side anti-cheat (resource gain)
// 매 client 가 보고한 gather event 를 server 가 rate-limit
async function reportGather(uid: string, evt: GatherEvent) {
const last = await redis.get(`gather:${uid}:last`);
if (last && Date.now() - +last < 200) return reject("rate"); // 매 5/sec cap
await redis.set(`gather:${uid}:last`, Date.now(), "EX", 60);
await db.inventory.add(uid, evt.resource, evt.amount);
}
매 결정 기준
| 상황 | Approach |
|---|---|
| Casual mobile target | Energy + idle + merge |
| Mid-core target | Land expansion + light combat + clan |
| Core loop length | 매 1-3분 session / 10+ daily |
| Monetization | Soft (cosmetic) + hard (energy) hybrid |
| 진입 장벽 | First 10 min 의 매 즉각적 progress visualization |
기본값: 매 tap-gather + craft-merge + land-expand + 짧은 quest chain + IAP energy.
🔗 Graph
- Adjacent: LiveOps
🤖 LLM 활용
언제: 매 mobile casual game 디자인 / live-ops content 생성. 매 quest chain authoring. 언제 X: 매 hardcore PvP, 매 narrative-heavy AAA — 매 장르 mismatch.
❌ 안티패턴
- Long first session 강제: 매 tutorial 30분 → 매 D1 churn.
- Pay wall too early: 매 D2 안에 wall → 매 review bomb.
- Unbalanced energy: 매 너무 짧으면 frustration, 매 너무 길면 매 monetization fail.
- No social: 매 D30 retention 의 vector 부재.
- Client-trusted resource: 매 modding/cheating 폭증.
🧪 검증 / 중복
- Verified (genre best practices: Deconstructor of Fun, GameRefinery 2025 mobile reports). Title-specific 매 verify limited (B-tier).
- 신뢰도 B (genre 일반은 A, 매 specific game 은 B).
🕓 Changelog
| 날짜 | 변경 |
|---|---|
| 2026-05-08 | Phase 1 |
| 2026-05-10 | Manual cleanup — casual builder loop + monetization patterns |