어려운 상황은 최선의 결과와 연결되지 않는다

지난주 제 TL에 흘러간 이야기 중에는 온갖 어려운 상황에서 개발한 무용담이 있었습니다. 밸리데이터가 없어 데이터를 만든 다음 서버와 클라이언트를 새로 띄우고 테스트상황까지 진입해서 테스트해보니 뭔가 잘못돼서 이 모든 작업을 처음부터 다시하기를 반복하며 끝없는 초과근무 끝에 간신히 업데이트 전까지 맞출 수 있었다는 이야기도 있었습니다. 물론 그 결과는 운영사고 또는 컨텐츠의 실패로 이어졌고요. 다른 사례로는 엄청 복잡한 스킬 데이터를 서로 연결된 열개쯤 되는 엑셀에 열어놓고 능수능란하게 전환해가며 데이터를 입력한 다음 클라이언트에서 확인해야 하는데 이번에는 클라이언트에서 데이터 리로딩과 테스트레벨 리셋을 지원하지 않아 항상 테스트환경을 조성하는데 시간을 보내야만 했다는 이야기도 있었습니다. 또 다른 이야기에는 데이터 컨버팅에 시간이 많이 걸려서 컨버팅 돌려놓고 담배 피우러 나갔다 오기를 밤새도록 반복했다는 것이었는데 파일 하나만 컨버팅하면 되는데 모든 데이터를 항상 컨버팅했기 때문에 중간중간에 많은 시간이 걸렸지만 이번에는 엔지니어들이 너무나도 바빠서 반복적으로 소모되는 시간을 줄여줄 여유가 없었고 그럼에도 불구하고 문제를 해결해냈다는 것이었습니다.

짧게 결론 내려 드립니다. 전부 다 쓰레기같은 상황이고 절대로 그래선 안됩니다. 저런 상황을 개선할 수 없다면 도망치는게 낫습니다. 우리들의 무용담은 일어나서도 안되고 반복되어서도 안되며 무용담으로 전해져도 안됩니다. 이건 게임디자인과 아무 관계도 없고 상황에 따른 의도적인 태업일 뿐이며 상황을 개선할 의지나 지능이 부족하다는 표현일 뿐입니다.

개선할 수 있는 비효율 속에서 사람을 갈아넣어 간신히 업데이트 시간에 맞춘 구성요소가 그저 문제없이 동작하는 것 이외에 가지는 의미는 없습니다. 고객들에게 아무렇게나 간신히 시간에 맞춰 그저 구동하는 수준으로 입력한 데이터로 돌아가는 그저그런 구성요소를 투척하고 고객들이 어떻게 플레이하든지말든지 관심없는 자세를 고수하는 것에 불과합니다. 작업을 하면서 뭔가 잘못됐음을 민감하게 느낄 수 있어야 하고 뭘 고치면 작업을 더 빨리, 작업 자체에 집중하며 수행할 수 있을지 제안할 수 있어야 합니다. 물론 엔지니어들이 바쁠 수 있지만 그들의 비교적 작은 시간단위와 디자이너들의 비교적 큰 시간단위를 교환할 수 있음을 설득할 수도 있어야 합니다. 단순한 무용담은 이 모든 노력을 손쉽게 무의미하게 만들고 재미를 고민하는 대신에 그저 주어진 상황에서 시간을 쥐어짜며 그저 구동되기만 하는 형편없는 결과물을 만들어낼 뿐입니다.