본문 바로가기

TIL(Today I Learned)/오늘 무엇을 배웠을까

TIL(Today I Learned) - 50

오늘의 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와 연동하여 상점에서 아이템을 구매 및 관리할 수 있도록 설계.
  • 전투 시스템 연동: 강화된 데이터를 전투 로직에서 참조하도록 연계.

느낀 점

  1. 데이터 자동 로드:
    • 데이터를 자동으로 관리하면서 개발 생산성을 높일 수 있다는 점을 실감했습니다.
    • 특히, 슬레이어 키우기 같은 방치형 게임에서 대량의 데이터를 효율적으로 관리하는 방법을 배웠습니다.
  2. 강화 시스템의 복잡성:
    • 각 아이템 유형마다 다른 강화 로직을 적용해야 하므로, 공통 데이터와 개별 데이터를 분리하여 관리하는 것이 중요함을 깨달았습니다.
    • 강화 로직에서 등급, 레벨, 속성별 증가율 등을 세밀하게 조정하는 것이 게임 밸런스에 중요하다는 점을 알게 되었습니다.
  3. 앞으로 해결할 과제:
    • 강화 시스템이 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