안녕하세요, 감자입니다.

글을 작성하신 분의 허락을 받지는 못 했지만,
팡야의 서버 프로그래밍 파트를 맡으셨던 분의 일기같은 글인데, 너무 힘들어 보여서 일부만 퍼왔습니다.
(문제가 된다면 학규님이 글을 지워주시길 바랍니다.)

팡야를 재밌게 하셨던 분들은 그냥 한번쯤 읽고 마음속으로 응원이라도 한번쯤 해주시길 바랍니다.

==============================================================================================
오늘로써 2주일간의 클로우즈베타1차가 끝이 났다.

지금 내 상태는 어떠냐구?

몸도 마음도 이미 지칠때로 지쳐버렸음.... 일주일동안 밥은 거의 한두끼 정도 먹었음..
먹은것도 없는 상태에서 헛구역질만 계속하고...
오늘 아침 사우나에 가서 몸무게를 재어보니.. 4kg이  줄었더군.

5일만에 4kg...... 정말 원치도 않은 다이어트에는 성공했군.

아직 밥을 조금 먹기만 해도 잠시후 화장실에 가서 구토를 하면서 다 토해 내고 만다.
후... 물만 마시면서 거의 일주일을 버텼다.

정말 힘든 2주간이었다. 아침 10시부터 저녁 11시까지 모니터링 하고.. 디버깅하고...
아침 8시부터 다시 오픈 준비하고....

난 스트레스를 받으면 밥을 먹지 못한다. 그리고 무조건 구토를 한다.
물이 아닌것만 먹어도 곧 바로 속이 매스꺼워진다.

오픈이 시작되고 차가운 수면실에서 새우잠을 자다가 감기에 걸렸는데..
편히 쉴 시간도 없어서 약국에 가서 감기약을 사서 쌍화탕과 함께 먹으면서 버텼는데..  그때부터 몸이 망가진것 같다.

베타 테스트 중간에 서버에 갑작스런 문제가 생겨서 정말 지옥까지 갔었다.

해법은 3일동안 보이지 않고... 3일간 회사에서 꼼짝않고 있다가 이러다 쓰러질것같아서 새벽12시쯤에 집에 들어갔는데...
잠을 자다 다시 악몽을 꿔서 새벽5시에 회사로 돌아와서 컴퓨터 앞에 앉자서 다시 디버깅에 들어갔다.

혼자서 싸늘한 회사 사무실에서 게임을 만들면서... 울고 싶었다.

당장의 문제점은 고쳐진다해도 앞으로 이런식으로 작업을 하다가는 분명 문제가 생길것 이라는 확신때문에 일을 하면서도 앞이 막막했다.

더욱이 힘들었던것은 이 모든게 내 책임이라는 죄책감때문이었다.

애초부터  설계를 너무 성능에 촛점을 맞추었기때문에 충분한 테스트가 불충분했던것들.

그리고  소스를 공유하기에는 너무나도 어려운 인터페이스....
거의 일년간을 준비한 서버 설계가 한순간에 무너지니 정말 미쳐버릴것만 같았다.

더욱이 나를 더욱 안타깝게 만드는것은 팀원들의 오픈에 대한 행복해 하는 모습들이었다.
그런 팀원들에게 실망감을 줄지도 모르는다는 생각에 더욱이 나에 대한 실망감은 더욱 더 커져갔다.

'죽기 아니면 까무러 치기다' 라는 생각으로 이미 지쳐버린 몸 상태로 2틀간 밤을 새어가면서 모든 소스를 처음부터 끝까지 리뷰하면서 팀원들이 안전하게 코딩할수 있도록 인터페이스를 바꾸었다.

다음날 떨리는 마음으로 서버를 다시 가동시켰는데 잘 작동하던것 같았던 서버가 8시간만에 멈춰버렸다.
또 다시 LOCK에 걸린것 이었다.

완전히 지칠때로 지쳐버린 상태에서 그때 느낀 심정이란 정말 펑펑 울고 싶은 심정이었다.
문제점을 다시 찾아보니.. 누군가 작성해놓은 소스에 문제점이 있음을 알았다.

베타 종료일 5일전.. 시간은 없고.. 분명 단순히 설계를 검토하는 수준으로는 이 난국을 헤쳐나갈수 없다는 판단이 들었다.

근데.. 계속 되는 구토와 수면 부족 그리고 감기때문에 몸과 머리가 더이상 도와주지 않았다.

