플랜트 타이쿤 🌱
뭐가 하고 싶었냐
씨앗 관리가 너무 불편함:
- 씨앗 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처럼 텍스트 목록 방식 거부. 이미지로 구분하던 감각이 중요
- 화분 칸 수 확장
클로가 할 것
- Plant Tycoon 게임 폴더 분석 → 씨앗 이미지 파일 추출
- 저장 파일(
.ldw) 구조 분석 - 씨앗 슬롯 데이터 위치 파악
- 슬롯 수 늘리는 패치 제작
상태: 아이디어 + 분석 단계. 끼뀨가 원할 때 클로한테 요청 예정.
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)
다음 세션에서 할 것
seed_Grid.png크기 파악 → 씨앗 하나당 픽셀 크기 계산- 슬롯 확장 방식 구체화 (
.vst파일 구조 기준) - 이미지 그리드 유지하면서 슬롯 수 늘리는 패치 제작
⚠️ 패치 작업이므로 별도 세션에서 진행할 것