내 작은 왕국 기획 위키

코어 루프

01 게임

이 문서 안에서

이 게임의 한 바퀴와 그 시계를 정합니다. 틱이 없는 벽시계 파생 모델입니다. 주머니의 수량도 자동 전투의 대미지도 타임스탬프 차이의 소급 계산값입니다. 앱을 꺼도 진행되고, 인터벌은 없습니다.

한 줄 요약 — 자원을 더하는 타이머가 없습니다. 타임스탬프를 저장해 두고, 읽을 때마다 floor(경과 / 단위) 를 다시 셉니다.

1. 벽시계 파생 모델

저장 위치필드시작점
주민마다VillagerState.gatheredAt마지막 주머니 비운 시각
전사마다VillagerState.battle.lastFoughtAt마지막 전투 정산 시각

채집 원형 공식(src/game/gather.ts 헤더):

capacity = BASE + (level - 1) * PER_LEVEL
amount   = min(capacity, max(0, floor((now - gatheredAt) / MS_PER_UNIT)))

세 함수(villagerPouchCapacity, villagerGatherMs, gatheredAmount) 상세는 채집과 주머니.

상수
GATHER_MS_PER_UNIT8,000 ms
단위당 시간 하한2,000 ms
POUCH_CAPACITY_BASE100
POUCH_CAPACITY_PER_LEVEL10
레벨용량만충까지
1100≈ 13분 20초
5140≈ 18분 40초
10190≈ 25분 20초
20290≈ 38분 40초

전투: src/game/battle-auto.tssyncAutoBattle. BATTLE_HIT_MS = 4,000 ms. 오프라인에 여러 스테이지 정리 가능.

채집전투
결과순수 파생값누적 상태(damageDealt, highestCleared)
별도 정산필요 없음syncBattle() 필요
보상수거해야 가방으로클리어는 전리품 자루에 쌓고, 수거해야 가방으로

syncBattle() 호출 5곳: 스토어 생성 직후, 전사 상세 열릴 때, 전사 상세 갱신, 1초 틱, 주민 상세 닫을 때.

버프는 from/until 구간, buffedWorkMs가 배율 적분. 용량 버프만 창 최댓값. 상세는 요리와 음식 효과.

2. 한 바퀴

단계화면조작호출
영입주민 탭 → 영입 오버레이직업 → 후보 → 영입recruitVillager
방치(없음)없음시간만 흐름
수거 (개별)주민 상세가방으로 옮기기collectVillager
수거 (일괄)주민 탭 → 수거 명세서모두 수거수거collectAllVillagers
수거 (전리품)주민 상세(전사)전리품가방으로 옮기기collectBattleSpoils
판매가방 탭타일 → 판매 → 수량 확인sellResource
요리·제작 (주문)주민 상세(요리사/대장장이)요리하기/제작하기제작craft
요리·제작 (완성)(없음, 대기가 끝나면)없음syncCrafting
제작 대기 단축주민 상세 → 제작 중 → 항목즉시 완료 (인장)rushCraftJob
음식 사용주민 상세사용consumeFood
레벨업주민 상세레벨 업levelUpVillager
장비주민 상세슬롯 → 장착 / 각인equipItem · enchantEquipment
광산 이동주민 상세(광부)이동 → 확인setMinerMine
던전 출정주민 상세(전사)출정 → 확인setBattleDungeon
미션 보상미션 탭받기claimMission
출석 보상미션 탭 → 접속오늘의 보상 받기claimLoginReward

새 세이브: 골드 120, 인장 0, 주민 0명, 빈 가방. 명부와 영입, 주민과 직업 참조. 수거 경로: 개별(상세), 일괄(명세서, 무료·무제한), 전리품(전사 상세, 전사 개인). 자동 수거는 없습니다. 레벨업 비용 10 × n × (n + 10) 골드(v26에서 경험치 삭제). 성장과 레벨 참조. 전투는 루프와 병렬(던전과 몬스터, 전투). 미션은 탭 열 때 syncMissions() 리셋 판정(미션과 출석). 미션·출석·전투의 골드·인장이 다음 영입 재원(두 재화, 경제 균형).

3. 부팅과 오프라인 정산

순서일어나는 일
1createGameStore(0) — 세이브 읽기. 버전이 다르면 백업 후 폐기하고 새로 시작, 파싱 실패면 백업 후 영속화 중단
2syncBattle() 1회 — 오프라인 전투 정산
3로케일·오디오·골드 연출 바인딩
4계정·클라우드 pull·쿠폰·네이티브 (비동기, 순서 보장)
5introSeen false → 세계관과 인트로 컷씬, 그 외 → buildGame()
6buildGame() — 6개 화면 DIV, visibility 전환. 시작 탭 = 주민

쿠폰은 클라우드 pull 이후. 세이브와 마이그레이션, 구조 개요 참조.

4. 루프를 가속하는 것

가속기곱하는 대상출처
채집 버프 (gather_rate)채집 창 시간 적분포자 수프 ×1.25, 마녀의 약차 ×1.5, 광부 꼬치 ×1.6
용량 버프 (pouch_cap)주머니 상한 (창 최댓값)꽉찬 도시락 ×1.5, 480분
즉시 수확 (harvest)분→개수, 가방에 직접생선 스튜 8분
전사 공격력 (warrior_atk)전사 개인 전투 시간 적분불꽃 전골 ×1.25, 용린 스테이크 ×1.6
전리품 (loot_bonus)클리어당 추가 드랍 (전사 개인)독초 절임 +1, 30분
장비 gatherSpeed단위당 시간 나눔주무장 1.2 × 장신구 1.1 = 1.32
장비 atk전사 개인 공격력전사 장비 3슬롯
각인보너스 1 + 0.4 × level 배 (최대 ×2.2)인장 8 / 14 / 20
광고 (collect_bonus)일괄 수거 +10%수거 명세서, 10분 쿨다운
광고 (gather_boost)선택 주민 채집 속도 ×1.5, 20분주민 카드, 20분 쿨다운
왕실 가죽 가방 (perm_pouch)주머니 용량 ×2인장소 영구 특권
집사의 손길 (perm_collect)개별·일괄 수거 ×1.1 · 전 채집 속도 ×1.5인장소 영구 특권

5. 루프를 막는 것

효과
주머니 용량 상한Lv.1 ≈ 13분, Lv.10 ≈ 25분 만충. 넘친 시간 회수 불가
인구상한 없음. 명부 42명이 천장. 차단: taken → seals → gold
던전 레벨 게이트전사 본인 레벨. 통행 허가 인장 10. 던전과 몬스터
광산 레벨 요구인장 개방 허가 (round(levelReq × 0.75) + 3)
레시피 레퍼토리 / levelReq다른 주민 영입 또는 레벨업
재료·골드 부족채집·전투·판매·미션

6. 이 루프에 없는 것

이어서 읽기

이 문서를 가리키는 곳