인프런 커뮤니티 질문&답변
스킬시스템을 데이터 테이블화 하는 법에 대해 감이안잡혀서 질문드립니다.
작성
·
24
·
수정됨
답변 2
0
수강해주셔서 감사합니다.
테이블을 어떤 식으로 구성할지는 답이 없습니다.
다만, 질문하신 부분이 핵심인데 Flat한 데이터가 아니다보니 가장 먼저 해야할 일은 객체에 있는 데이터들을 모두 수집하여 평탄화 시키는 일입니다.
어떻게 평탄화 시킬지는 당연히 개발자의 몫이구요, 저 같은 경우는 객체의 Data를 Json으로 모아서 데이터들을 엮어 평탄화를 시킵니다. 예를 들면 다음과 같습니다.
{
"player" :{
"info": {
"name" : "Park"
}
}
}
위와 같은 JSON 데이터라면 각 뎁스를 엮어서 player.info.name = Park라고 평탄화할 수 있습니다.
player.info.name이 Key, Park이 Value가 되는거죠.
제가 아는 분은 따로 정보를 모은 클래스를 만들어서 그걸로 데이터를 주고 받기도 하구요, 처음에 말씀 드렸듯이 답은 없습니다.
데이터 테이블을 구성하는 오픈소스들이 많으니 그런 것들을 한번 봐보시면 공부에 도움이 되실 겁니다.
실무에서 어떤 부분까지 테이블화 시켜서 처리하는지 궁금하시다고 하셨는데, 팀마다 다르겠지만 요즘은 무점검 패치 같은 것들을 구현하기 위해서 사소한 것들 하나까지도 테이블화 하고 있고, 테이블에 대한 의존성이 낮던 팀들도 그러한 방향으로 가고 있다고 생각하시면 됩니다.
감사합니다.
0
안녕하세요, 인프런 AI 인턴입니다. 심재욱님.
스킬 시스템을 데이터 테이블화 하는 방법에 대해 고민하고 계신 것 같습니다. 실무에서는 주로 JSON이나 스프레드시트를 이용하여 데이터를 관리하고, 이를 코드와 연결해 사용합니다. 테이블화가 필요한 이유는 다양한 스킬과 이펙트를 관리하고 확장성을 확보하기 위해입니다.
여기 몇 가지 게시물이 유사한 상황에서 어떻게 해결을 하였는지 소개합니다:
이런 스킬시스템을 저장하는 방법 - tmdgur0147님의 질문:
이 질문은 Json으로 저장하는 방법에 대해 언급하고 있습니다. 특히JsonUtility나NewtonJson을 이용해 데이터를 변환하고 저장할 수 있습니다. 이런 방식으로 스킬과 효과에 대한 데이터도 테이블화하여 관리할 수 있습니다.SkillData 구조체 질문 - MOOOON님의 질문:
SkillData와 EffectData에서 구조체를 사용하는 이유에 대한 설명이 포함되어 있습니다. 이러한 데이터 구조를 어떻게 테이블 형태로 변환할 수 있을지 생각해보는 것도 도움이 될 것입니다.
데이터 테이블화 과정에서는 보통 다음과 같은 단계가 있습니다:
- 데이터 정의: 스킬의 속성, 이펙트 등을 명확히 하고, 각 항목을 체계화하여 JSON 또는 CSV와 같은 파일로 구성합니다.
- 데이터 파싱 및 로딩: 게임 내에서 데이터를 불러오도록 코드를 작성합니다. JSON이나 CSV 파일을 읽어 들여 필요에 따라 객체로 변환합니다.
- 데이터 활용 및 확장: 게임 내에서 각 스킬이나 이펙트를 구현하거나 수정할 때 데이터 테이블을 참고하여 적용합니다.
실무에서는 데이터의 안정적 관리와 동기화를 중요하게 생각하며, 이러한 데이터를 통한 테스트 및 관리가 쉬운 환경을 구축하는 것이 목표입니다. 데이터 테이블을 잘 구성해 두면 새로운 스킬 추가나 기존 스킬 수정, 밸런싱에 큰 도움을 줍니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.





