본문 바로가기

이것저것/이것저것 후기

NDC25 참관 후기 간단하게 남기기

(넥슨 개발자 콘퍼런스(NDC)를 참석한 후 남기는 후기입니다.)

 

개요

갔다온지는 이미 1달이 넘었지만 기억을 되짚을 겸 후기를 남겨보겠습니다

NDC 참관 신청이 열린 당일에 참석이 가능한 1일, 3일에 참관 신청을 했고 운좋게 1일, 3일에 모두 선정되어 다녀왔습니다.

 

장소는 판교의 경기창조혁신센터와 넥슨 본사 두 곳에서 진행되었습니다.

https://ndc.nexon.com/

 

NDC - NEXON DEVELOPERS CONFERENCE

 

ndc.nexon.com

자세한 행사 정보는 NDC사이트에서 확인 가능합니다.

 


Day1

 

 

입장하면 확인 후 NDC 쿠키와 팔찌를 지급해주셨습니다. 

 

첫날에는 넥슨의 이정헌 대표님의 환영사와 넥슨게임즈의 박용현 대표님의 키노트로 시작했습니다.

해외 게임들을 예로 들며 빅게임의 중요성에 대해 얘기하신게 기억에 남았습니다.

 

그 다음에는 엑소게임즈의 염의준 대표님이 AI가 나타난 이후의 개발자의 상황에 대해서 발표하셨습니다.

AI가 아닌 인간이 가지고 있는 장점인 3I에 대해서 설명하신게 기억에 남았네유


점심 휴식 시간

NDC는 기본적으로 컨퍼런스가 주인 행사이지만 중간중간에 참석자들이 즐길 수 있도록 여러 작은 행사들이 준비되어있었습니다.

 

 

 

점심에는 NECORD에서 준비한 버스킹을 감상할 수 있었습니다.

NECORD 사운드 팀장님이 직접 키보드를 연주하셨었네요 ㄷㄷ(사진에는 가려졌지만)

 

 

 

테이블에는 프라시아 전기 라벨이 붙은 헛개차를 마실 수 있도록 비치되어있었습니다.

그리고 본사 1층 중앙에 여러 게임 디렉터님들의 인터뷰를 볼 수 있었습니다.

https://www.youtube.com/watch?v=MKweTSb37HA&t=1s&ab_channel=NEXONTAG

youtube에서도 보실 수 있습니다!

 

 

그리고 여러 게임 음악을 감상할 수 있는 존도 있었습니다. 

게임을 해보지는 못했지만 바람의 나라 OST를 들으니 마음이 편안해지는 기분이었습니다.


 

난다 고래?

이후 쓰론앤리버티를 서비스하는 퍼스트파크 게임즈의 난다 고래? 움직이는 지형에 대해 들었습니다.

발표는 이재윤, 임재호 개발자님이 해주셨습니다. 서버, 클라의 기술 순서로 설명해주셨습니다.

기간트리테

TL(쓰론앤리버티)에는 지형이 움직이는 배틀캐리어와 기간트리테가 존재합니다.

 

배틀캐리어는 다대다 pvp시에 사용하는 움직이는 공성 병기이고, 기간트리테는 하늘에 떠다니는 거대한 고래 지형입니다.

 

배틀캐리어가 움직이는 것을 보면 "오 재밌겠다" 정도의 생각이 들지만 이것을 구현한다고 생각하면 굉장히 머리가 아픈 것이

배틀캐리어는 개별적으로 움직이면서 배틀캐리어에 탑승한 유저간 pvp가 가능하다는 것입니다.

 

이를 위해 배틀캐리어 탑승 전과 이후에 글로벌 좌표 <-> 로컬 좌표 변환이 필요합니다.

문제는, 외부에서 내부로 공격이 들어올 수도 있고, 내부에서 외부로 밀쳐낼 수도 있으며 이러한 과정이 예측할 수 없이 반복되며 멀티스레드 환경에서 동작한다는 것이죠 또한 당연히 서버 검증도 필요합니다.

 

액터모델을 통해서 이러한 문제를 해결했다고 기억이 나는데 나중에 영상이 올라온다면 다시 봐야겠습니다.

 

기간트리테는 TL의 랜드마크 같은 존재를 목적으로 기획되었다고 했습니다. 

