[NDC] '모바일 MMO RPG 로열 블러드' 사례로 본 "복잡한 이벤트 시스템 구현 Behavior tree 패턴으로 한방에 해결하기
NDC 넥슨 · YouTube
AI 핵심 요약
로열 블러드의 필드 이벤트는 조건과 액션, 분기, NPC 스폰 등이 얽혀 있고 요구사항도 바뀌어 유지보수와 디버깅 비용이 커질 수 있었다. 이를 줄이기 위해 AI에서 쓰던 행동 트리의 시퀀스·셀렉터 구조를 이벤트 시스템에 적용하고, 폴링과 메시지 기반 이벤트 처리를 함께 지원하도록 구성했다. 데이터가 복잡해지는 문제에는 트리를 페이지로 나누고 FSM으로 전환을 관리하는 방식을 더했으며, 실제 콘텐츠가 늘어나는 과정에서도 큰 구조 변경 없이 활용했다. 행동 트리는 유연한 이벤트 흐름을 적은 구현으로 표현하는 선택지지만, 최적화 수준과 데이터 검증은 콘텐츠 규모와 팀 환경에 맞춰 조정해야 한다.
- 행동 트리의 시퀀스·셀렉터 노드를 활용하면 순차 진행과 분기를 별도 로직으로 많이 구현하지 않고 조합할 수 있다.
- 조건을 매 프레임 확인하는 폴링과 메시지 기반 이벤트 처리를 함께 두면, 주기적 확인이 필요한 동작과 즉시 반응할 동작을 구분할 수 있다.
- 이벤트 데이터가 커지면 페이지 단위로 트리를 나누고 FSM으로 페이지 전환을 관리해 탐색·디버깅 부담을 낮출 수 있다.
- 노드 간 데이터 의존성은 기획 데이터 오류로 이어질 수 있으므로, 데이터 검증과 기획·개발 간 협업을 설계에 포함해야 한다.
소개
NDC 2018 ['모바일 MMO RPG 로열 블러드' 사례로 본 "복잡한 이벤트 시스템 구현 Behavior tree 패턴으로 한방에 해결하기] 세션 공유드립니다. 상세 내용은 NDC Replay 홈페이지를 참고 부탁드려요. 😊 1. 발표자 성함 : 김준형 2. 발표자 소개 : 현재 게임빌에서 모바일 MMO RPG 로열 블러드 프로젝트의 서버 프로그래머로써 월드 컨텐츠 파트장을 담당하고 있습니다. 로열 블러드의 다이나믹 이벤트,각종 주기성 컨텐츠 및 NPC 스폰과 같은 필드 컨텐츠 개발에 관련된 전반적인 업무를 수행하고 있습니다. 이전에는 블루홀 W 프로젝트에서 NPC AI 개발 담당과 웹젠 뮤 스튜디오에서 뮤 온라인 글로벌 서버 담당 역활에 해 왔습니다. 그 밖에 서버 사이드 관련된 다양한 세미나 활동을 해 오면서 최근에 실용적 예제 및 사례,그리고 게임 프로그래밍 패턴 활용에 많은 관심을 가지게 되었습니다. 그래서 금번 프로젝트에서 상대적으로 AI외에 활용 사...
비슷한 학습 자료
컨퍼런스 NDC
[NDC] 〈달빛조각사〉 엘릭서를 이용한 MMORPG 서버 개발
컨퍼런스 NDC
NDC 2019 [〈달빛조각사〉 엘릭서를 이용한 MMORPG 서버 개발] 세션 공유드립니다. 상세 내용은 NDC Replay 홈페이지를 참고 부탁드려요. 😊 1. 발표자 성함 : 김민욱 2. 발표자 소개 : 현재 엑스엘게임즈 달빛조각사 프로젝트에서 서버개발을 담당하고 있으며, 주로 구조 개선, 리팩토링, 최적화에 관련된 업무를 수행하고 있습니다. 이소프넷에서 건담 G-Generation for PC와 디지몬 카드 배틀과 같은 PC 패키지 로컬라이제이션과 묵향 온라인 개발, 웹젠에서 썬온라인, 넥슨에서 M2, 리로디드 스튜디오에서 더데이온라인, 엑스엘게임즈에서 문명 온라인을 차례로 개발해왔습니다. 이번 발표에서는 엑스엘게임즈에서 `엘릭서`라는 언어를 이용해서 달빛조각사라는 MMORPG 서버를 만들고 있으며 그 경험에 대해 이야기하고자 합니다. 3. 세션 소개 : 아직까지 많은 게임 서버는 C++/C# 과 같은 객체지향언어로 개발되고 있습니다. 저도 마찬가지로 C++를...
백엔드 프로그래밍 언어
컨퍼런스 NDC
NDC 2019 유니티 ECS & Job System 분석 및 적용 - 타일 맵 기반 게임 적용 사례 세션 공유드립니다. 상세 내용은 NDC Replay 홈페이지를 참고 부탁드려요. 😊 1. 발표자 성함 : 함동기 2. 발표자 소개 : 유니티로 모바일 시뮬레이션 게임을 만들고 있습니다. 이전에는 도미네이션즈 중국 런칭 및 라이브 업무를 담당했습니다. NDC 14에서 Cocos2d-x 관련 내용으로 발표를 했고 같은 주제로 책을 쓰기도 했습니다. 3. 세션 소개 : 유니티의 새로운 개발 패러다임인 ECS(Entity Component System)와 C# Job System의 개념과 활용 방법, 개발 중인 프로젝트에 적용한 사례를 다룹니다. 현재 타일 맵 기반의 시뮬레이션 게임을 개발하고 있습니다. 게임 특성상 플레이 중 비슷한 타입의 오브젝트들이 무수히 생성되어 움직이고 또 사라집니다. 기존의 유니티 개발 방식으로는 원하는 퍼포먼스를 얻기 힘들었습니다. 이에 기존 코드를...
프로그래밍 언어 게임 프로그래밍
컨퍼런스 NDC
NDC 2018 [개발 자동화와 그 적들 - '블레이드 2' 및 다른 사례들 소개] 세션 공유드립니다. 상세 내용은 NDC Replay 홈페이지를 참고 부탁드려요. 😊 1. 발표자 성함 : 최우성 2. 발표자 소개 : 16 년차 개발자. 프로그래머와 프로젝트 관리자와 AI 관련 업무를 오가며 게임 업계에 서식하고 있다. 현재는 블레이드2 에서 서버 프로그래밍 및 개발 생산성 향상을 위한 작업들을 하고 있다. 그 이전에는 블레이드 앤 소울, 로스트 사가, 다함께 차차차2, 불멸의 전사 등을 PM이나 프로그래머로서 개발 했다. 그리고 소개한 프로젝트 보다 더 많은 수의 빛을 보지 못한 프로젝트들에도 참여 했었다. 3. 세션 소개 : 개발환경이 발전하고 프로젝트들의 사이클이 짧아지면서, 개인 및 팀의 생산성은 또다른 키워드가 되고 있습니다. 특히 모바일 시대에 도래하면서 이런 현상은 더욱 가속화되어가고 있는 상황입니다. 블레이드 2 (서버)를 개발하면서 신경 썼던 부분 중 하...
데브옵스 · 인프라 개발 도구
컨퍼런스 NDC
[NDC] 서버 개발 생산성 향상을 위한 ORM 구현 경험 공유
컨퍼런스 NDC
NDC 2018 [서버 개발 생산성 향상을 위한 ORM 구현 경험 공유] 세션 공유드립니다. 상세 내용은 NDC Replay 홈페이지를 참고 부탁드려요. 😊 1. 발표자 성함 : 남승현 2. 발표자 소개 : 현재 아이펀팩토리에서 아이펀엔진을 개발하고 있으며, 주로 네트워크, ORM, 분산처리 기능을 담당하고 있습니다. 이전에는 넥슨 신기술개발실에서 게임서버엔진을 개발에 참여했었으며, 조이맥스 플랫폼본부에서 미들웨어 서버 및 P2P 관련 개발을 수행했었습니다. NDC 발표를 통해 게임서버 개발 생산성 향상을 위한 ORM 개발 경험을 공유하고자 합니다. 3. 세션 소개 : 게임서버 개발시 ORM 이 어떻게 쓰일 수 있는지에 대해 소개하고 상용 게임서버 엔진의 ORM 을 개발하며 얻은 경험을 발표하려 합니다. 구현에 대해 코드 수준으로 자세히 설명하지는 않지만 최대한 전체 구현에 대해 이해하실 수 있도록 설명드리려 합니다. ORM 을 이용하여 단순히 DB 읽고 쓰기 코드를 줄이...
백엔드 데이터베이스
컨퍼런스 NDC
NDC 2018 [Don't Get Bored - 오래해도 재미있는 게임을 만들기 위한 '메이플스토리'의 시도들] 세션 공유드립니다. 상세 내용은 NDC Replay 홈페이지를 참고 부탁드려요. 😊 1. 발표자 성함 : 김창섭 2. 발표자 소개 : 현재 넥슨코리아 국내 메이플스토리 프로젝트에서 기획자로 근무하고 있습니다. 2014년부터 메이플스토리의 시스템, 컨텐츠, 이벤트 등 다양한 분야에서 기획 및 구현 업무를 진행하였습니다. 3. 세션 소개 : 이번 발표에서는 MMORPG에서 성장경험을 설계함에 있어 필연적으로 동반되는 '반복경험’에 대한 단상과, 유의미한 반복경험 설계방법에 대한 고민을 '메이플 유니온', '다이나믹 필드', '컨텐츠형 이벤트' 제작 경험에 기반하여 공유코자 합니다. 15년간 서비스된 '메이플스토리'에서 재미있는 반복경험을 제공하는 일은 가장 중요한 과제 중 하나였습니다. 약 4년의 시간 동안 프로젝트 구성원들과 함께 고민하며 내놓은 부끄러운 해...
게임 기획