http://forums.xna.com/forums/t/37129.aspx

XNA로 MMO게임을 만들 수 없을까에 대한 잡설들인데, 읽다보니 재미있다. XNA게임 특히 Xbox 360으로 배포되는 게임의 경우 M$는 보안이나 기타 이유로 인하여 다양한 제약을 걸어둔다.

- 네트워크 API로 특정 IP로 접속하는 기능이 없다. (무조건 Live 서버로 접속됨)
- 라이브서버 특징상 한방당 32명 정원
- 방은 Persistance하지 않다. (인스턴스하다. 서버 내에 뭔가를 남길 수가 없다.)
- 정보역시 유저 로컬에 쌓이지 서버레벨에서 저장할 방법이 없다.
- 퍼블리시된 게임은 같은 게임끼리만 통신이 가능

이런 제약에도 불구하고, 포럼에 등장한 다양한 아이디어는,

- 여러대의 엑박을 서버로서 켜두고 Persistant하게 만들자
- 32명 정원의 공간을 여러개 만들어 잇자

하지만, 이정도로는 문제가 있는것이 같은 게임에서 다양한 공간이 만들어질 방법이 필요하고, 유저정보를 저장할 서버레벨의 공간이 필요하다는 점이다. 그래서 생각해보건데,

1. 한 게임내에 여러 공간에 대한 정보를 넣는다.
2. 게임의 로직에 따라 처음 실행되면 해당 게임의 네트웍 로비의 갯수를 센다
3. 공간갯수 Constant 값, MAX_SPACE으로 이어질 공간의 갯수만큼 없을 경우 자동으로 32명 정원 서버가 되며 방이름(혹은 갯수)정보에 맞는 위치의 공간으로 로드된다.
4. 방 갯수가 MAX_SPACE 값이 넘어갈 경우 자동으로 게임인트로가 나오며 게임이 실행된다.
5. 서버로 할당된 초기 MAX_SPACE 만큼의 서버는 들락거리는 유저의 정보를 내부 콘솔에 쌓아두고, 해당 위치 내에서의 모든 행동을 기록한다. 예를 들어 퀘스트 수행여부.
6. (세이브가 해킹되지 않는다는 전제하에) 유저의 아이템이나 기타 정보들은 로컬에 저장된다.
7. 특정 위치 (문이나 계곡 입구)에 들어가면 자동으로 로드되며 해당 방으로 이동한다. 정원초과인 경우 메시지를 보여준다.

해당 게임이 심사를 통과해서 퍼블릭으로 나오면, 운영자(개발자)는 재빨리 준비해둔(?) 콘솔들을 켜고 먼저 게임을 다운 받아서 실행한다. (그리고, 그 콘솔들은 영원히 끌 수 없다;) 한명이라도 다른 유저가 먼저 실행하면 방이 없어질때까지 가동이 불가; 따라서, 일반 유저들은 1,2,3을 보지 못한채 MMO게임을 즐기게 되지 않을까라는 상상을 하게 됐다는 얘기.

덧으로, 초기 콘솔에는 유저 상황을 모니터할 수 있는 화면이 뜨고 운영자가 이를 수기로 기록해서 합산한다음 별도 서버에서 랭킹을 매길 수도 있겠다는 생각까지.

YOUR COMMENT IS THE CRITICAL SUCCESS FACTOR FOR THE QUALITY OF BLOG POST


    WIRED의 편집자 Clive Thompson가 쓴 이 글은 헤일로 3가 만들어지는 과정에서 대작의 위용을 갖추기 위해 어떠한 usability test(사용성 테스트)를 거쳤는 지를 재미있게 설명하고 있다. 1999년 맥월드 엑스포에서 발표한 초기 헤일로를 보고 MS는 2000년에 5,000만불에 번지를 인수한다. 그 당시 게임계의 초심자(?)였던 MS와 번지의 만남이 결정적인 시너지를 발휘한 부분이 있었는데, 그것은 번지가 당시 최고 수준이던 MS의 usability lab의 힘을 빌릴 수 있었던 것이다.

헤일로 3의 멀티맵인 Valhalla에서 발견한 문제점. 빨강점은 그 지점에서 죽은 플레이어를 가리킨다. (진할 수록 많이 죽음) 죄우 대칭인 가운데 맵에서 죽는 횟수는 왼쪽으로 치우쳐있을 것을 발견할 수 있다. 오른쪽 진영에서 접근하는 것이 조금 더 유리하다는 얘기다. 결국 작업자들은 좌우의 지형과 아이템을 조절하여 양쪽 진영의 발란스를 조절하였다.

