스타트업 게임회사 생활 1년

Kim Ju Young·2023년 7월 9일
0

회고록

목록 보기
11/13

개요

이번달 25일 자로 게임 회사에서 1년을 보내게 된다. 1년동안 무엇을 느끼고 배웠는지 나름대로 기록하기 위해 이번 글을 작성한다.

입사

입사하면서부터 과잠바 같은 잠바와 캐릭터 장패드를 받았었다.
drawing
입사하자마자 자리로 들어가는 동안 아트분들 책상이나 컴퓨터 본체 위에 피규어가 잔뜩 있는 것을 보게되었다. 거기서부터 이미 일본풍 RPG 를 좋아한다는 회사의 방향성을 볼 수 있었던 것 같다. 회사의 탕비실에는 만화책도 꽤 많았다. 쉬는 시간마다 틈틈이 탐색한 결과 거기서 메이드인 어비스라는 만화책을 보게 되었고 내 최애를 정할 수 있었다.
drawing
그래서 나도 예쁘게 책상을 꾸며놓았다. (헤헷)

여러 사람과 친해지다

종합예술로 불리고 싶어하는(?) 게임에는 역시 여러 분야가 합쳐지는 것을 느꼈다. 회사를 다니다보니 게임 사운드 디자이너, 배경 모델러, 캐릭터 원화가, 기획자, 게임 클라이언트 동료들과도 친해졌다.

특히, 게임 기획자 집단과 매우 친해지게 되었는데 게임을 너무 좋아해서 그런가? 매일매일 게임을 같이하며 말이 통하는 사람들과 함께 하루하루 너무 즐겁게 보내고 있다.

기획자 뿐만 아니라 많이 친해진 사운드 디자이너 한 분은 고등학교 친구 중 사운드 디자이너를 지망하는 아이와 같이 카페에서 대화를 가지게 하고(!) 옆에서 같이 들으며 뿌듯함을 느끼기도 하였다. 아트는 전문대 출신들도 꽤 있었고 클라는 쥬신과 같은 게임 학원 출신들이 많다는 걸 알게되었다.

같은 또래와도 이야기하며 높은 꿈을 가진 이야기에 놀라기도 했다. 역시 계획은 일찍부터 세우고 이뤄가는게 좋다는 생각을 하게 되었다.

게임 서버는 어느 때 시작해도 늦지 않다

서버는 꽤 연차가 있는 사람들이 많기로 알고 있었고 내가 입사했을 당시에도 내 위에 25년, 5년이상 경력이 있으신 분들이었다. 하지만, 역시 어느 업계나 굉장히 빠른 사람들이 있다. 평소에도 다른 사람 블로그를 자주 보는 편이고 현재도 지속적으로 보고 있는데 최근 본 블로그 글은 4년차 게임 서버 프로그래머의 회고 이것인데 산업목무요원으로 20살 때부터 일하신 분이었다.

개인적으로 insooo님의 2022년 회고까지보면서 책도 많이 보시는 것에 자극을 받았다.

나도 얼마전에 책을 사게 되었는데, 해당 책도 읽고 다른 책도 읽으면 좋겠다는 생각이 들었다.
drawing
근데 어자피 인문학책이라면 만화책을 좋아하니까 만화책을 살까 고민된다. :)

프로카데미 29기 등록

게임서버로 계속 일하며 C++ 서버를 개발하다보니 인터넷 강의 뿐만 아니라 오프라인 강의를 듣고 싶다는 마음이 생겼다. 그러다보니 게임서버로 유명한 프로카데미를 알게 되었고, 7월 10일, 즉 내일부터 개강하는 과정에 등록하였다.

월수금 12:30 ~ 2:30, 1년 과정인데 회사와 병행하려면 어떻게 해야할까 굉장히 고민했다. 나름대로 전략을 세웠고 그걸 대표님께 말씀드려 허락을 받아냈다. 협상의 대가로 받아낸 좋은 성공 경험이었고 지금은 학원을 열심히 다녀야겠다는 일념 뿐이다.

학원 졸업 후에는 경력 2년, 게임 서버 학원 졸업이라는 좋은 결과를 이끌어 낼 것 같다.

기억나는 일들

메일 복사버그

메일 복사버그 같은 경우는 어린이날 전날에 터졌었는데 식은 땀이 났던 버그이다. 사건의 전말은 다음과 같다.

예약메일 시스템을 만들었는데, 웹서버에서 예약메일을 등록한 후, 싱글턴 타이머로 해당 시간이 되면 해당 테이블에서 Row 삭제 후 게임 DB 에 메일을 삽입해주는 형태였다.

하지만, 타이머 한 Tick 에 2~3만명에게 메일을 보내게 되었는데, List 형태로 로그 작성할 것을 저장해놨다가 Elastic Search 로 Batch 도 아니고 단일 메세지로 보낸게 화근이었다.

.NET 의 NEST 라이브러리로 Index 단일로 보내게 되면 1분당 3천개 밖에 보내지 못한다. 그래서 2만개 정도의 로그를 남기기 위해선 5분 정도 해당 스레드가 로그 남기는데만 전념한다. 그동안 타이머는 다시 돌게 되고 이미 게임메일을 발송한 예약메일을 삭제 못한 채로 리스트를 긁어와서 사단이 나게 되었다.

지금 생각해보면 총제적인 문제점이 있었는데,

  • NEST 는 Index, IndexMany 를 지원하는데 IndexMany 를 쓰면 된다.
  • 그보다 더 근본적인 문제는 타이머가 이전 쓰레드가 끝나기 전에 한번 더 돌면 안된다.

.NET Timer 클래스 그래서 닷넷 타이머에는 AutoReset 이라는 멤버변수가 있어 해당 항목을 False 해줘야 해당 스레드가 끝날 때 다시 타이머를 켜주는 식으로 할 수 있었다. 정말 문제 해결을 위해 매우 진담 뺐던 기억이 있어서 생각하기 싫지만 다음은 이런 실수는 없다라는 경험을 가질 수 있었다.

어린이날 새벽 2시까지 남아있었는데 후... 그래도 문제가 있던 당일 내에 겨우 해결할 수 있었다.

리더로서 가져야할 점

리더 : 앞으로 뭘하고 싶어요?
(3개월 차) 나 : DBA 하고 싶은 마음이 있어요. 게임 서버도 해보고 싶구요.
리더 : ?? 뭔가 이상한데... DBA 가 뭔지 제대로 알고 말하는 거에요?
나 : ?? (뭐가 이상하지?)

지금 생각해보면 왜 저렇게 이야기 했을까 생각이 든다. 나는 게임 서버로 취업을 했고, 서버 개발자는 DBA와 크게 관련이 없었다. 지금 나는 게임 서버로 완벽하게 생각을 굳혔다.

하지만 분명, 저 대화를 통해 내가 앞으로 무엇을 해야하는지 정확히 생각을 정할 수 있었다. 현재 저 대화를 해준 리더는 떠났지만 구성원이 미래에 무엇을 할지 생각하게 도와주는 것. 그것 또한 리더가 할 수 있는 은혜라는 생각이 들었다.

마치며

스타트업에서 1년. 분명 일도 많았지만 많은 사람들과 친해지며 사람 관계에서도 배우게 된게 있다. 성공 경험도 쌓게 되고 너무나도 즐거운 1년이었다. 앞으로도 즐거운 게임 회사 생활 되길 기원하며 계속 생활해 나가고 싶다. 회고록으로는 2023년 회고록으로 다시 만나게 될텐데 이제 남은 6개월 가량의 시간도 무언가 얻어갈게 많으면 좋겠다.

profile
호호선생

0개의 댓글