업계에 몸담은지 6년 조금 넘은 현직자임
NC, 넥슨, 컴투스, 크래프톤 다녔거나 다니고있음 인증은 이전 글중에 했음(현재 인증 삭제)
이전 글에서 다니는곳 본사람은 비밀로해주세요. 사내 메신저가 왔어요..

본 글은 스마게를 쉴드치려는 의도가 전혀 없습니다.
본 글은 필자의 경험을 토대로 작성되었으며 스마게 내부 사정과는 다를 수 있습니다.
본 글은 억까보단 명확하게 요구하자라는 취지입니다.
Ex) 스마게가 팔 한쪽이 없긴한데 양 다리까지 없는 것처럼 까지말자, 팔 한쪽 붙이라고 요구하자는 취지


ㅡㅡㅡㅡ

게임회사의 구조

게임회사는 크게 개발팀과 비개발팀으로 나눌 수 가 있다.

개발팀 내부도 일반회사처럼 직책이 있다. 다만 직급은 없는곳이 많다. 일부 회사에서는 없다곤 하나, 사실상 다르게 부르는 정도 이기도 하다.

넥슨의 경우 p1,p2,d1, 컴투스는 사원 대리라는 직급 자체가 있다. 넷마블 NC는 직급 자체가 없다
그래서 호칭이 oo님이다. 허나 보이지 않는 직급은 당연히 존재한다.

보통 5년차를 기준으로 시니어로 보는 경향이 매우 높다.(일반 회사 과장이라고 보면된다)
또한 3년차부터는 기획자 기준 장르 이직이 '불가능'하다.(아예 불가능한건 아니다만 경력인정이 안된다)

다만 비개발팀은 다르다.

여기는 직급 자체를 부르는 경우가 매우 많다.
인사팀, 운영팀, 사업부, 플랫폼개발실, 법무팀 등등이 이 비개발팀에 속한다.

따라서 비개발팀은 각각의 부서 실장이 개발팀의 디렉터와 동등한 위치에 존재한다.
그리고 본부장(이사)은 그 위에 있다고 보면된다.

보통 본부장은 게임 디렉터, 사업실장 둘중 하나로 결정되는 경우가 많다.

ㅡㅡㅡ
하나의 게임 개발팀 안에서도 크게 3가지 분류로 나눌 수 있다.

1. 기획자
2. 개발자
3. 아트

기획자는 다시 시스템, 컨텐츠, 밸런스로 나뉜다.
개발자는 클라이언트 개발자, 서버 개발자
아트는 원화, UI, 3D모델링, 애니메이션, 연출 등등으로 나뉜다.

보통 자사 게임을 안하는 대부분은 아트 파트다.
아트쪽은 자사 게임을 거의 하지 않는 쪽이 많다.

그래서 아트쪽은 회사마다 아예 따로 부서가 있는 경우도 있고, 외주나 파견형태로 일하는 회사도 많은편이다.
다만 로스트아크와 같은 대규모RPG장르에서는 전담 아트가 따로있다.

아트는 유저입장에서 그렇게 중요한 요소는 아니니 여기선 따로 다루지 않고 추후에 기회가 되면 다뤄보겠다.


개발자는 보통 게임을 하시는분 절반, 안하시는분 절반으로 구성되어있다.
여기서도 안한다는 말이 아예 안한다는게 아니고 딥하게 하지 않는다고 보면된다.(Ex)1640~1680 수준)

기획자는 반드시 무조건 게임을 한다.(1720이상)
애초에 면접부터 기획자는 게임을 얼마나했는지, 우리 게임에 얼마나 많은 시간을 투자했고 얼마나 알고 있는지를 파악해야 한다.

개발자는 코딩테스트, 아트는 원화 포트폴리오로 판단할 수 있지만 기획자는 포트폴리오도 물론 중요하지만 요즘은 학원에서 찍어내듯이 뽑는 경우가 많아서 실제로 우리 게임을 얼마나 아냐가 중요하다.(+학력이 중요하다)

