프로그래머의 입장에서 게임 개발이 어려운 이유는 게임이 갖는 다음 2가지 요소가 서로 상충하기 때문입니다.
1. 게임은 소프트웨어 제품(software product)이다.
2. 게임은 엔터테인먼트 제품(entertainment product)이다.
이 2가지 요소는 서로에게 모순을 가져다 줍니다.
컴퓨터 개론 책을 펼쳐보면 입력된 데이터를 처리하여 어떤 결과물로 출력하는 것을 프로그램이라고 정의합니다. 게임이든 개인사용자용 응용프로그램이든 은행전산망이든 입력이 있으면 이를 처리하는 논리(프로그램)를 거쳐 어떤 형태로든 출력이 이루어지게 됩니다. 이것은 모든 소프트웨어 제품이 가진 특징입니다. 특정한 입력에 대하여 출력이 있는거죠. 은행전산망 같은 경우에는 워낙 방대한 입력이 일어나고 다양한 출력을 필요로 하다보니 개발이 복잡해지죠. 게임은 앞에서 예로든 은행전산망만큼 복잡도가 높지는 않지만 입력과 출력이 계속 변한다는게 문제가 됩니다. 왜냐하면 엔터테인먼트 제품이기 때문이죠. 애초에 기획한 게임이 얼마나 재미있을지 정확히 가늠할수가 없기 때문에 만들면서 테스트가 이루어지고, 또 중간에 기획이 변경됩니다. 그러면 프로그램이 처리해야 할 입력과 출력도 같이 변경됩니다.
일부 게임프로그래머들이 자신들이 하는 작업이 SI에서 하는 작업보다 훨씬 어려운 작업이라고 생각하는걸 보아왔는데, 제 생각은 좀 다릅니다. 다른 특징을 가졌을뿐 뭐가 더 어렵고 뭐가 더 쉽다고 할 수 있는건 아닌것 같습니다. SI쪽에서는 복잡도가 높은 작업을 하고, 게임쪽에서는 비정형적인 작업을 하기 때문에 작업의 속성 자체가 다릅니다. 그러므로 SI에서는 man/month라는 단위로 업무의 양을 측정할 수 있지만 게임에서는 이게 잘 안됩니다. 일반적인 소프트웨어 공학 이론이나 관리 방법론이 게임쪽에서 잘 안 먹히는 것도 이런 이유에서죠. 입출력이 계속 바뀌는 비정형적인 프로그램을 만드는데 정형적인 프로그램을 잘 만드는 방법을 적용한들 그게 먹히겠습니까.
게임 산업이란 과연 소프트웨어 산업인지 엔터테인먼트 산업인지 ㅠㅠ
답글삭제