KGC2008의 강연 정리는 연세디지털게임교육원 학생기자단이 작성하였습니다. 이에 따라 기존의 요약정리와 다소 다르거나 다소 부족한 점이 있더라도 개발자의 꿈을 가진 학생들의 열정을 높이 사서 이해해주시기 바랍니다. <디스이즈게임 편집자주>
▲강연자 정보 - NCsoft 리니지2 서버팀
▲강의 정보 온라인 게임 개발에서 발생할 수 있는 7 대 낭비를 살펴보고, 리니지2 팀과 다른 게임팀이 이를 어떻게 극복했는지를 실제 사례를 통해 살펴볼 것입니다. 그리고, Scrum과 UnitTest가 어떻게 팀에 도움이 되었는지를 확인하고 실제로 그 결과를 그래프를 통해서 분석해 볼 수 있는 자리가 될 것입니다. - KGC 홈페이지 발췌 |
학생기자단 = 양진혁(정리), 구관우(사진)
엔씨소프트의 박일 과장은 리니지 2의 개발 과정을 사례로 온라인 게임 개발에서 발생하는 7대 낭비와 그 극복방안에 대해 이야기 했다. 박일 과장은 온라인 게임 개발의 7대 낭비 사항으로 다음과 같은 내용을 꼽았다.
①과잉생산 : 불필요한 리소스의 제작으로 시간과 자원을 낭비하지 말라.
리니지의 파트2 업데이트인 그라시아에서 발생한 과잉생산 예방 사례를 소개. 초기에 구현하려 했던 복잡한 데미지 계산 공식을 배제하고 공중전 느낌을 살리는데 주력. 그 결과 더 적은 작업시간으로 더 좋은 결과물을 얻을 수 있었다고 하였다.
②대기 : 상호작용에 불필요한 장애물을 없애라
리니지2의 돌격 시스템 개발 과정을 예로 들어 설명. 작업의 단위를 최소화하여 개발팀 내에서 빠르게 피드백을 교환할 수 있었다고 이야기 했다.
③운반 : 정보 전달 과정중 불필요한 자료 손실을 막아라.
운반 과정 중 자료 손실을 최소화하기 위해 문서작성의 중요성을 강조. 또한 리니지2 개발팀을 예로 들며 팀원간의 편리한 자료 공유를 위해 위키사전과 IP폰 이용을 권장.
④과도한 공정, 부정확한 공정 : 오류가 난 것을 수정하기 보다는 오류를 방지하라.
선임자의 역할을 강조. 잘못된 작업을 미리 사전에 방지하여 오류 수정에 들어가는 비용을 최소화 할 수 있다고 주장.
⑤과잉재고 : 적은 재고관리 비용 때문에 과잉재고에 대한 경계심을 낮추지 말라.
⑥불필요한 동작 : 쓸데없는 작업의 반복으로 시간을 지체하지 말라.
⑦불량 : 품질관리팀(QA팀)과 협력하여 불량으로 인한 비용손실을 막아라.
리니지2의 공격과 스킬 시스템 테스트의 경우를 품질관리팀과의 협력 사례로 제시. 품질관리팀의 요구와 개발팀의 협조가 잘 이루어저 효과적으로 테스트를 마칠수 있었던 다양한 일화를 소개. 특히 단순반복 작업등의 경우 간단한 코딩만으로 작업시간을 크게 줄일 수 있었던 경험을 주로 이야기 하였다.
◆ 해법제시
게임의 버그를 효율적으로 처리할 수 있는 기술적인 방법으로 유닛테스트(UnitTest)를 언급했다. 유닛테스트란 소스 코드의 특정 모듈이 의도된 대로 정확히 작동하는지 검증하는 절차를 말한다. 강연에서 박일 과장은 리니지2 개발팀의 버그 관련 작업데이터를 통해 유닛테스트가 효율적인 작업 수단임을 이야기했다.
또한 스크럼(Scrum)기법의 활용을 통해 불필요하게 낭비되는 시간과 자원의 소모를 막을 수 있다고 말했다. 이어서 엔씨소프트에서 실제로 사용중인 다양한 스크럼 기법에 대한 간략한 소개가 있었다. 팀원들간의 정보 공유를 돕는스탠드업 미팅(Standup meeting), 팀원들간의 업무량을 파악하여 서로간의 협동을 돕는 백로그(Backlog)등을 예로 들었다.
강연을 마치며 박일 과장은 효율적인 제작 기법의 효과를 높이기 위해서는 팀원들의 결속력 또한 중요한 요소라고 강조했다. 특히 어떠한 기법이 효과를 거두려면 팀원들간의 신뢰와 커뮤니케이션에 문제가 없어야한다고 이야기하며 인적 자원의 중요성을 강조했다.