Blog

클라이언트 개발은 마치 오픈 월드의 게임 같은 매력이 있죠! – 직무인터뷰 포코포코팀 카야, 클레이턴

 

유저에게 보여지는 게임의 화면은 어떻게 개발되었을까요?

포코포코팀 카야와 클레이턴의 인터뷰를 통해 트리노드 클라이언트 개발 이야기와 팀 내 문화에 대해 들어보았습니다.


 

 

 

먼저 자기소개 부탁드립니다.

[카야] 안녕하세요, 포코포코팀에서 클라이언트 개발을 맡고 있는 카야입니다. 현재 게임 프로그래밍으로 8년 차 개발자이고 트리노드에는 2년 전에 합류하게 되었습니다.

[클레이턴] 안녕하세요, 저는 2018년에 트리노드에 입사하여 햇수로 3년째 트리노드 포코포코팀에서 프로그래밍을 하고 있는 클레이턴입니다.

 

 

트리노드에는 어떻게 합류하게 되셨나요?

[카야] 저는 게임 개발자로 입문한지 얼마 되지 않은 후부터 포코팡이 워낙 유명했기에 트리노드에 대해 인지하게 되었습니다. 기존에는 RPG, 턴제 RPG, 사천성 등을 개발하였는데 퍼즐게임을 워낙 좋아해서 퍼즐게임에 특화되어 있는 트리노드에 관심을 갖게 되었습니다. 아무래도 좋아하는 장르를 개발해보고 싶었기에 함께하고 싶었고 여러 차례 문을 두드린 결과, 좋은 기회로 합류하게 되었습니다.

 

[클레이턴] 입사하기 전부터 포코포코라는 게임을 즐겨 했었고, 포코포코 특유의 난이도와 디테일을 좋아했기에 게임 개발자로 진로를 정하고 나서 이왕이면 내가 좋아하는 게임 개발사에 일해보고 싶어 트리노드에 지원하게 되었습니다. 면접 때에 기존에 제가 플레이했던 경험을 바탕으로 특징적인 부분과 관심 있게 봤던 부분을 설명한 것이 어느 정도 어필이 되지 않았나 싶습니다.

 

원래부터 포코포코를 좋아했다는 클레이턴의 노트북은 서울디자인페어에서 친구한테 부탁해서 샀다는 포코타의 캐릭터로 도배되어 있었습니다.

 

 

두 분 다 트리노드를 통해 부산으로 거주 이동을 하셨다고 들었습니다.

[카야] 와이프가 임신을 했을 때에 이직을 하게 되었는데 처가가 부산이다 보니까 부담 없이 부산에 올 수 있었습니다. 희망했던 회사이기도 했고 회사에서 정착 지원 이사비같이 거주 이동을 하는 사람을 위한 정책도 잘 되어있어 더욱 부담 없이 이사를 결정했습니다. 타이밍이 좋아 아이 출산 시기도 봄방학 (*트리노드에는 연차 소진 없는 전 직원 봄방학, 겨울방학이 존재)에 맞출 수 있어 여유롭게 아빠 노릇을 할 수 있었습니다. 지금은 아이를 키우는 데에 처가가 부산이라 와이프가 더욱 좋아하고 있습니다.

 

[클레이턴] 타지에서 부산으로 올 경우 기숙사 지원이 된다고 하여 부담 없이 올 수 있었습니다. 번잡스러운 것을 좋아하지 않는 성격이라 수도권의 어디를 가도 항상 붐비는 것이 싫었는데 부산은 대중교통에서도 번잡스럽지 않고 도시 자체에 여유로움이 많아 제 성향에 잘 맞아 이젠 진짜 정착을 위해 알아보는 중입니다.

 

 

현재 담당하시는 업무에 대해 조금 더 설명해 주세요.

[카야] 저는 포코포코 라이브 서비스에서 업데이트와 기믹(*지난 레벨디자인 직무 인터뷰 참고)과 관련하여 개선이나 새로운 기믹을 추가하는 작업을 주로 개발하고 있습니다.

[클레이턴] 저도 동일하게 클라이언트에서 라이브 서비스 업데이트 개발과 이슈 대응을 하면서 단기로 진행되는 선행 개발을 맡고 있습니다.

 

 

‘선행 개발 업무’라는 것이 어떤 것인가요?