그래서 내가 여태까지 회사를 다니면서 본 기획자 중에 겜안분은 진짜 단 한명도 없었다.(소홀한 사람은 있었다)


아무튼 본문으로 돌아오자면 이 개발팀의 대가리, 즉 이 개발팀 모두를 이끄는게 디렉터다.
근데 여기서 빠진게 있다.

사업부다. 사업부 역시 게임마다 전담 팀이 존재한다.
다만 이 사업부의 대가리는 사업실장이지, 디렉터가 아니다.

사업부는 보통 신규 BM, 개발된 컨텐츠의 가격(보석 변환 컨텐츠라면 보석변환 가격)등을 산정하고 이걸 기획자(경제밸런스)과 협의하여 디렉터에게 보고한다.

위에 말했듯이 디렉터 = 사업실장은 거의 같은 직책이다. 회사마다 힘이 좀 더 쎈 라인이 있을 순 있어도 직책상 큰 차이가 없다. 디렉터가 줄이고 싶어도 사업부는 사업실장의 허락을 구해야하고, 사업실장은 판단에 의거하여 줄이지 않을 수 있다.

사업부는 보통 Product Life Cycle, 줄여서 PLC라고 부르는 상품수명이란걸 제일 먼저 짜게 된다.
예를들어 하르둠 뇌옥을 기반으로 PLC를 계산하게되면 상재 40을 오픈하는데 필요한 뇌옥은 180개 클리어시 주는 뇌옥이 18개임으로 PLC는 간단하게 10주라고 볼 수 있다.

물론 더보기, 경매에 따라 달라지겠지만 보통 이 PLC는 BM과 관련하여 짓는 경우가 많다
예를들어 캐릭터 뽑기 게임이라면 모든 과금을 한 사람(깡다이아 제외)이 확률 상 최고등급 캐릭터를 모두 모으기전에 새로운 캐릭터를 만들어야만한다.

위 유저가 최고등급 캐릭터를 모두 모으게되면 그게 PLC가 끝나는 시점, 즉 할게없는 유저의 이탈(혹은 과금 멈춤)로 이어지기 때문이다.

따라서 사업부가 결정한것에 대해 디렉터가 본인이 원하는대로 영향력을 끼치기 어렵다.(짬이 밀릴수록 더 심하다)

보통 게임은 매년 목표치의 매출액이 있는데 작년 기준 110%, 120%등등 위에서 정해준다(본부장라인, 혹은 그 이상에서 정한다)

그래서 매출액을 채우기 위해 설날패키지를 1월1일부터 파는게 아니고 12월 25일부터 팔아재끼는거다.
2025년 12월25일부터 12월30일까지 판 패키지는 2025년 매출액으로 잡히기 때문이다.

이걸 달성하는게 사업부의 실적이고 업무평가이기 때문에 사업부 입장에선 최대한 많은 돈을 벌기위해 BM을 만든다. 그러는 와중에도 PLC는 항상 지키려한다.

ㅡㅡㅡㅡㅡㅡ

그렇다면 왜 편의성 조차 늦게 패치할까?

그건 로스트아크가 생각보다 너무 많이 커버렸기때문이다.
정확히는 중간에 구조가 변경된게 매우 컸다.

보통 개발자들은 최초에 코드를 짤때 해당 ID에 대한 명칭을 정해둔다.
예를들어서 공격력+무기공격력 = Attack과 같이 내가 불러올 코드에 대해 미리 정해둔다고 보면된다.

최초 로스트아크는 레이드 지향 게임이 아니였던것으로 안다.(필자가 이 부분은 잘 모른다. 시즌1을 안해봣다)
정확히는 레이드는 존재했으나 수평으로 획득할 수 있는것들이 현재보다 많았고, 수평이 반강제되는 형태였던것으로 들었다.(아니면 제보해달라)

군단장시점부터 본격적으로 레이드 원툴게임으로 변경되었으며 이 후부터 수평에서 강화등에 필요한 재화를 주는게 아닌 필수가 아닌 형태로 변경되었다.

