몬스터 데이터
먼저 몬스터 스텟을 어떻게 관리할건지 정해야한다.
크게 Json, ScriptableObject 두 방식이 있을거같은데, 비교해보자면.
JSON 기반 관리
장점: 구글시트에서 내보낸 json을 유니티에서 파싱해서 사용 실시간 외부 툴 연동에 유리,
텍스트 기반 관리, 빌드 자동화 편함.
단점: 구조 설계와 파싱 코드 필요
ScriptableObject
장점: Unity 내부 에디팅 및 직렬화 강점
단점: 시트 연동 불가 , 빌드 전 수작업 필요 , 협업 시 충돌 위험
이렇게 된다.
1.벨런스를 자주 변경할 것 같다.
2.추후에 협업을 생각하면~
3.더 나은 성능은 아마 SO이겠지만 2D 게임이기도 하고 해서 내 선택은
=> Json기반으로 가보는 것이 좋을 듯하다.
근데 이건 추후 리펙토링을 진행하며 할 것 같고 지금은 프로토타입에 집중해보자.
올리진 않았지만 일단 유닛도 데이터 클래스 만들어서 데미지, 공속, 범위만 넣어서 테스트 완료.
다음 개발 순서
🧩 1. 몬스터 풀링 시스템
🔧 퍼포먼스 최적화
지금은 Instantiate / Destroy인데, 웨이브가 커지면 렉 발생
커스텀 풀링 시스템 (BasePool, BasePoolGroup) 사용
🧱 2. UI 출력 및 전투 HUD 구성
🎨 게임 전반 상태 표시
현재 웨이브 수
살아 있는 유닛 수 / 배치 수
몬스터 누적 수 / 필드 상태
게임오버 / 승리 처리
💥 3. 스킬 시스템 도입 (기본 액티브 스킬)
예: 광역 톱니 스킬, 방어막, 궁극기
스킬 발동 버튼 → 쿨타임 기반 사용
애니메이션 + 연출 추가 가능
🧠 4. 유닛 강화 / 조합 / 진화 시스템
슬롯에 유닛 2개 넣고 → 상위 유닛으로 진화
강화 레벨별 스탯 증가
합성할 때 슬롯 비우기 → 다시 아래서부터 정렬
💾 5. 데이터 구조 분리 (JSON, ScriptableObject 등)
유닛 스탯, 몬스터 스탯, 웨이브 설정 → 코드 → JSON 전환
📲 6. 수익화 시스템
광고 보상형 시스템
상점 UI, 재화 시스템 (코인/보석 등)