[카야] 포코포코는 라이브 서비스이기에 새로운 콘텐츠를 만들 때에 자칫해서 기존 콘텐츠와 충돌이 난다거나 예상치 못한 상황이 발생할 경우 유저에게도 직결되어 보이기에 문제가 커질 수 있습니다. 이러한 상황을 사전에 방지하고자 선행 개발을 통해 바로 라이브에 붙이지 않고 별도로 구현하여 이슈에 대해 파악하며 작업하는 것입니다. 유저들에게 좀 더 안정적인 업데이트를 제공하기 위해 만들어진 보이지 않는 한 단계라고 생각하시면 될 것 같습니다.

 

 

클라이언트 개발자는 게임에서 어떤 역할을 하고 있나요?

[카야] 클라이언트 개발자는 게임에서 실제로 유저에게 보이는 모든 것을 개발하는 역할을 담당합니다. 화면에서 보이는 UI를 구성한다거나 캐릭터가 움직인다거나 누르면 반응하는 등 보이는 모든 것이 클라이언트의 개발입니다. 기획자와 디자이너가 요구하는 사양에 맞추어 유저에게 보여주고 행동할 수 있도록 만들어 내는 것이라고도 할 수 있습니다.

 

 

카야는 인터뷰 내내 환한 웃음으로 인터뷰 자리를 한결 더 부드럽게 해주었습니다.

 

 

포코포코 클라이언트의 특징적인 것은 어떤 것이 있나요?

[클레이턴] 기본적으로 포코포코는 유니티 엔진을 기반으로 개발되었고 C# 언어를 쓰고 있습니다. 특징적인 부분이라면 블록의 움직임과 섬세함이라 생각합니다. 블록의 움직임이 통통 튀는 듯하면서 다이내믹한 움직임으로 구현되어 있고 블록의 흐름도 보통의 퍼즐게임과는 다르게 구현되어 있습니다. 비어있는 영역에 대해 블록이 좌우에서 흐르듯이 내려오도록 되어있는데 이 흐름으로 레벨디자인을 통해 재미요소를 극대화해주기도 합니다. 이런 섬세한 디테일이 포코포코 클라이언트의 특징입니다.

 

[카야] 플레이를 하다 보면 유저의 시선이 집중되지 않는 곳에서도 디테일을 확인할 수 있습니다. 사이드 영역에서 무언가 애니메이션으로 움직이고 있다거나 이펙트가 보인다거나 하는 부분이 있어 플레이를 하면서 시야를 넓게 보고 이런 디테일 요소를 찾아보는 것이 또 하나의 재미입니다.

 

 

클라이언트 개발에서 어떤 부분이 중요하다 생각하세요?

[카야] 무엇보다 프로젝트 담당자들 간의 소통이 가장 중요하다고 생각합니다. PD가 원하는 방향이나 모습, 세부 사양까지도 소통하면서 개발하는 것이 중요합니다. 소통이 잘못되었다면 최악의 상황에는 개발을 다 뒤집고 처음부터 해야 하는 경우가 생기기도 하고, 설계가 잘못되어 구조가 잘못 짜였다면 서비스의 생명력과 직결되기도 합니다.

 

[클레이턴] 저희는 특히 라이브 되고 있는 서비스를 하고 있다 보니 새로운 것을 개발하더라도 기존 콘텐츠와의 연관성과 상관성에 대해 신경을 쓰는 것도 중요합니다. 유저에게 새로운 것을 제공하고자 기능을 추가했지만 그로 인해 기존 기능에 오류가 발생한다거나 충돌을 낼 수도 있어 오히려 악영향을 줄 수도 있습니다. 이전 기능과의 연관성에 대해 꼼꼼하게 체크하는 것이 라이브 클라이언트 개발자의 기본 숙제입니다.

 

 

개인적으로 개발을 비롯한 업무를 할 때에 중요하게 생각하는 것은 어떤 것일까요?

[카야] 개발할 때에 코드가 중복되지 않게 하는 것을 중시합니다. 게임이 여럿의 협업을 통해 만들어 내는 결과물이기에 누군가가 제 코드를 볼 때에 상대방이 쉽게 이해하고 읽기 편해야 한다고 생각합니다. 기본적인 네임 규칙을 잘 지키고 제 작업물을 누가 이어서 하더라도 잘 알아볼 수 있게 만드는 것이 중요하다 생각하기에 특히나 중복되는 코드는 지양하고 있습니다.

 