이로인해 굉장이 많은 애니메이션과 이펙트 등이 들어가며 거대해서 관측 범위가 넓기 때문에 동기화의 범위 설정이 중요했다고 기억합니다.

 

따라서 기간트리테의 애니메이션 등은 클라이언트에서 개별 재생하고 서버는 실제로 기본 모션만을 저장하고 동기화했다고 합니다.

다만 여기서 문제는 고래는 날개를 펄럭이며 날아다니는데 서버는 기본 모션의 위치만을 가지고 있기 때문에 충돌 처리를 위해서는 역시나 좌표변환이 클라 -> 서버 / 서버 -> 클라를 거치며 일어나야했다는 것입니다.

 

직접 이런 것을 만든다고 생각하면 정말 머리 깨지겠네요 ㄷㄷ


블루아카이브는 어떻게 3D배경 2.5명으로 론칭가능 했나?

그 다음 타임에는 프로그래밍 관련 세션이 없어 게임을 해보지는 않았지만 친숙한 블루아카이브 배경작업 세션을 들었습니다.

최진우 개발자님이 발표해주셨습니다

강연에서 언급하신 마코토

개발비화 등을 들으면서 블루아카이브 팀은 정말 게임을 사랑한다는 느낌이 들었습니다

손맵으로 2.5명이서 작업했지만 표준 근로시간을 준수했다 라는 말이 기억에 남네요ㅋㅋㅋ


그 다음으로는 퍼스트 디센던트 무점검 패치 시스템에 대해서 들었지만 개인적으로는 어려워서 나중에 영상 올라오면 다시 봐야겠다 라는 생각이 들었었습니다.


Day3

MMO 서버 태스크 그래프를 활용한 멀티스레드 아키텍쳐

넥슨게임즈의 DX studio에서 윤정빈 테크니컬 디렉터님이 발표해주셨습니다.

Project DX는 예전에 넥슨에서 서비스했던 듀랑고 IP를 통해 만드는 게임입니다.

이전의 듀랑고는 출시 당시에 엄청난 자유도로 인기가 많았지만 서버의 문제로 인해 섭종을 했다고 알려져있는데 그만큼 새로운 듀랑고의 서버 개발에 대해 고심을 하셨을 것 같습니다.

 

Project DX는 MMORPG로 개발중이라고 합니다.

일반적으로 MMO는 많은 유저를 수용하기 위해 멀티스레드 아키텍처를 사용하지만

스레드 동기화를 위해 락을 사용하고 race condition이 발생하면 병목현상이 생깁니다.

 

이러한 한계를 넘기 위해 태스크 기반 병렬화를 사용해보는 것에 대해 얘기하셨습니다.

 

정적인 태스크 그래프, 동적인 태스크 그래프와 District, Section을 나눠 처리하는 것에 대해서도 설명하셨습니다.

 

이또한 저한테는 어렵게 느껴졌지만 이후 더 공부해볼만한 흥미가 생겼습니다.


새로운 언어 개발부터 VS Code 확장

넥슨의 이동현 개발자님이 발표해주셨습니다.

 

메이플스토리 월드는 메이플 등의 IP를 사용해서 게임을 제작할 수 있는 일종의 플랫폼입니다.

현재도 많이 플레이되는 메이플랜드, 그리고 다른 여러 클래식 게임 등을 플레이 할 수 있습니다.

 

개발자님은 이곳에서 mLua라는 언어를 만들고 이를 VS Code와 연동하는 작업을 하셨습니다.

 

메이플 월드에서는 스크립트와 lua를 사용했는데 이는 여러 불편함을 내재하고 있어 외부 프로그램을 지원하는 mLua라는 언어를 만들게 되었다고 합니다. 

 

해당 언어를 외부에서 지원하고 개발자에게 편의성을 제공하기 위해서는(마치 인텔리센스) 언어 서버의 개발이 필연적이었다고 했습니다.

 

형태소 분석기능 등 여러 기능을 1년 정도의 기간동안 단 혼자서 개발했다고 하는데 진짜 개발자의 광기(좋은뜻)가 느껴졌네요


이후에는 관심있는 프로그래밍 세션이 없어서 가볍게 들었습니다.

이벤트에 참여하니 데이브와 핑크빈 키링을 받게 되었습니다!!

 

 

좋은 추억을 가지고 가네요

감사합니다 넥슨