플랜트 타이쿤 🌱

뭐가 하고 싶었냐

씨앗 관리가 너무 불편함:

  • 씨앗 324개를 27개씩 12페이지로 쪼개서 보여주는데
  • 페이지 넘기기가 느리고
  • 같은 종류 씨앗이 여기저기 흩어져 있음

원하던 것:

  • F10/F11: 씨앗장 페이지 넘기기
  • F12: 같은 종류 씨앗끼리 모아서 정렬

기술 구조

파일 구조

  • 게임 설치: C:\Program Files (x86)\Steam\steamapps\common\Plant Tycoon
  • 세이브 파일: C:\Users\[사용자]\Documents\LDW\plant tycoon\
  • VSTray1.vst: 씨앗 데이터 파일 (648 bytes = 324슬롯 × 2바이트)
    • 각 슬롯: species_id + variant_id

접근 방식 게임 소스코드 수정 불가 → 외부 프로그램으로 우회

  • C# WinForms 시스템 트레이 앱 (SeedPatcher.exe)
  • WriteProcessMemory로 게임 메모리 직접 패치 (파일 변경이 실시간 반영 안 되므로)
  • F10/F11/F12 핫키 등록

발생한 버그들과 수정

버그 1: F12 정렬이 “됐다”고 뜨는데 실제로 안 바뀜

원인: DoPage가 rotate된 데이터를 .vst 파일에 저장함 → 다음 번에 F12 누르면 이미 rotate된 걸 “원본”으로 착각 → 정렬 전후가 같아짐

수정: _originalData 필드 추가 — 원본 데이터는 절대 rotate 없이 유지, DoPage는 파일 저장 안 함

버그 2: SeedPatcher 두 개 동시 실행

SeedPatcher.exe + SeedPatcher2.exe가 동시에 켜지는 문제
→ Mutex로 중복 실행 방지

버그 3: 게임 꺼져도 SeedPatcher 안 꺼짐

→ 2초마다 게임 프로세스 체크하는 타이머 추가, 프로세스 없으면 자동 종료


Paperclip 사용 경험 (2026-03-13)

이 프로젝트에 가드너 에이전트 (Claude Opus 4.6, Paperclip)를 투입해봤음

비용: $8.97
걸린 시간: 여러 세션

한계:

  • 반복 디버깅 루프에서 비효율적 (같은 문제를 여러 번 다른 방식으로 시도)
  • 클로(Claude Code)와 컨텍스트 공유가 어려움 → 중간에 클로가 직접 개입해서 코드 분석하는 게 더 빨랐음
  • 단일 프로젝트 디버깅엔 멀티에이전트가 오히려 느리고 비쌈

결론: 멀티에이전트는 병렬 처리가 가능할 때 빛남. 반복 디버깅은 클로 직접이 낫다.

페이퍼클립 참고


→ 웹버전으로 전환 (2026-03-14)

외부앱 방식 결국 폐기 → 원본 에셋 가져와서 React 웹으로 처음부터 새로 만들기로 결정.

자세한 내용: 플랜트타이쿤-웹


최종 결론

기술적으로는 버그 3개 다 수정 완료, 컴파일만 남은 상태에서 종료.

끝낸 이유: “외부 앱 방식 자체가 원하던 게 아니었음”
게임 안에서 자연스럽게 작동하길 원했는데, 시스템 트레이에 따로 켜야 하는 방식이 불편.

뭔가 배웠고, 해보는 과정 자체는 의미 있었음. 그걸로 충분.


2026-03-13


다음 기획: UX 개선 (2026-03-13 뇨끼 전달)

외부 앱 방식 말고, 게임 자체를 더 쓰기 편하게 만드는 방향으로 재접근.

원하는 것

  • 씨앗 트레이 칸 수 대폭 확장 — 현재 3트레이, 300여 종 씨앗 감당 불가
  • 씨앗 이미지 그대로 유지 — Virtual Seed Tray처럼 텍스트 목록 방식 거부. 이미지로 구분하던 감각이 중요
  • 화분 칸 수 확장

클로가 할 것

  1. Plant Tycoon 게임 폴더 분석 → 씨앗 이미지 파일 추출
  2. 저장 파일(.ldw) 구조 분석
  3. 씨앗 슬롯 데이터 위치 파악
  4. 슬롯 수 늘리는 패치 제작

상태: 아이디어 + 분석 단계. 끼뀨가 원할 때 클로한테 요청 예정.


2026-03-14 분석 결과

파일 구조

  • 게임 설치: C:\Program Files (x86)\Steam\steamapps\common\Plant Tycoon\
  • 세이브 파일: C:\Users\User\Documents\LDW\plant tycoon\
  • 씨앗 이미지: Images/seed_Grid.png — 스프라이트시트 1개에 전체 씨앗 이미지 포함
  • VSTray1.vst: 648 bytes = 324슬롯 × 2bytes (species_id + variant_id)

다음 세션에서 할 것

  1. seed_Grid.png 크기 파악 → 씨앗 하나당 픽셀 크기 계산
  2. 슬롯 확장 방식 구체화 (.vst 파일 구조 기준)
  3. 이미지 그리드 유지하면서 슬롯 수 늘리는 패치 제작

⚠️ 패치 작업이므로 별도 세션에서 진행할 것