Dev.Game/TIL

[TIL] 게임 개발 이전에 기획에 대한 고찰

WooKGOD 2024. 12. 11. 18:57
반응형

오늘은 어제 공부했던 웹소켓에 이어 node 강의 심화부분을 들으면서 초반에 게임 기획에 관련한 부분에 대해 생각해보았다.

 

어떻게보면 단순한 이론으로 잊고 지나갈 수 있는 부분이지만 현업에서 어떤 작업이 이뤄지는지 미리 알고 가는 것과 모르고 가는 것의 차이는 굉장히 크다고 생각한다.

 


 

오늘 학습한 내용

 

게임 개발에서 보면 초기에 팀은 PD, TD, AD로 구성이 된다. 각자 전체적인 기획, 기술, 아트 파트에 대한 담당자로 권한을 가진 소수의 사람들로 이루어져 시작되게 된다.

이때 서버팀의 경우 개발 단계에서 인프라 구성, 팀원 모집, 서버 로직 개발 등과 같은 역할을 맡게 되며 게임 오픈 이후에는 사실상 무한 컨텐츠 개발에 매달린다고 볼 수 있다.

서버 로직을 개발하면서 더미테스트, 부하테스트 내, 외부 QA 대응 등 업무를 하게 되며 서버 릴리즈 날짜가 정해졌다면 서버팀의 1~2명은 더미테스트 스크립트만 작성하고 로그만 줄구장창 보는 경우가 있다.

 

개발된 게임 서버가 하는 일은 많지만 주로 하는 일은 '검증'으로 볼 수 있고 다음과 같다.

- 개발자의 관점, 개발한 API, 로직이 정상적으로 동작하는지 확인하는 행위

- 서버내에서 더미테스트, 부하테스트 등 각종 테스트 기법과 도구를 활용

 

#검정

- 사용자의 관점, 개발한 API, 로직이 정상적으로 동작하는지 확인하는 행위

- 개발이 완료된 서비스에서 사용자의 요구사항을 충족하며 기대값을 보여주는지 확인

 

오늘 학습한 내용에 대한 추가 정보

 

게임 서버 개발에서 다양한 테스트 기법과 도구는 서버의 안정성, 성능, 확장성을 보장하기 위해 매우 중요하다고 볼 수 있다.

위에 예시로 나온 부하테스트, 더미 데스트 이외에도

서버의 한계치를 초과하는 부하를 가해 서버가 오류를 처리하는 방식과 복구 능력을 평가하는 스트레스 테스트,

종일 게임 로비에서 지속적인 매칭을 테스트하며 24시간, 48시간 등 장시간 서버가 제대로 작동하는지 확인하는 안정성 테스트,

로그인 > 로비 진입 > 게임 매칭 > 전투 > 결과 저장 과 같은 실제 유저의 행동 패턴을 모방하여 서버가 정상적으로 처리하는지 확인하는 시나리오 테스트 등이 있다.

 

 

부하 및 스트레스 테스트 도구

  • JMeter
    • Apache에서 제공하는 부하 테스트 도구.
    • HTTP 요청, WebSocket 등 다양한 프로토콜을 지원.
  • Gatling
    • 성능 테스트를 위한 오픈소스 도구.
    • 코드 기반으로 시나리오 작성 가능.
  • k6
    • JavaScript로 성능 테스트 스크립트를 작성.
    • CLI 기반으로 경량화된 부하 테스트 도구.
  • Locust
    • Python 기반의 부하 테스트 도구.
    • 사용자 행동을 쉽게 시뮬레이션 가능.

 

이외에 모니터링 및 프로파일링 도구, 디버깅 및 로깅 도구 등 다양한 도구들을 사용하여 다른 테스트들을 진행해볼 수 있다.

 

트러블 슈팅

 

map 사용 시 차이점

 

let a = strings.map((str) => str[n] + str);

 

let a = strings.map(str => str[n] + str);

 

아래의 경우 매개변수가 하나일 때만 사용할 수 있고 2개 이상일 경우 위 처럼 괄호를 반드시 넣어줘야 정상적인 작동이 가능함

 

팀 프로젝트의 경우 팀 스타일 가이드에 따라 일관되게 사용하는 것이 중요함.

반응형