우선, 에디터 상에서 테스트 했을 때 멀쩡하게 동작하던 것들이 빌드된 버전에서는 이상하게 동작하는 현상이 있었다. 게임이 꺼져버리는 치명적인 버그들도 있었고, UI가 동작하지 않는 문제도 있었음.
내가 개발한 부분의 문제가 제일 크게 와닿았다. 클라이언트에서의 동작이 엄청나게 버벅인다는 것.. 프레임 드랍도 아니고, 무브먼트 컴포넌트가 이상하게 동작하는건지 캐릭터가 계속 울렁울렁.. 솔루나 시프트 이후에 점프도 제대로 출력되지 않았다.
사실 빌드된 버전을 도저히 어떻게 디버깅해야할 지 감이 오질 않는다. 테스트를 더 해보고, 옵션도 만져보겠지만 아직 잘 모르겠다..
그리고 또 있었던 문제! 내가 레벨에 열심히 배치하고 세팅해둔 액터들을 다른 파트에서 업데이트받지 않고 그대로 덮어쓰면서 똑같은 세팅을 두번이나 다시 했다.... 당장 급한데 시간도 낭비됐지만 똑같은걸 반복하는게 너무 스트레스였음..
레벨에 배치한 데이터들을 기록해두고 코드상에서 자동으로 배치하도록 만드는 방법이 있지 않을까 하는 생각도 들었고, 아무튼 어떻게든 해결해야 겠다는 생각이 들었다.
SVN도 어려움에 한몫 했다. 갑자기 오래걸릴 때도 있고, 커밋한 파일이 안올라가있던 경우도 있고, 내 컴퓨터에서 되는게 다른 컴퓨터에서는 동작하지 않는 문제도 있었고....
레벨에 액터들을 배치하면서 프로그래밍 팀원들끼리 서로 개발하던 것들이 꼬이는 경우도 있었다. 어떤 액터는 이 콜리전을 사용하고 있는데 다른 액터를 사용하기 위해 그걸 바꿔버리는 경우도 있었고, 내가 작업한걸 다른 친구가 건들여서 잘 되던 기능이 안되기도 하고, 다른 팀원이 터트려놓은 코드때문에 빌드가 안되어 손놓고 기다려야 하는 경험도 있었다.
서로가 개발한 것들을 다 알고있을 수는 없겠지만, 이런 부분들은 어떻게 소통하고 해결해야 하는걸까?
UI 설계에 대해서도 고민이 많았다. 아이템처럼 각각의 플레이어가 가지고있는 것만 표현해도 되는것이 있고, 신전 HP나 퀘스트 정보처럼 두 플레이어가 함께 공유하는 것이 있고, 플레이어 HP처럼 본인의 체력을 상대방 플레이어의 HUD에 띄워야 하는 경우도 있다.
지금까지 만든 UI가 그렇게 많지는 않지만 다 방법이 달랐다보니 어떤건 게임모드에서 설정하고 어떤건 플레이어에서 설정하고.. 뭔가 되게 중구난방 코드가 더러워졌다. 심지어 클라이언트가 접속할 때 게임모드에서 관리하는 정보를 가져오기 위해 PostLogin에서 타이머로 세팅하는 이상한 코드까지 등장했었음...... 내가 파악하기도 어려워진 더러운 코드들 때문에 팀원들 컴퓨터에서 게임이 펑펑 터졌었다.. 게임 로직도 아니고 UI때문에 터지는건 말이 안된다고 생각하구....
협업에 의해 일어날 모든 문제들을 염두에 두고 작업하는 것이 쉽지는 않겠지만, 적어도 '내가' 다시 일하게 되는건 막을 수 있도록 코드를 짜야겠다는 생각이 들었다. 기획이나 아트쪽에서 어떻게 작업하는지에 대해서도 감을 더 잡아야 할 것 같고, 협업에 관한 매뉴얼 만드는 것도 소홀히하지 않아야겠음.
그리고 팀원들끼리도 얘기한 거지만 매주 빌드데이를 만들어 빌드를 뽑아보고, 작업하고 있는 부분에서 어떤게 문제인지 미리미리 파악하고 해결해야겠다는 다짐을 했다.
게임에 대해 모르는 사람들이 플레이한다는 점을 계속 염두에 두어야 한다. Q/A의 중요함을 정말 많이 느꼈음. 아이템 획득이 가끔 안되어서 아이템이 계속 캐릭터 손을 따라가는 경우도 있었고, 솔루나 시프트 도중에 원하는 목적지로 가질 못해 계속 같은 자리에 둥둥 떠있는 경우도 있었다.
컨텐츠 구현이 큰 문제가 아닐수도 있겠다는 생각이 정말 많이 들고 있다. 시중에 나온 모든 게임들이 이런 문제들을 해결하기 위해 얼마나 많은 Q/A를 진행하고 있을까? 폴리싱에 얼마나 많은 시간이 들까?
이런 모든 것들을 느껴볼 수 있었기에 프로젝트의 중요성과 소중함을 깨닫는 것 같다. 회사에 들어가기 전에 아트, 기획, 프로그래밍이 한 공간에, 한 팀으로써 하나의 게임을 장기간에 걸쳐 개발할 수 있는 기회가 얼마나 될까?
가장 중요한건, 게임을 만들어가는 과정이 너무너무 즐겁고 재밌다. 물론 디버깅도 힘들고 구현하면서 어려운것도 많지만, 이런 모든 시간과 과정들을 거쳐 하나의 게임이 완성된다는게 너무 멋지단 생각이 들었다. 모두가 한 사람의 몫을 해내고, 그게 합쳐져 하나의 작품이 되는 것은 너무너무 멋진 일이다!
팀원들과 힘을 합쳐 모르겠는 문제를 찾아내고, 팀원이 어려워하는 문제를 내가 해결해주기도 하고, 그 과정에서 새로운걸 알아가고... 너무 값진 경험들이다 :)
매번 뽑을 빌드들이 기대된다. 얼마나 멋진 게임이 완성될까! 아무튼, 더 멋진 게임을 위해 다시 파이팅하는걸루!