오늘의 TIL
1. 슬레이어 키우기 구조 이해
- 게임의 주요 데이터(무기, 악세사리, 스킬)를 효율적으로 관리하기 위해 DataManager 설계가 필요하다는 점을 확인했습니다.
- 강화 시스템, 상점, 전투 등 다양한 시스템에서 이 데이터를 공유해야 하기 때문에, 데이터를 중앙에서 관리하는 구조가 중요하다고 배웠습니다.
2. DataManager 설계 및 구현
- DataManager의 역할
- 모든 무기, 악세사리, 스킬 데이터를 리스트로 관리합니다.
- 특정 아이템을 검색하거나 데이터를 추가/수정할 때 이를 통합적으로 처리합니다.
- SO 데이터를 자동으로 로드
- 기존에는 데이터를 수동으로 드래그해 넣어야 했지만, Resources.LoadAll을 사용하여 특정 폴더에서 데이터를 자동으로 로드하도록 변경했습니다.
- 이를 통해 150개의 데이터를 효율적으로 관리할 수 있게 되었습니다.
- 폴더 구조:
- Assets/Resources/Weapons/ → 무기 SO
- Assets/Resources/Accessories/ → 악세사리 SO
- Assets/Resources/Skills/ → 스킬 SO
3. 강화 시스템 기초 설계
- 강화는 모든 아이템에 적용되며, 장착 효과와 보유 효과가 강화 레벨에 따라 증가합니다.
- 강화 비용은 각 등급(Grade)에 따라 다르게 증가하며, 이를 반영하기 위해 등급별 배수를 설정했습니다.
- Normal, Uncommon: 1.15배
- Rare, Hero: 1.25배
- Legendary, Mythic: 2배
- Ultimate: 5배
- 강화 효과의 적용 방식:
- 장착 효과는 강화 레벨에 따라 등급별 증가율로 상승.
- 보유 효과는 장착 효과의 1/3 값으로 계산.
- 기타 보유 효과(치명타 데미지, 골드 획득량 등)는 강화 레벨당 소폭 상승.
4. 앞으로의 계획
- 강화 로직 완성: 강화 매니저를 통해 실제 강화 실행 및 효과 업데이트를 구현합니다.
- 강화 UI 연동: 강화 결과를 실시간으로 UI에 표시하도록 구현.
- 상점 시스템 설계: DataManager와 연동하여 상점에서 아이템을 구매 및 관리할 수 있도록 설계.
- 전투 시스템 연동: 강화된 데이터를 전투 로직에서 참조하도록 연계.
느낀 점
- 데이터 자동 로드:
- 데이터를 자동으로 관리하면서 개발 생산성을 높일 수 있다는 점을 실감했습니다.
- 특히, 슬레이어 키우기 같은 방치형 게임에서 대량의 데이터를 효율적으로 관리하는 방법을 배웠습니다.
- 강화 시스템의 복잡성:
- 각 아이템 유형마다 다른 강화 로직을 적용해야 하므로, 공통 데이터와 개별 데이터를 분리하여 관리하는 것이 중요함을 깨달았습니다.
- 강화 로직에서 등급, 레벨, 속성별 증가율 등을 세밀하게 조정하는 것이 게임 밸런스에 중요하다는 점을 알게 되었습니다.
- 앞으로 해결할 과제:
- 강화 시스템이 UI와 상호작용할 때 생길 수 있는 문제를 예상하며, 이를 단계적으로 해결해야 합니다.
'TIL(Today I Learned) > 오늘 무엇을 배웠을까' 카테고리의 다른 글
TIL(Today I Learned) - 52 (1) | 2024.12.03 |
---|---|
TIL(Today I Learned) - 51 (0) | 2024.12.02 |
TIL(Today I Learned) - 49 (0) | 2024.11.28 |
TIL(Today I Learned) - 48 (0) | 2024.11.27 |
TIL(Today I Learned) - 47 (0) | 2024.11.27 |