당시 usability lab은 experimental psychology(실험심리학)으로 phD를 받은 Pagulayan가 있었다. Pagulayan 팀은 헤일로 2를 만드는 과정에서 400명의 게이머와 2,300시간에 걸친 사용성 테스트를 수행하고, 초반에 형편 없었던-초반 80%의 작업을 다 버렸다고 함- 게임 플레이 수정에 막대한 기여를 하였다. 그러나, 헤일로 1보다 떨어진다고 평가되는 부분도 있었는데, 양손총의 경우 너무나 강력한 도움이 되기 때문에 플레이어들이 다른 방식의 플레이패턴을 버리게되는 악영향을 주었다고 자평한다. (헤일로 1에는 gun, grenade, or punch attack가 "golden tripod"처럼 조화롭게 사용되었다고 함.) 2006년 헤일로 3의 첫 빌드가 나왔을때, Pagulayan 팀은 20명의 테스트 인원을 추가 고용하고, 600명의 게이머와 3,000시간에 걸친 헤일로 3의 사용성 테스트를 시작하였다.

플레이어의 움직임을 나타낸 그래프. 다른 색은 시간별로 움직인 궤적을 보여준다. 흩어진 부분은 플레이어가 의도와는 다르게 길을 잃어버리는 것이 빈번한 곳이다. 이후 작업자들은 지형을 조절하여 플레이어가 지속적으로 맵을 따라갈 수 있도록 조정하였다.

전작에서 제기 되었던 많은 문제점이 3편에 반영되었다. 에너지계열 웨폰이 너무 많았다던가, 무너졌던 "golden tripod"의 황금비를 살리는 기획이 적용되었다. 또한, 테스트 결과는 세분화되어 현재 플레이나 스테이지가 가진 문제점을 찾는데 큰 도움이 되었다고 한다. (불행히도 자세한 테스트 방법에 대해선 나오지 않았음)

  예전에 학교에 Bungie 스튜디오 관계자가 왔었는데, 헤일로 2의 사용성 테스트 동영상을 볼 기회가 있었다. (찾아봤는데 웹상에 공개된 것은 없는듯 하다.) 인상적인 부분은 플레이어의 테스트 시스템은 TV와 게임기, 그리고 카메라로 구성되어 있는데, 1개의 카메라는 패드부분을 비추고 있었다. 테스트 결과는 2개의 화면을 연속으로 보여주는데, 플레이어가 망설이거나 불편해 하는 컨트롤을 금방 알 수 있었다.

  기어스오브워 이후 헤일로 3에게는 무거운 짐이 지워졌었다. 엑박 최고의 대작이라는 타이틀을 지킬 수 있을 것인가에 많은 관심이 모아 졌었다. 결과는 성공이었지만, 그 뒤에는 이러한 시행착오와 노력이 있었던 것이다.

원문 바로가기

YOUR COMMENT IS THE CRITICAL SUCCESS FACTOR FOR THE QUALITY OF BLOG POST
  1. 호모사피엔스 2007.10.03 11:11  댓글주소  수정/삭제  댓글쓰기

    오... 게임이 2배는 재밌어지겟네요.

    • 미니미 2007.10.03 11:25  댓글주소  수정/삭제

      네, 게임은 성공여부를 판단하기 힘든 사업중에 하나니까,
      재미를 검증할 수 있는 시스템이란 무서운 무기가 되는 것이죠.

  2. 2007.10.03 14:42  댓글주소  수정/삭제  댓글쓰기

    비밀댓글입니다

  3. 김영호 2007.10.03 17:09  댓글주소  수정/삭제  댓글쓰기

    와.. 좋은 글 잘 봤습니다.

  4. 네이탐 2007.10.04 18:27  댓글주소  수정/삭제  댓글쓰기

    실험심리학이 게임 제작에도 쓰이는군요. 처음알았어요.
    이 글을 루리웹 유저 뉴스 게시판에 올려도 될까요?

  5. 마리나리 2008.02.02 05:19  댓글주소  수정/삭제  댓글쓰기

    와우.. 저런 데이터를 이용해서 관리하다니.. 인공지능분야에서도 유용할듯한 메소드군요.

  6. 피자 2008.12.27 00:03  댓글주소  수정/삭제  댓글쓰기

    매우 흥미로운 글입니다.
    잘 보고 갑니다 감사합니다.