인간퍼트리기 🌳⚔️

상태: 🟢 프로토타입 진행 중 코드네임: 인간퍼트리기 경로: workspace/human-spreading/ 형태: 데스크탑 idle 게임 (Electron, 모니터 하단 width:100%, 300px) 기술 스택: React 18 + Vite + Electron + Canvas 2D


세계관

  • 인간이 멸종한 외계 행성
  • 숲 속 커다란 나무 한 그루 — 보호막의 중심
  • 나무 주변에 절대보호막 (절대 안 깨짐, 마지막 보루)
  • 외부 괴물들이 이상한 걸 발견 → 조사하러 옴 → 보호막을 때리기 시작
  • 나무가 인간을 만들어서 몽둥이 들려 보냄 → 전투 시작 (튜토리얼?)

형태

  • 데스크탑 idle 게임 — 모니터 하단에 width: 100%로 깔림 (300px 높이)
  • 완전 방치 idle은 아님 — 반능동 idle: 켜두면 유지되지만 성장하려면 직접 개입 필요
  • 그래픽: 일단 없이 시스템 먼저, 나중에 도트
  • 배포: .exe로 지인들한테 공유

현재 구현 완료 (2026-03-14)

핵심 시스템

  • 마나 경제: 킬당 +2마나, NPC 소환(1), 영역 확장(1), 건물 건설(1~3)
  • 웨이브 전투: 고블린→늑대→오크→트롤→혼합, 이후 “강화” 스케일링
  • CLG식 즉시 전투: 파티가 몬스터 접촉 → 턴제 전투 즉시 해결
  • 보호막 드레인: 몬스터 공격력 기반 마나 소모, 마나 0이면 영역 축소+1마나 환급

idle 공장 파이프라인

  • 해체소 (dismantler): 시체 → 원재료 (자동, 확률 드롭)
  • 제작소 (workshop): 원재료 → 장비 (자동, 우선순위: 무기>갑옷>기타)
  • 자동 장착: 인벤토리 → NPC에 자동 배분 (레벨 제한, 더 좋은 장비 교체)
  • 자동 강화: 같은 슬롯+같은 레벨 장비 합성 (1+1=2, 2+2=3)

장비 시스템

  • 11슬롯 (좀보이드식): 모자, 속옷상/하, 셔츠, 갑옷, 외투, 바지, 각반, 양말, 신발, 무기
  • 몬스터별 풀세트: 고블린/늑대/오크/트롤/마석 세트
  • 내구도: 5전투 후 파괴 → 자동 재장착
  • 강화: 같은 레벨=레벨업+스탯+1, 다른 레벨=내구도 절반 흡수
  • 레벨 제한: NPC 레벨 ≥ 장비 레벨

포획 + 대련소 (2026-03-14 밤)

  • 우리(cage): 살아있는 몬스터 클릭 → 포획. 몬스터 템플릿 저장
  • 대련소(arena): 포획한 몬스터를 마나로 소환 → 배정 파티가 전투 → 경험치+시체
  • 약한 팀을 강한 몬스터와 안전하게 훈련하는 용도

다중 파티 (2026-03-14 밤)

  • 파티 여러 개 생성 가능 (숫자키 1~9 전환)
  • NPC 소환 시 선택된 파티에 추가
  • 각 파티 독립 순찰/전투, 파티별 고유 색상
  • 대련소에 특정 파티 배정 가능

건물 시스템

  • 4종류: 해체소(1마나), 제작소(1마나), 우리(2마나), 대련소(3마나)
  • 보호막 안에만 배치 가능
  • 건물 겹침 방지 (AABB + 여유)
  • ESC로 배치 취소 + 마나 환불

NPC 성장

  • 전투 참여자끼리 경험치 분배 (10/살아있는수)
  • 레벨업 시 HP +1
  • 죽으면 영구 삭제

알려진 이슈 (2026-03-14 밤)

  • ⚠️ 흰 화면만 나옴 — 빌드는 성공하나 Electron에서 화면이 안 나오는 문제. 다음 세션에서 디버깅 필요
    • npx vite build 성공, npx electron . 실행됨
    • dist/index.html 로드 방식인데 화면이 안 나올 수 있음
    • devtools 열어서 콘솔 에러 확인 필요

파일 구조

src/game/
├── GameCanvas.jsx  — 메인 컴포넌트 (게임루프, 클릭, UI렌더링)
├── entities.js     — NPC, 몬스터, 파티, 전투
├── gameState.js    — 마나, 웨이브, 킬 보상, 영역
├── buildings.js    — 해체소, 제작소, 겹침 체크
├── capture.js      — 우리(cage), 대련소(arena), 포획
├── equipment.js    — 장비 슬롯, 제작 레시피, 강화, 내구도
├── world.js        — 월드 (나무, 보호막, 지형)
├── renderer.js     — Canvas 렌더링 함수들
electron/
├── main.js         — Electron 메인 프로세스

핵심 루프 3개 (목표)

① 🌱 식물 재배 → 마나 경제

  • 아직 미구현. plant-tycoon-web 코드 재활용 예정
  • 현재는 킬 보상으로 마나 획득

② ⚔️ 마나 → 인간 소환 & 전투

  • ✅ 구현 완료
  • NPC 소환, 웨이브 전투, 보호막 드레인

③ 🔨 전리품 → 크래프팅 & 성장

  • ✅ idle 공장 파이프라인 구현 완료
  • 시체 → 해체소 → 원재료 → 제작소 → 장비 → NPC 장착

미정 / 나중에 추가

  • 음식/식량 시스템
  • 식물 교배 (마나 자체 생산)
  • NPC 개성/외형
  • 나무 자체의 성장/업그레이드
  • 스킬 시스템 (마비노기식)
  • 혼합무리 시체 → 개별 몬스터 종류로 표시
  • NPC 파티 간 이동 (드래그? 클릭?)

관련


생성: 2026-03-14 마지막 업데이트: 2026-03-14