[TIL/16] 웹개발의 데이터, 게임개발의 데이터

안건우·2025년 10월 20일

sparta_til

목록 보기
15/26

추석연휴를 포함하면 거의 2주만에 쓰는 TIL이다.

부트캠프는 주차로만 따지면 어느새 4주차에 돌입했다. 이번 주차의 주제는 C# 심화, 과제는 저번 주차와 동일한 TextRPG 구현이었다. 다만 팀 프로젝트를 곁들인.

팀이 구성되고 팀원 모두가 당황했다. 지금까지의 조와는 다르게 팀원 전원이 경험자로 구성되어 있던 것이다. 나에게는 너무나 큰 기회로 느껴졌다. C#과 게임 개발 경험이 적은 내게 많은 것을 배울 수 있는 기회였기 때문이다.


가장 큰 깨달음

이번 주 가장 크게 깨달은 것은 게임과 웹 개발, 두 거대한 환경이 데이터를 다루는 방식의 차이였다.

개발을 태생부터 웹으로 접한 나에게 데이터란 모든 것의 심장이다. 아무리 단순한 것이라도 설정 파일들을 제외하면 모든 것은 RDBMS로 출발해서 RDBMS로 돌아가야 한다. 하지만 게임 개발을 새롭게 공부하면서 제일 크게 느꼈던 건 게임 쪽에선 대부분 RDBMS를 선호하지 않는다는 것이었다.

내가 이걸 깨닫지 못했던 것은 근본적으로 게임과 웹이 다루는 데이터의 본질에 대해서 이해가 부족했기 때문이라고 생각한다.

이제야 그게 조금 보이기 시작한다.

근본적인 의문: RDBMS vs JSON/Storage

RDBMS로 다루는 데이터와 JSON이나 Storage를 이용해 가볍게 다루는 데이터의 차이가 뭘까? 그건 바로 데이터의 정적(Static) 성향이다.

동적 데이터 (Dynamic Data): 시시각각 변하는 데이터, 그리고 틀리면 안 되는 데이터. 이런 건 무조건 RDBMS로 다루는 게 맞다. 말 그대로 틀리면 안 되니까. 유저와 관련된 대부분의 데이터라고 보면 되겠다. 이건 게임 쪽에서도 다를 게 없다.

정적인 데이터 (Static Data): 하지만 변할 필요가 없는 데이터는 굳이 RDBMS로 관리할 필요가 없다. 왜? 자주 안 바뀌고, 만약 바뀌어야 할 필요가 있어도 쉽게 바꿔야 하니까.

웹과 게임의 차이

웹 개발로 치면 API 연결 계정 정보나 설정 파일 등 소수의 정보가 정적 데이터에 해당한다. 하지만 게임 개발로 치면 캐릭터 정보, 몬스터 정보, 퀘스트 정보 등등 필요한 게 엄청나게 많다.

그래서 게임과 웹의 차이는?

  • 웹 개발: 대부분 동적인 데이터가 오가므로 RDBMS가 매우 중요하다.
  • 게임 개발: 정적인 데이터가 대부분이고 동적 데이터는 한정적이므로 RDBMS를 상대적으로 덜 사용한다. (특히 클라이언트에서)

그리고 여기에 더해서, 게임 개발에선 데이터를 기획자나 디자이너가 직접 만져야 하는 경우가 많으니까 더더욱 RDBMS가 꺼려지는 것이다.

마무리

사실 처음엔 도저히 이해할 수가 없었다.

뤼튼이 내 게임에 들어간 SQLite 좀 빼라고 말해도 도저히 그 필요성을 느끼지 못했다.

하지만 이번 경험으로 인해 그 차이를 좀 확연히 알게 된 것 같다.

물론 내 게임에서 SQLite는 그래도 뺄 생각이 없다.

0개의 댓글