바로 이 과정이 코드가 꼬이게된 근본적인 원인이라고 생각한다.
최초 게임 구조 상 시즌2를 기획하고 만들지 않는다.

다만 시즌1->시즌2 즉, 레이드 원툴게임으로 넘어가며, 성장 방식에 대한 대대적인 변경이 이루어졌고, 현재의 로스트아크가 탄생했다.

개발자들은 시즌1의 잔재를 유지하며, 시즌2를 새롭게 만들어야했고 각각의 코드를 불러오는 과정에서 일명 스파게티 코드형태로 코드가 구성되었을 확률이 높다.

두번째로 언리얼3 자체의 문제가 있다.
언리얼3와 언리얼4의 대표적인 차이점은 블루프린트 기능이다.
이 블루프린트는 노드를 각각 만들어 이벤트를 구현하는 방식인데, 자세히 설명하면 너무 복잡하고 간단히 말하면 NPC와 대화시도 -> 탈것에서 내림 -> 대화 -> 종료 형태의 코딩을 노드에 저장하여 불러오는 방식이다.

언리얼3도 블루프린트같은 키즈멧이라는게 있다.

둘의 차이점은 키즈멧은 개별적 동작 프로세스가 없으나, 블루프린트는 가능하다는것이다.
비개발자분들은 이해하기 어려우니 위의 예시를 통해 간단하게 설명하겠다.

키즈멧으로 노드를 구성하면 이렇게 저장된다.

A노드 : NPC와 대화 시도 시, 탈것에서 내리고 대화를 진행한다, 종료 시 해당 노드에서 나온다.

블루프린트는 다음과 같이 저장된다.

A노드 : NPC와 대화 시도 시, 탈것에서 내린다. B노드로 이동한다.
B노드 : NPC와 대화를 진행한다. C노드로 이동한다.
C노드 : 대화 종료 버튼 클릭 시 해당 노드에서 나온다.

이렇게 하나의 액터에서도 동작을 세분화해서 나눌 수 있다는게 키즈멧과 블루프린트의 대표적인 차이점이다.
그래서 이 NPC와 대화 시도 시 탈것에서 내리지않고 대화를 이어간다를 수정하기 위해서는, 키즈멧은 노드 전체를 손봐야하지만, 블루프린트는 A노드를 삭제하고, B노드부터 시작하면된다.

수정의 품 자체가 언리얼3가 훨씬 많이들고, 게임이 오래될수록, 중간에 변경점이 많을수록 참조해야하는것도, 확인해야하는것도 매우매우 많아진다.

그럼 야근이라도 해야되는거아님?

맞다 야근을 해야한다. 아주 씨발럼들이다. 물론 어느정도 제약이 있긴하다.
제일 처음 비개발팀을 언급했을때 부서중에 플랫폼 개발실이라는 부서가 보이나?

보통 자체클라이언트를 사용하는 회사는 전부 플랫폼 개발실이 존재하고, 이게 스마게에서는 Stove를 만들고 유지보수하는곳이라고 보면된다.

보통 개발팀에서 개발이 완료되고 QA 검수를 진행하기위해서는 이 Stove(자체클라) Test서버로 넘겨야한다. 쉽게 빌드를 뽑는다고 많이 표현한다.

개발서버에서 체크하는것과 실제 빌드를 뽑아서 테스트하는게 완전히 다르기 때문이다.
그리고 이 과정에서 가장 많은 버그가 발생한다.(개발서버에서 정상인게 Test서버에서 안되거나, Test에서 정상인게 Live서버에서 안되는 버그들)

서버를 각기 따로 들고있어야하기 때문에 개발자입장에선 그냥 자연재해와 같다. 예상할수없다고 보면된다.
특히 Test -> Live넘어갈때 오류가 발생하면 그냥 답이 없다. 매번 패치를 5시간~6시간안에 Live로 넘겨야하는데 6시간안에 모든 코드를 다 확인하는건 어느 누가 와도 못한다고 보면된다.