[클레이턴] 저는 여러 포지션 간 협업을 할 때에 서로의 입장에서 이해할 수 있도록 소통하는 자세가 중요하다 생각합니다. 예를 들자면 기획자와 디자이너와 커뮤니케이션할 때에 그들이 개발 용어를 100% 이해하기는 쉽지 않습니다. 무언가 문제가 생겼을 때 전문적인 개발 용어로 설명하기 보다 서로의 입장에서 이해하기 쉬운 용어로 대치하고 와닿을 수 있는 설명으로 풀어서 소통하려는 자세가 필요합니다. 특히 기획에서 생각하는 것이 그대로 구현되기 어려운 경우도 있기에 무조건 안된다는 것보다 이러한 소통으로 지향점을 찾는 것도 중요합니다.

 

 

개발하면서 힘들거나 어려운 것은 어떤 것이 있을까요?

[카야] 저희가 개발하는 것이 아닌 외부 요소를 사용하는, 예를 들어 엔진이나 SDK 등을 적용하였을 때 해당 요소들이 업데이트되면서 예상치 못한 상황이 발생할 때가 어려운 부분입니다.

 

[클레이턴] 우리 개발의 이슈라면 문제에 대해 좀 더 빠르게 확인하고 대처가 가능하지만 외부의 문제라면 원인을 찾기도 어렵고 당장 그 외부에서 대응을 안 해주는 경우도 있어 난감했던 적도 있었습니다. 최근에는 스마트폰 디스플레이의 형태가 접히고, 듀얼이 되는 등 다양해지면서 어느 단말까지 지원해야 할지 선택하는 것이 어렵기도 합니다.

 

 

클라이언트 개발의 매력은 무엇일까요?

[카야] 클라이언트 개발은 마치 개발이라는 오픈 월드의 게임 같습니다. 게임에서 내가 조정하는 데로 캐릭터가 움직이고 원하는 방향으로 이동하면서 퀘스트를 이어 나가듯, 내가 원하는 데로 구현하며 자기가 만드는 것을 모두 컨트롤할 수 있다는 것이 매력적입니다. 이 모든 것이 바로 눈에 보이는 결과물이 되고 상상만 하던 어려운 것을 현실로 만들어 냈을 때의 성취감이 단연 매력적인 직군입니다.

 

 

클라이언트 개발을 꿈꾸는 누군가에게 조언해 준다면 어떤 것이 있을까요?

[카야] 클라이언트는 끊임없이 배워야 하는 직군입니다. 현재의 개발 트렌드를 서치하고 어떤 기술들이 사용되고 있는지 파악하는 것도 중요하지만 기술이 실시간으로 변화하고 있기에 끊임없이 배울 자세가 되어야 합니다.

‘기본기’라 불리는 테크트리, C, C++ 언어에 대한 이해도도 중요합니다. 최근에는 워낙 엔진에서 많은 부분을 제공하고 있지만 기본기를 놓치면 예상치 못한 이슈의 원인 파악이나 디테일하게 문제를 살펴야 할 때 어려울 수 있습니다. 공학 과정을 전공하지 않았다면 기본기에 대한 것을 해당 전공에서 어떤 커리큘럼으로 배우는지를 살펴보고 그중 부족한 것을 공부하는 것도 방법입니다. 개발을 배우는 초기 단계라면 게임 엔진에서 제공하는 api 문서를 확인해 보는 것도 실력 향상에 도움이 된다 추천드리고 싶습니다.

 

 

 

 

계속 변화하는 시대에 개인적으로는 어떻게 대응하고 계시나요?

[카야] 새로운 기술에 대한 트렌드 검색은 항상 하고 있고, ‘토이 프로젝트’라고 저만의 장난감 프로젝트, 즉 연습용 프로젝트를 만들어 새로운 기술을 찾았을 때 적용해보기도 하고 테스트해보기도 합니다. 예를 들자면 UniRx(Reactive Extensions for Unity의 약자)를 통해 Reactive Programming을 할 수 있는데 이것을 MVP 패턴을 사용해 적용해 보기도 하고 Addressable Asset System을 프로젝트에 도입해 보기도 하였습니다. 그 과정에서 실제 포코포코에 적용할 수 있는지를 고민하기도 하고요. 저희는 서버 프로그래머분들과 협업하다 보니 좀 더 원활한 커뮤니케이션을 위해 서버사이드 언어를 학습하고도 있습니다. 개인적으로 지식은 다른 사람과 공유하는 것이 중요하다고 생각하기에 Github를 활용하여 기술 블로그도 운영 중입니다. 포스팅을 하며 제가 잘 알고 있는 부분도 한 번 더 정리할 수 있고, 남에게 공유할 수도 있으며 모르는 것은 그 공유를 하며 발견할 수도 있고 누군가의 조언을 얻을 수도 있다고 생각하기에 다른 개발자분들께도 기술 블로그 운영을 추천하고 싶습니다.

 

