Data Driven 방식 [TIL 29일차]

장민제·2025년 5월 22일

내일배움캠프

목록 보기
32/41
post-thumbnail

📚 Data Driven

  • 게임의 다양한 설정 값이나 로직 데이터를 코드에 직접 하드코딩하지 않고,
    JSON, CSV, ScriptableObject 등의 외부 데이터로 분리하여 처리하는 설계 방식이다.

✅ 데이터 드리븐 방식의 장점

  • 빠른 수정과 반복 테스트 용이
    → 코드 수정 없이 밸런스나 콘텐츠 수치를 변경할 수 있어 작업 속도가 빨라진다.

  • 비개발자도 접근 가능
    → 기획자나 밸런서 등 개발 지식이 없는 인원도 데이터를 손쉽게 수정해 테스트 가능.

  • 하드코딩 방지 → 코드가 깔끔해짐
    → 수치가 코드에 직접 박혀 있지 않기 때문에 유지보수성과 가독성이 향상된다.

  • 빌드 없이 콘텐츠 수정 가능
    → 실시간으로 데이터만 교체하여 빠르게 게임에 적용 가능. 빠른 A/B 테스트와 튜닝에 유리하다.


Parser & Parser Tool

🧾 파싱(Parsing)이란?

파싱은 데이터를 읽어서 이해할 수 있는 형태로 바꾸는 작업

보통 우리가 사용하는 JSON, CSV, 구글 시트 같은 데이터는 텍스트로 되어있음,
이걸 게임에서 쓰려면, 숫자나 문자열을 꺼내서 코드에서 쓸 수 있는 형태로 바꿔야함
이 과정을 바로 파싱(Parsing) 이라고 한다.

{ "name": "Slime", "hp": 50, "attack": 10 }

이런 JSON 데이터를 읽어서,
MonsterData라는 클래스에 name: string, hp: float, attack: float 같은 변수로 채워 넣는 것

🔧 파서 툴(Parser Tool)이란?

파서 툴은 위처럼 데이터를 읽어서 클래스나 데이터 파일로 자동으로 변환해주는 프로그램

  • 구글 시트 → CSV → 게임용 데이터 클래스 생성
  • JSON 파일 → ScriptableObject 생성
  • CSV → .cs 클래스 자동 생성 + 인스턴스화

즉, 기획자가 만든 수많은 데이터를 자동으로 가져와 코드에 쓸 수 있도록 만들어주는 도구


⚠️ Parser Tool(파서 툴) 설계 시 유의사항

  • Unity 에디터 내부보다는 독립적인 외부 툴(C# WinForm, HTML, 독립 실행 파일 등)을 권장
    • 에디터 내부에 파서를 만들 경우, 시트 변경 → 즉시 클래스 반영 → 게임에 바로 영향이라는 구조가 너무 위험할 수 있다.
    • 파서 자체가 에러를 내면 Unity에서 스크립트 전체가 컴파일되지 않아 테스트 자체가 불가능해질 수 있다.
  • 데이터는 자동 반영보다 수동 반영 구조가 안정적
    • 빌드 시점 또는 명확한 검증 절차를 거친 후 반영하는 것이 안전하다.

📌 정리

위 방식들은 실무에서 사용되는 방식들이므로,
우선 최대한 데이터를 직접 코드에 집어넣는 하드코딩의 방식대신 데이터를 한 곳에 모아 관리하며 사용하는 방식으로 먼저 코딩 습관을 들이고,
관련한 내용을 좀 더 학습하며 사용해보아야겠다.

profile
Unity, C#

0개의 댓글