그래서 보통 Live로 넘어가는 경우에는 기본기능만 빠르게 체크하고, 업데이트된 내역만 체크하는 경우가 많다. 그러다 버그가 발견이 되면, 원인파악을 하고 수정을 진행하며, 다시 개발->test->Live로 진행을 하게된다.

이런 경우가 많이 발생하게되면 연장점검 등이 발생하게 되는 원리다.
정해진 점검시간이 길다는건 그만큼 꼼꼼히 보는거다.. 너무 뭐라하진 말아줬음 좋겠다

아무튼 이 Test로 올리는 과정에서 저 플랫폼개발실의 도움이 꼭 필요하다.
모바일 게임을 기준으로는 빌드를 뽑아서 구글,애플에 검수를 받아야한다.(애플은 2~3일이나 걸린다)

근데 플랫폼 개발실은 비개발팀으로 디렉터와 아무 상관이 없다.
독립적인 부서이며, 로스트아크만 존재하는게 아니고 모든게임이 다 플랫폼안에 들어있기때문에 따로 사정을 봐주기도 어렵다.

로스트아크와 플랫폼끼리 코드가 부딪혀 수정을 진행해야해도, 무조건 로스트아크쪽이 수정을 해야한다. 플랫폼에서는 다른게임을 서비스 중이기 때문에 서버를 내려서 수정할 수 없다.

로스트아크팀이 야근을해서 개발을 해도 개발서버 테스트가 아닌 Test서버 테스트가 안된다.(QA테스트)
플랫폼팀은 로아팀이 야근하든 말든 가버리기때문이다.


ㅡㅡㅡㅡ
다음으로는 개발시간에 대한 문제다.

로아는 개인적으로 업데이트를 너무 자주하려한다.
보통 게임은 한달마다 큰 업데이트를 하는게 좋다.(개발자 입장이다)

위에 개발->QA->Live 형태로 넘어가는 방식을 보게되면 이해할 수 있다.

A,B,C,D를 개발->QA->Live로 넘어가는게, A를 먼저 개발->QA->Live, 이후에 B를 개발->QA->Live 이렇게 넘기는것보다 훨씬 빨리 끝난다.

예를들어 카멘을 만들었다고보면, 검멘 테스트, 말멘 테스트, 지파 테스트, 지하 테스트보다 모두 만들어놓고 한번에 넘기는게 QA도 훨씬 편하고 버그 발생확률, 업무량 자체가 훨씬 줄어든다.

허나 매주 업데이트는 이러한 작업시간이 나오지 않는다.

Stove 검수 방식을 자세히 모르니 모바일을 예시로 들어보겠다.
모바일게임 업데이트가 수요일이라고 가정하자.

그러면 보통 월요일까지 빌드가 완료되어 검수가 넘어가야한다.(애플 2~3일소요)
검수를 넘기고 QA를 진행하는게 일반적이며, QA간 문제가 발생하면 마이너한 이슈는 다음 수정으로 미루고, 메이저한건 리젝하고 수정 후 다시 빌드를 진행한다.(알고있는 문제라도 마이너하다면 수정안하는 경우가 있다는거다)

그럼 보통 금요일까지 작업을 완료해야한다.

위에 말했듯이 수요일이 업데이트기 때문에 목요일부터 작업시작을 많이하게된다.
보통 업데이트날은 긴급패치 사항이 있는지 Live에서 게임을 같이하며 확인하는편이다.

그래서 매주 업데이트가 있다면 실질적 개발 작업 시간은 2일뿐이라는 이야기가 된다.
하지만 주말에 일하면 해결가능이긴하다. 노조가 있다면 좀 힘들다
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

글이 길어져서 2편으로 다시 오겠슴니다.
현직자 입장에서 현재의 문제점 발생원인 -> 스마게만의 문제점 -> 해결방법에 대해 써보려합니다!
중간중간 월루하며 작업해서 같은 문단도 작성한 시간대가 달라 좀 이상해보일 수 있습니다.
이해좀