[클레이턴] 포코포코팀 내에서는 개발 사내 스터디가 활발히 이루어지는 편인데요, 요즘은 go 언어를 이용해 서버 API를 직접 구현해보기도 하고 클라이언트와 연동해서 서버 작업을 진행해보는 스터디를 진행하고 있습니다. 유니티 개발 툴의 최신 정보 등은 항상 관심 있게 지켜보고 있고요.

 

 

팀 내에서 스터디를 한다고 하셨는데 또 다른 포코포코팀만의 문화는 어떤 것이 있을까요?

[클레이턴] 팀 내에 ‘월간 친목회’라는 이벤트를 운영하고 있습니다. 팀에 인원이 많다 보니 교류가 자주 없는 팀원들도 있기에 월 단위로 같은 주제에 관심 있는 사람들끼리 소수로 그룹을 지어 다양하게 소통을 즐기는 자리를 마련합니다. 주제는 매월 바뀌고 있고 사전에 그룹을 지을 수 있는 여러 가지를 서치해서 매번 다른 사람들끼리 모일 수 있도록 주제를 선정하고 주제 속 같은 선택지를 선호하는 사람들끼리 같은 그룹이 됩니다. 가장 최근에는 학창 시절 좋아하는 과목이라는 주제로 좋아하는 과목이 겹치는 사람들끼리 소그룹이 되어 함께 이야기를 나누는 자리를 가졌습니다. 이런 자리에서는 업무 외적인 이야기도 하고 공통으로 같은 것을 선택하였다는 것이기에 그 주제로 이야기를 이어가기도 하며 팀워크를 다집니다.

 

[카야] 앞서 클레이턴이 얘기한 것처럼 개발자들끼리는 스터디도 하지만 금요일마다 아침 티타임을 갖기도 합니다. 보통 티타임에서는 일상적인 얘기도 하고 서로의 근황도 확인하면서 자연스레 신기술이나 업계 동향도 나누고 신작 게임에 대한 분석을 공유하기도 합니다. 티타임에 주제가 정해져 있는 것이 아니기에 자연스레 관심사를 공유하는 리프레시 하는 자리입니다.

 

 

2021년의 포코포코 클라이언트 주요 이슈는 어떤 것일까요?

[카야] 내년에는 클라이언트 많은 부분이 바뀔 예정입니다. 노후화된 코드를 지속적인 서비스가 가능하고 유지 보수가 더욱 편해지도록 개편할 계획입니다. 특히 적용된 유니티의 시스템 중 호환성이 떨어지거나 신규 버전이 나오지 않는 것들을 대체할 수 있는 진보된 시스템으로 교체할 예정입니다.

 

[클레이턴] 서비스를 지속하면서 처음 포코포코를 만들 때 기획되지 않았던 시스템이나 아이템들이 생겨나며 하드코딩 된 부분이 어느 정도 존재하는데, 이러한 부분을 깔끔히 다시 설계하는 작업을 진행할 계획입니다.

 

 

트리노드에서 이루고 싶은 것이 있다면 어떤 것이 있을까요?

[카야] 포코포코가 계속해서 유저들에게 새로운 경험을 줄 수 있도록 하는 것이 목표입니다.

[클레이턴] 포코포코가 제게는 인생게임인 만큼 이곳에서 5년, 10년, 15년 장기근속 혜택을 받으며 오래 함께하고 싶습니다.

[카야] 저도 트리노드와 오랫동안 함께 하고 싶습니다. 사무실에서 광안대교도 보이고 바다도 보이는 데다가 책상도 넓고 의자도 허먼밀러 의자로 사무 환경이 너무 좋습니다. 부산이 진짜 살기 좋은 도시여서 이 인터뷰를 보고 누군가 입사 지원을 고민한다면 저희 팀원분들 모두 좋은 분들이고, 팀에 입사하게 되신다면 친절하게 가르쳐 드릴 자신이 있으니 고민 말고 지원하시라 얘기하고 싶습니다!

 

 

목록
scroll bottom scroll top
POKOPANG is only available in Japan. POKOPANG TOWN is only available in Japan. Popup Close