완전히 몸이 망가졌음을 느꼈을때 매형과 통화를 했다.
너무도 착한 우리 매형의 격려의 목소리를 듣곤 다시 힘을 내서 자리를 돌아와서 소스를 다시 살펴보았다.

우선 생각을 바꿔서 근본적인 문제점부터 다시 파악해보기 시작했다.
그래서 우선 소스의 양을 체크해보았다.

서버 소스와 네트워크 엔진 소스를 모두 포함하니 3만 6천라인 !

'이젠 벼랑끝이구나....'

월요일 새벽 5시 혼자서 컴퓨터 앞에서 느낀 심정은 정말 ...후...
베타 종료 수요일까지 2틀남은 시점이었다.

다음날 아침 프로그래머 회의를 자청해서 회의를 했다.
현재의 문제점과 앞으로 발생할수 있는 문제점에 대해서 설명해주었다.

'현재 잘 돌고 있는 서버는 지금은 괜찮아도 나중에 또 다시 누군가의 코딩 실수만으로도 언제든지 문제 발생을 할 수 있습니다.'라고 솔직하게 다 말해버렸다.

근데 너무나도 착한 우리 팀원들은 꼭 문제점이 해결될꺼라면서 격려해주었다.
아..정말 그 순간은 영화속에서나 느껴볼수 있는 가슴 찡한 순간이었다.

그리고 다시 검토한뒤 작성된 서버를 다시 가동시켜보았다.
역시나 문제점이 발견되었다.

근데 왠지 그 순간에는 별로 실망하지 않았다.
서버가 다시 문제를 발생시키는 것을 보자마자. 난 아무런 두려움없이 결단을 내려버렸다.

[서버 설계 완전 재수정이다!]

프로그래밍 해본 사람아니면 이게 얼마나 미친짓인지 모르겠지만 난 아무런 두려움없이 전면 재수정을 선택했다.

그렇게 할수 있었던 이유가 그날 팀원들에게 너무 감동을 먹어서 더이상 포기할수 없었다.

문제는 락이었다. 최대한 성능을 낸답시고 락이라는 것을 사용했는데...
멀티쓰레드 프로그래밍에 익숙하지 못한 분들에게 락은 익숙치 못하기 때문에 여러 사람이 같이 프로그래밍 하다보면 문제될 소지가 많았다.

그래서 상위 레벨에서는 락은 아예 걱정하지 않고 하위 레벨에서 다 알아서 처리해주는 방식으로 서버를 전면적으로 수정했다.

엔진 교체와 설계 변경과 컴파일까지 모두 바꾸기로 했는데.... 시간이 얼마나 걸렸냐면..... ^.^;

2시간 걸렸다.!!!

거참 완전 교체를 끝내고 보니... 저녁 7시에 작업들어갔는데 9시쯤에 끝나더군.
절대로 불가능 할줄 알았던 일이었는데... 2시간만에 되더군.

그 순간 그냥 따뜻한 마음만으로도 한 사람한테 얼마나 큰 힘이 되는지 정말 가슴 찡하게 느꼈었다.
감기 걸린것도 다 잊어버리고 미친듯이 키보드 두들기면서 도전해봤는데. 되더라구...

5일동안 혼자서 힘들게 디버깅하고 걱정할땐 정말 힘들고 많이 슬펐는데...

......

암틈 그 이후로 문제점은 사라지고... 서버는 다소 안정적이 되었구..
클베는 끝이 났음...
==============================================================================================


이 분의 심정을 일반 게이머라면 "힘들었나보다"라고 생각하실테고 프로그래밍을 전공하신 분이라면  좀더 구체적으로 공감하실 꺼라고 생각합니다.

분명히 지금 이 시간에도 게임회사에서 열심히 근무하시는 분들이 많이 계시겠지요.

힘내세요.

한사람의 게이머 입장에서 제가 해드릴 수 있는 말은 이것뿐입니다.

게임을 즐겁게 즐기는 유저의 웃는 얼굴을 위해서 열심히 노력하신다는 것을.. 저는 믿어 의심치 않습니다.




-PS-
개인적으로 게임업계에서 스트레스를 엄청 받는 파트가 직접 사람을 상대하는 운영팀이라고 생각했는데..
프로그래머도 굉장히 스트레스를 많이 받는군요.

하긴.. 저도 예전에 제가 코딩했었던 간단한 프로그래밍에서 버그를 못 찾아서 디버그를 못 할때는 짜증나더군요..