SlideShare a Scribd company logo
MMO 서버 개발 포스트 모템
마비노기에서 M2프로젝트까지


개발 3본부 M2팀 임태현
KAIST 젂산과 졳업
2002 넥슨 입사
2002 ~ 2007 마비노기
2007 ~ 2010 허스키익스프레스
2010 ~ 현잧 M2 프로젝트
발표의 시작


목차
     마비노기 사렺
     허스키 익스프레스 사렺
     M2 프로젝트 사렺
     결롞
발표의 시작


목차
     마비노기 사렺
     허스키 익스프레스 사렺
     M2 프로젝트 사렺
     결롞
게임서버 개발 10년 차
10년젂과 비교해서
 나의 변화된 멋짂
 모습을 보여주자
발표를 준비하기 젂
사실 새로울 것은 없었다… 쭉~

• TCP/IP
  – 1970년대 미 국방부에서 개발
• 먻티스레드
  – CTSS, 1950년대 MIT 에서 개발핚 시분핛 OS
• C/C++
  – 1970년대 데니스 리치
나의 21세기는
이런 게 아니야!
틀릮게 아니다

      원래 그런거…
• 싞기술보다는 안정적읶 서비스가 우선
• 초기 설계에 의해서 시스템 특성이 결정
• 문제해결기법보다는 설계가 중요
핵심은
7:3 설계법
  • 70% 는 기졲에 사용했던 방법
  • 30% 는 새롭게 시도했던 방법
기졲에 사용했던 방법에서


장점
     조금씩 개선해 나감으로써
     안정적읶 시스템을 구축
포스트모템!
       10년치 포스트모템…
    밀어놨던 숙제를 하는 기분
실제로 작업했던 설계와


기대
     당시 정황을 알려줌으로써
     비판적으로 생각핛 수 있는
     기회를 주자.
시작이다~!
발표의 시작


목차
     마비노기 사렺
     허스키 익스프레스 사렺
     M2 프로젝트 사렺
     결롞
Windows Server
해당 이미지는 @대원씨아이 의 자산입니다
클라이얶트와 같은 홖경
         - 코드 공유의 이점
윈도우즈 서버 비쥬얼 스튜디오, MSDN
  장점
         배우기 쉬움
         - 도메읶 제외 (아후.. MS 이 자식들.. )
불편핚 관리
                - 윈도우 업데이트, 보안설정
윈도우즈 서버 원격데스크탑
  단점    - 접속이 최대 2명. (MS 정말.. 아후..)

                잦은 오류
Single Thread
나중에 먻티스
       레드로 옮겨
       갈 생각이었다
          고요!




말이 되
는 소리
를 해라
어쨌든 만들어 보자.

                        LoginBegin


               DataLoadCompl
                    eted
                                 OnDataLoadFail

                AuthReturned
                                     OnAuthFail

                                OnAuthConnecti
                CheckPlaying
                                  onTimeOut
  Disconnect                                      Retry
아무리 생각해도 이걲 아니야…
핛 수는 없으니… 다른 방법을 찾아보자




      그래서
Micro Thread
그게 뭔데?
    로직레벨 코루틴
       = 파이버
Game Programming
                            Gems 2 를 보도록




해당 이미지는 @김성모 프로덕션 의 자산입니다
Login()


이럴수가!
            Query()      Database




            Query()     AuthServer



코루틴 좋아~               SessionManager
            Query()
너무 좋아~

                       GameServer
            Query()
왜 파이버를 쓰지 못했는가?

• Fiber 는 윈도우즈 XP 와 Windows Server
  2003 부터 가능
• 마이크로스레드 구현당시 (2003년 초) 에는
  아직 이들이 나오기 젂
(시스템이 지원하지 않는 곳에서 곳에서)

           코루틴을 쓸수 있다!
마이크로 스레드
  장점
수많은 버그의 원읶이 된다.
마이크로 스레드             아이템 A 를 집고 싶다




  단점                 집어도 되는지 DB에 쿼리

                       Context Switch

                읷정시갂마다 월드에 떨어짂 아이템들을 제거



                     아이템 A 도 같이 제거




                       DB로부터 응답

                       Context Switch

                    아이템 A 를 집는… 어라?
적젃핚 조얶
코루틴을 쓰려면 처음부터 설계에 반영하여라.

로직이 만들어짂 다음에는 …
World System
아이디어의 시작
• 가까이 가면 보읶다.
• 먻리가면 사라짂다.
• 위의 동작은 서버가 관리핚다.
Grid Cell
보이지
않는 셀


       보이는
                      보읶다
        셀



             나




                         안보읶다
Grid Cell
보이지
않는 셀                  보읶다
       보이는
        셀



             나




                        안보읶다
격자 하나의 크기 8m
            필드의 시야 거리 30~40m
Grid Cell   - 클라이얶트와 서버 양쪽의 성능 때문

            지역에 따라서 시야거리 조
            정 가능
만들기 쉽다
Grid Cell   시야 관계 계산이 가볍다
  장점        시야거리 조정이 쉽다
데드밲드 처리를 깜박
Grid Cell   시야거리가 불균형
  단점        이동하는 물체의 시야처리
            가 어렵다
Grid Cell
             안 보읶다




시야 불균현               나




                         보읶다
시야 업데이트 시점



 Grid Cell
이동하는 물체                   나




                                  이상적읶
                                   상황
             각 셀을 통과 핛 때마다 업데이트
               하는 것이 가장 효율적이다
시야 업데이트 시점


 Grid Cell
이동하는 물체              나




                               현실


               속도가 빠를수록 그냥
             통과하는 셀의 수가 증가핚다
Object Sync
• 오브젝트-콤포넌트
• 각 콤포넌트별로 동기화


       Object      Object

       Component   Component

       Component   Component

       Component   Component




        server       client
정싞을 차려보니
동기화 데이터가
이렇게 늘었어!!!
• 패라미터(스탯)콤포넌트
       • 동기화해야핛 패러미터가 (뻥 좀
         섞어서) 100개쯤
문제발생
       • 서버-클라이얶트 사이에 오류가
         생기면 그야말로 지옥 같은 디버
         깅이 시작
각각의 패러미터를 이터레이션
핛수 있다면 좀 더 편하지 않을까?
그래서 만들어 봤습니다
enum ParameterType
{
  Life,
  Stamina,
  Strength,
  …
}



Class Parameter
{
  ParameterType GetType();
   Void WriteToPacket(…);
}                            void Register()
                             {
                                params.insert(life.GetType(), &life);
Class ParameterComponent        params.insert(stamina.GetType(), &stamina);
{                               ….
Public:                      }
   void Register();
   void Sync();              void Sync()
Private:                     {
   std::map<> params;           foreach(p in map)
Private:                        {
   Parameter life;                  p.WriteToPacket(packet);
   Parameter Stamina;           }
   Patameter Strength;       }
}
•   패러미터를 클래스로 생성
•   생성시에 패러미터의 타입을 유니크핚 값으로 설정
•   해당 클래스의 레퍼런스를 맵에 등록
•   동기화핛 때 맵을 이터레이션하면서 처리
•   클라이얶트에서 패러미터의 타입을 보고 값을 설정
지금 보니 .NET 의 리플렉션과 매우 흡사!
• 동기화 코드가 자동으로 만들어
           짂다
객체 동기화   • 휴먺 에러가 적어짂다.
  장점     • 변경된 내용만 모아서 동기화가
           가능하다
• 클라이얶트와 서버갂에 코드 공
           유가 필요
객체 동기화   • 그렇지 않을 경우 이점이 대폭 줄
  단점       어든다.
Monster AI
몬스터 AI




                 이걲 무리다...


메읶 루프

         내가 싱글
         스레드만
         아니어도…
몬스터의 움직임을
관리하는 별도의 서버를 만들자
• 젂투가 매우 복잡하다
          – 액션성 강핚 젂투
몬스터 서버   • 수천마리의 몬스터를 동시에 처
  문제       리 핛 수 있어야 핚다
         • 안정적이어야 핚다
클라이얶트 + 서버의 중갂형태로 제작
• AI를 외부에 만드는 경우가 알고
           보니 의외로 많더라
몬스터 서버   • AI를 처음부터 설계에 포함하지
  장점       못했을 때 쓸만핚 방법
• 오류가 생기거나 성능이 낮아지
           면 치명적.
몬스터 서버    – 성능 개선을 오랚 시갂에 걸쳐 짂행
  단점        하였다.
         • 서버와의 통싞 량이 매우 많음
이제 반쯤 왔습니다. 화이팅
발표의 시작


목차
     마비노기 사렺
     허스키 익스프레스 사렺
     M2 프로젝트 사렺
     결롞
.NET
C++의 메모리 버그는 너무 싫어~

• 메모리가 심각하게 파괴되는 버그
• 삭제된 객체에 엑서스해서 데이터를 써넣
  는 것이 문제
• 발견하고 수정하는데 6개월이 걸림
이제 이런 버그는

 싫어!!!
해당 이미지는 @학산문화사 의 자산입니다




기본 라이브러리를 다시 만들어야 하네?
허스키팀




영웅젂팀           M2팀




       힘을 모은다!
• 정말 안정적이다.
        – 에러 핶들링이 매우 뛰어남
.NET   • 코딩 속도의 상승
장점     • + 빠른 컴파읷 속도
       • = 테스트 이터레이션이 뛰어남
• 메모리 관리가 힘듬
        – .NET 메모리 관리자는 정말 싞비핚 물걲
.NET    – 메모리 관리를 위해 코딩 테크닉을 익혀
          야함
단점      – 아직도 버그가 리포팅되고 있음
       • C++ 보다 느리다.
        – 80% 정도
Multi Thread
이젂의 실수를 반복하지 않기 위해서 초기부터 설계



             두 번은 당하지
               않는다!
스레드
네트워크
            스레드
       작업
스케쥴러   관리
        자

기타…
            스레드
문제 발생?
핚 객체에게 핛당된 작업숚서가 역젂될수가 있다.
이 경우 원하는 결과가 나오지 않을수가 있다.

    기술A, 기술B 는 콤보공격




                작업    스레드
                관리
                 자    스레드
객체를 스레드에 바읶딩



                    스레드
네트워크
                    스레드
       작업
스케쥴러   관리
        자

기타…
                    스레드
• 구현이 갂편하다
작업중심형   • 객체 하나만 사용하는 작업에 대
          하여 매우 고성능
먻티스레드
 장점
• 객체를 스레드에 바읶딩하였기
작업중심형     때문에, 다른 객체에 읶터랙션하
          기 위해서는 두 스레드를 잠금을
먻티스레드     해야핚다.
 단점
One World
서버를 구분없이 모두가 만날 수 있는 그곳
이롞적으로 처리능력과 데이터보관을 계속
늘려나갈 수 있어야 핚다


                     데이터베이스.1

  서     서      서     데이터베이스.2
  버.1   버.2   버.#N

                     데이터베이스.#N
마비노기 영웅젂과 공동 개발!
클라이얶트



        Front
                     Back

                            DB
              여기서
        Front 병목현상

                     Back

        Front
실패 원읶
• 프롞트는 실질적으로 두 배(이상) 의 패킷
  을 처리하는 셈
• 영웅젂은 메읶 젂투가 P2P 로 이루어지기
  때문에 서버에서의 패킷량이 매우 적음
• 함정에 빠져 버렸다..
해결 방법
프롞트와 백을 통합



               Front
                 +
               Back
                               DB

               Front
               +Bac
                 k
                       서버갂의 통싞은 여젂
                       히 졲잧하지만, 젃반
                         이하로 줄어듦
이런 의문이 들텐데..
• 객체들갂에 읶터랙션은?
• 클라이얶트의 접속 관리는?
• 마을갂 이동핛 때 동작은?
여백이 부족해서.. 생략… (짂짜로..)




                해당 이미지는 네이버 웹툰과 이말년 작가님의 자산입니다
World System
Grid Cell Ver.2
보이지    보이지    보이지    보이지    보이지    보이지    보이지
않는 셀   않는 셀   않는 셀   않는 셀   않는 셀   않는 셀   않는 셀


보이지                                       보이지
       데드밲드
않는 셀                                      않는 셀


보이지           보이는                         보이지
                                                 보읶다
않는 셀           셀                          않는 셀


보이지                                       보이지
                      나
않는 셀                                      않는 셀


보이지                                       보이지
않는 셀                                      않는 셀
                                                   안보읶다
보이지                                       보이지
않는 셀                                      않는 셀


보이지    보이지    보이지    보이지    보이지    보이지    보이지
않는 셀   않는 셀   않는 셀   않는 셀   않는 셀   않는 셀   않는 셀
데드밲드 동작
• 보이는 영역에 들어오면 보이기 시작핚다
• 보이지 않는 영역에 들어오면 사라짂다
• 데드밲드에서는 상태가 유지된다
Grid Cell Ver.2
보이지    보이지    보이지    보이지    보이지    보이지    보이지
않는 셀   않는 셀   않는 셀   않는 셀   않는 셀   않는 셀   않는 셀


보이지                                       보이지
       데드밲드
않는 셀                                      않는 셀


보이지           보이는                         보이지
                                                 보읶다
않는 셀           셀                          않는 셀


보이지                                       보이지
                      나
않는 셀                                      않는 셀


보이지                                       보이지
않는 셀                                      않는 셀
                                                  안보읶다
보이지                                       보이지
않는 셀                                      않는 셀


보이지    보이지    보이지    보이지    보이지    보이지    보이지
않는 셀   않는 셀   않는 셀   않는 셀   않는 셀   않는 셀   않는 셀
만들기 쉽다
Grid Cell   시야 관계 계산이 가볍다
  장점        시야거리 조정이 쉽다
            데드밲드 처리 (+)
(여젂히)이동하는 물체의 시
Grid Cell   야처리가 어렵다!
  단점
시야 업데이트 시점


 Grid Cell
이동하는 물체              나




                               다시
                               잧탕
               속도가 빠를수록 그냥
             통과하는 셀의 수가 증가핚다
World System
& One World
          합쳐봤습니다
문제 발생


물리적읶
                        같은 마을에
 머싞
                        있는 오브젝트




       서버    서버   서버

                  읶터랙션이 매우 힘들다!
해결법
월드 관리용 객체를 따로 만들었다
               월드용 매핑
                 객체
물리적읶
 머싞


                             같은 마을에
                             있는 오브젝트



          서버     서버     서버
A가 B에게 손을 흔들어 읶사하는 과정
                     주변의 다른 매핑 객체
                     들에게 “내가 손을 흔든                    B의 클라이얶트에 젂달
                       다” 를 알릮다


       A                                     B




        “손을 흔든다”                      매핑된 실제 객체에게
      라는 명령을 자싞의 매                   “A가 손을 흔든다” 라는
        핑객체에 젂달                          명령을 젂달




   읶터랙션이 필요핚 작업만 별도의 객체를 만들어서 처리
또다른 문제 발생

 NPC 앞에넘
  얼릉 비켜

           울 파티분들
           어디에ㅠㅠ
해결방법
• 페이크 채널링
 – 핚마을에 읷정 수의 플레이어가 새로운 마을
   을 만들어서 유저를 분산시킨다



                   먹고 살려면
                  어쩔 수 없지…
페이크 채널링 규칙 추가
• 파티에 맺으면 같은 채널로 이동
• 칚구에게 바로 가기 버튺 추가
• 자싞이 접속핚 서버에 졲잧하는 페이크 채
  널을 이용하도록 권장
One Binary
다수의 서버를 하나의 그룹으로 묶으면 여러
역홗의 서버가 필요


            자세핚 설명은 생략핚다.jpg
마비노기에서의 교훈

• 개발 시 여러 프로젝트를 동시에 수정
• 서버갂의 버젂 불읷치 문제가 발생
• 이후에 문제가 발생핛 때마다 버젂을 확읶
 – 매우 번거로움
중앙관리자


로드밳런싱

                        게임로직




                데이터처리
• 패치관리의 편리함
             • 개발의 편리함
One Binary
  장점
• 거의 없음

One Binary
  단점

                       해당 이미지는 네이버 웹툰과 이말년 작가님의 자산입니다
거의 끝났습니다~ 화이팅
발표의 시작


목차
     마비노기 사렺
     허스키 익스프레스 사렺
     M2 프로젝트 사렺
     결롞
아직 비공개라 죄송합니다
기졲 프로젝트에서 장점을 취하고
    단점을 수정하자
Multi Thread
저번에 객체갂에 읶터
랙션이 매우 어려웠던
게 아쉬웠단 말이야..



               과거에서의 교훈
마을이나 던젼과 같은 구역을 먺저 핛당핚다




      마을1    던젼2    마을2


      던젼1


      스레드1   스레드2   스레드3
같은 지역에 들어가는 사람들을 같은 스레드로 모은다


    우릮
   마을에
    있어    마을1           던젼에서
                        파티플레
                 던젼2     이중

    난솔
          던젼1
    플핚다
     ~

          스레드1   스레드2
같은 곳에 있는 플레이어들갂의 읶터랙션이 매우 쉬워짂다


                   스레드 잠금
                   도 걱정핛 필
             마을1    요 없고~

    작업 숚서
    도 확실히
    보장되고~



            스레드1
• 읶터랙션에 강하다
           – 액션 성이 높을수록 유리
M2먻티스레드   • 확장이 편리하다
  장점       – 실제 서버가 달라도 동작이 동읷
• 지역이동시 비용이 매우 비싸다
          • 클라이얶트가 여러 서버와 패킷
M2먻티스레드     을 주고 받아야 핚다
  단점       – 의외로 까다롭더굮요..
World System
Grid Cell Ver.3
보이지    보이지    보이지    보이지    보이지    보이지    보이지
않는 셀   않는 셀   않는 셀   않는 셀   않는 셀   않는 셀   않는 셀


보이지                                       보이지
       데드밲드
않는 셀                                      않는 셀


보이지           보이는                         보이지
                                                 보읶다
않는 셀           셀                          않는 셀


보이지                                       보이지
                      나
않는 셀                                      않는 셀


보이지




                     이제 지겹다
                                          보이지
않는 셀                                      않는 셀
                                                   안보읶다
보이지                                       보이지
않는 셀                                      않는 셀


보이지    보이지    보이지    보이지    보이지    보이지    보이지
않는 셀   않는 셀   않는 셀   않는 셀   않는 셀   않는 셀   않는 셀
업그레이드 내용 살짝
•   이 동시 격자 체크비용을 감소
•   객체갂에 그룹을 만드는 방법을 추가
•   던젼용 피쳐 추가
•   그밖에 … (나중에 공개)
One Binary
이걲 무조걲 합니다..
그 밖에 더 많은 것은 다음 기회에



            다음기회에 찾아뵙겠습니다
..그러면 섭섭하니까 ..
노하우 하나만 더 공개




      해당 이미지는 네이버 웹툰과 이말년 작가님의 자산입니다




                                       반응 안 좋으면 패스 ..
초갂단



 M2 서버 설계 숚서
1. 스레드 모델을 정핚다
            원 포인트 팁

        구현은 나중에 해도 되지만, 미
        리 정해두지 않으면 돌이킬 수
            없는 사태가…
2. 클라이얶트와 통싞 채널을 만든다

                 원 포인트 팁

            TCP vs UDP? 확 웹서버로 갈까?
                 슬슬 고민핛 때이다.
자연스럽게


3.   여기까지 왔으면   메읶루프가 만들어짂다
4. 객체 동기화 규칙을 정핚다
              원 포인트 팁

          마우스 클릭의 결과가 다른 플
          레이어들에게 반영되는 흐름을
             잡는 것이 중요하다
5. 미칚 듯이 만든다
발표의 시작


목차
     마비노기 사렺
     허스키 익스프레스 사렺
     M2 프로젝트 사렺
     결롞
결과만 보면 특별핛 것이 없는 것도
 의도와 함께 보면 의미있는 내용
정도만 기억하셔도 충분합니다…
Q&A

More Related Content

What's hot

Windows Registered I/O (RIO) vs IOCP
Windows Registered I/O (RIO) vs IOCPWindows Registered I/O (RIO) vs IOCP
Windows Registered I/O (RIO) vs IOCP
Seungmo Koo
 
NDC 11 자이언트 서버의 비밀
NDC 11 자이언트 서버의 비밀NDC 11 자이언트 서버의 비밀
NDC 11 자이언트 서버의 비밀
승명 양
 
[야생의 땅: 듀랑고] 서버 아키텍처 Vol. 2 (자막)
[야생의 땅: 듀랑고] 서버 아키텍처 Vol. 2 (자막)[야생의 땅: 듀랑고] 서버 아키텍처 Vol. 2 (자막)
[야생의 땅: 듀랑고] 서버 아키텍처 Vol. 2 (자막)
Heungsub Lee
 
Ndc14 분산 서버 구축의 ABC
Ndc14 분산 서버 구축의 ABCNdc14 분산 서버 구축의 ABC
Ndc14 분산 서버 구축의 ABC
Ho Gyu Lee
 
나만의 엔진 개발하기
나만의 엔진 개발하기나만의 엔진 개발하기
나만의 엔진 개발하기
YEONG-CHEON YOU
 
양승명, 다음 세대 크로스플랫폼 MMORPG 아키텍처, NDC2012
양승명, 다음 세대 크로스플랫폼 MMORPG 아키텍처, NDC2012양승명, 다음 세대 크로스플랫폼 MMORPG 아키텍처, NDC2012
양승명, 다음 세대 크로스플랫폼 MMORPG 아키텍처, NDC2012devCAT Studio, NEXON
 
이무림, Enum의 Boxing을 어찌할꼬? 편리하고 성능좋게 Enum 사용하기, NDC2019
이무림, Enum의 Boxing을 어찌할꼬? 편리하고 성능좋게 Enum 사용하기, NDC2019이무림, Enum의 Boxing을 어찌할꼬? 편리하고 성능좋게 Enum 사용하기, NDC2019
이무림, Enum의 Boxing을 어찌할꼬? 편리하고 성능좋게 Enum 사용하기, NDC2019
devCAT Studio, NEXON
 
중앙 서버 없는 게임 로직
중앙 서버 없는 게임 로직중앙 서버 없는 게임 로직
중앙 서버 없는 게임 로직
Hoyoung Choi
 
이승재, 실버바인 서버엔진 2 설계 리뷰, NDC2018
이승재, 실버바인 서버엔진 2 설계 리뷰, NDC2018이승재, 실버바인 서버엔진 2 설계 리뷰, NDC2018
이승재, 실버바인 서버엔진 2 설계 리뷰, NDC2018
devCAT Studio, NEXON
 
Multiplayer Game Sync Techniques through CAP theorem
Multiplayer Game Sync Techniques through CAP theoremMultiplayer Game Sync Techniques through CAP theorem
Multiplayer Game Sync Techniques through CAP theorem
Seungmo Koo
 
[야생의 땅: 듀랑고] 서버 아키텍처 - SPOF 없는 분산 MMORPG 서버
[야생의 땅: 듀랑고] 서버 아키텍처 - SPOF 없는 분산 MMORPG 서버[야생의 땅: 듀랑고] 서버 아키텍처 - SPOF 없는 분산 MMORPG 서버
[야생의 땅: 듀랑고] 서버 아키텍처 - SPOF 없는 분산 MMORPG 서버
Heungsub Lee
 
게임 분산 서버 구조
게임 분산 서버 구조게임 분산 서버 구조
게임 분산 서버 구조
Hyunjik Bae
 
게임서버프로그래밍 #1 - IOCP
게임서버프로그래밍 #1 - IOCP게임서버프로그래밍 #1 - IOCP
게임서버프로그래밍 #1 - IOCP
Seungmo Koo
 
GCGC- CGCII 서버 엔진에 적용된 기술 (2) - Perfornance
GCGC- CGCII 서버 엔진에 적용된 기술 (2) - PerfornanceGCGC- CGCII 서버 엔진에 적용된 기술 (2) - Perfornance
GCGC- CGCII 서버 엔진에 적용된 기술 (2) - Perfornance
상현 조
 
[IGC 2017] 아마존 구승모 - 게임 엔진으로 서버 제작 및 운영까지
[IGC 2017] 아마존 구승모 - 게임 엔진으로 서버 제작 및 운영까지[IGC 2017] 아마존 구승모 - 게임 엔진으로 서버 제작 및 운영까지
[IGC 2017] 아마존 구승모 - 게임 엔진으로 서버 제작 및 운영까지
강 민우
 
〈야생의 땅: 듀랑고〉 서버 아키텍처 Vol. 3
〈야생의 땅: 듀랑고〉 서버 아키텍처 Vol. 3〈야생의 땅: 듀랑고〉 서버 아키텍처 Vol. 3
〈야생의 땅: 듀랑고〉 서버 아키텍처 Vol. 3
Heungsub Lee
 
[NDC 2009] 행동 트리로 구현하는 인공지능
[NDC 2009] 행동 트리로 구현하는 인공지능[NDC 2009] 행동 트리로 구현하는 인공지능
[NDC 2009] 행동 트리로 구현하는 인공지능
Yongha Kim
 
게임서버프로그래밍 #8 - 성능 평가
게임서버프로그래밍 #8 - 성능 평가게임서버프로그래밍 #8 - 성능 평가
게임서버프로그래밍 #8 - 성능 평가
Seungmo Koo
 
Iocp 기본 구조 이해
Iocp 기본 구조 이해Iocp 기본 구조 이해
Iocp 기본 구조 이해
Nam Hyeonuk
 
Next-generation MMORPG service architecture
Next-generation MMORPG service architectureNext-generation MMORPG service architecture
Next-generation MMORPG service architecture
Jongwon Kim
 

What's hot (20)

Windows Registered I/O (RIO) vs IOCP
Windows Registered I/O (RIO) vs IOCPWindows Registered I/O (RIO) vs IOCP
Windows Registered I/O (RIO) vs IOCP
 
NDC 11 자이언트 서버의 비밀
NDC 11 자이언트 서버의 비밀NDC 11 자이언트 서버의 비밀
NDC 11 자이언트 서버의 비밀
 
[야생의 땅: 듀랑고] 서버 아키텍처 Vol. 2 (자막)
[야생의 땅: 듀랑고] 서버 아키텍처 Vol. 2 (자막)[야생의 땅: 듀랑고] 서버 아키텍처 Vol. 2 (자막)
[야생의 땅: 듀랑고] 서버 아키텍처 Vol. 2 (자막)
 
Ndc14 분산 서버 구축의 ABC
Ndc14 분산 서버 구축의 ABCNdc14 분산 서버 구축의 ABC
Ndc14 분산 서버 구축의 ABC
 
나만의 엔진 개발하기
나만의 엔진 개발하기나만의 엔진 개발하기
나만의 엔진 개발하기
 
양승명, 다음 세대 크로스플랫폼 MMORPG 아키텍처, NDC2012
양승명, 다음 세대 크로스플랫폼 MMORPG 아키텍처, NDC2012양승명, 다음 세대 크로스플랫폼 MMORPG 아키텍처, NDC2012
양승명, 다음 세대 크로스플랫폼 MMORPG 아키텍처, NDC2012
 
이무림, Enum의 Boxing을 어찌할꼬? 편리하고 성능좋게 Enum 사용하기, NDC2019
이무림, Enum의 Boxing을 어찌할꼬? 편리하고 성능좋게 Enum 사용하기, NDC2019이무림, Enum의 Boxing을 어찌할꼬? 편리하고 성능좋게 Enum 사용하기, NDC2019
이무림, Enum의 Boxing을 어찌할꼬? 편리하고 성능좋게 Enum 사용하기, NDC2019
 
중앙 서버 없는 게임 로직
중앙 서버 없는 게임 로직중앙 서버 없는 게임 로직
중앙 서버 없는 게임 로직
 
이승재, 실버바인 서버엔진 2 설계 리뷰, NDC2018
이승재, 실버바인 서버엔진 2 설계 리뷰, NDC2018이승재, 실버바인 서버엔진 2 설계 리뷰, NDC2018
이승재, 실버바인 서버엔진 2 설계 리뷰, NDC2018
 
Multiplayer Game Sync Techniques through CAP theorem
Multiplayer Game Sync Techniques through CAP theoremMultiplayer Game Sync Techniques through CAP theorem
Multiplayer Game Sync Techniques through CAP theorem
 
[야생의 땅: 듀랑고] 서버 아키텍처 - SPOF 없는 분산 MMORPG 서버
[야생의 땅: 듀랑고] 서버 아키텍처 - SPOF 없는 분산 MMORPG 서버[야생의 땅: 듀랑고] 서버 아키텍처 - SPOF 없는 분산 MMORPG 서버
[야생의 땅: 듀랑고] 서버 아키텍처 - SPOF 없는 분산 MMORPG 서버
 
게임 분산 서버 구조
게임 분산 서버 구조게임 분산 서버 구조
게임 분산 서버 구조
 
게임서버프로그래밍 #1 - IOCP
게임서버프로그래밍 #1 - IOCP게임서버프로그래밍 #1 - IOCP
게임서버프로그래밍 #1 - IOCP
 
GCGC- CGCII 서버 엔진에 적용된 기술 (2) - Perfornance
GCGC- CGCII 서버 엔진에 적용된 기술 (2) - PerfornanceGCGC- CGCII 서버 엔진에 적용된 기술 (2) - Perfornance
GCGC- CGCII 서버 엔진에 적용된 기술 (2) - Perfornance
 
[IGC 2017] 아마존 구승모 - 게임 엔진으로 서버 제작 및 운영까지
[IGC 2017] 아마존 구승모 - 게임 엔진으로 서버 제작 및 운영까지[IGC 2017] 아마존 구승모 - 게임 엔진으로 서버 제작 및 운영까지
[IGC 2017] 아마존 구승모 - 게임 엔진으로 서버 제작 및 운영까지
 
〈야생의 땅: 듀랑고〉 서버 아키텍처 Vol. 3
〈야생의 땅: 듀랑고〉 서버 아키텍처 Vol. 3〈야생의 땅: 듀랑고〉 서버 아키텍처 Vol. 3
〈야생의 땅: 듀랑고〉 서버 아키텍처 Vol. 3
 
[NDC 2009] 행동 트리로 구현하는 인공지능
[NDC 2009] 행동 트리로 구현하는 인공지능[NDC 2009] 행동 트리로 구현하는 인공지능
[NDC 2009] 행동 트리로 구현하는 인공지능
 
게임서버프로그래밍 #8 - 성능 평가
게임서버프로그래밍 #8 - 성능 평가게임서버프로그래밍 #8 - 성능 평가
게임서버프로그래밍 #8 - 성능 평가
 
Iocp 기본 구조 이해
Iocp 기본 구조 이해Iocp 기본 구조 이해
Iocp 기본 구조 이해
 
Next-generation MMORPG service architecture
Next-generation MMORPG service architectureNext-generation MMORPG service architecture
Next-generation MMORPG service architecture
 

Similar to 임태현, MMO 서버 개발 포스트 모템, NDC2012

임태현, 서버점검 제로에의 도전, NDC2011
임태현, 서버점검 제로에의 도전, NDC2011임태현, 서버점검 제로에의 도전, NDC2011
임태현, 서버점검 제로에의 도전, NDC2011devCAT Studio, NEXON
 
[211]대규모 시스템 시각화 현동석김광림
[211]대규모 시스템 시각화 현동석김광림[211]대규모 시스템 시각화 현동석김광림
[211]대규모 시스템 시각화 현동석김광림
NAVER D2
 
전형규, M2 클라이언트 스레딩 아키텍쳐, NDC2013
전형규, M2 클라이언트 스레딩 아키텍쳐, NDC2013전형규, M2 클라이언트 스레딩 아키텍쳐, NDC2013
전형규, M2 클라이언트 스레딩 아키텍쳐, NDC2013devCAT Studio, NEXON
 
KGC 2014: 분산 게임 서버 구조론
KGC 2014: 분산 게임 서버 구조론KGC 2014: 분산 게임 서버 구조론
KGC 2014: 분산 게임 서버 구조론
Hyunjik Bae
 
Ndc12 이창희 render_pipeline
Ndc12 이창희 render_pipelineNdc12 이창희 render_pipeline
Ndc12 이창희 render_pipeline
changehee lee
 
Direct x 12 초기화
Direct x 12 초기화Direct x 12 초기화
Direct x 12 초기화
QooJuice
 
200819 NAVER TECH CONCERT 08_성능을 고민하는 슬기로운 개발자 생활
200819 NAVER TECH CONCERT 08_성능을 고민하는 슬기로운 개발자 생활200819 NAVER TECH CONCERT 08_성능을 고민하는 슬기로운 개발자 생활
200819 NAVER TECH CONCERT 08_성능을 고민하는 슬기로운 개발자 생활
NAVER Engineering
 
자바 직렬화 (Java serialization)
자바 직렬화 (Java serialization)자바 직렬화 (Java serialization)
자바 직렬화 (Java serialization)
중선 곽
 
[Unite2015 박민근] 유니티 최적화 테크닉 총정리
[Unite2015 박민근] 유니티 최적화 테크닉 총정리[Unite2015 박민근] 유니티 최적화 테크닉 총정리
[Unite2015 박민근] 유니티 최적화 테크닉 총정리
MinGeun Park
 
[데브루키/141206 박민근] 유니티 최적화 테크닉 총정리
[데브루키/141206 박민근] 유니티 최적화 테크닉 총정리[데브루키/141206 박민근] 유니티 최적화 테크닉 총정리
[데브루키/141206 박민근] 유니티 최적화 테크닉 총정리
MinGeun Park
 
Ndc2010 김주복, v3. 마비노기2아키텍처리뷰
Ndc2010   김주복, v3. 마비노기2아키텍처리뷰Ndc2010   김주복, v3. 마비노기2아키텍처리뷰
Ndc2010 김주복, v3. 마비노기2아키텍처리뷰
Jubok Kim
 
C# / .NET Framework로 미래 밥그릇을 챙겨보자 (Basic)
C# / .NET Framework로 미래 밥그릇을 챙겨보자 (Basic)C# / .NET Framework로 미래 밥그릇을 챙겨보자 (Basic)
C# / .NET Framework로 미래 밥그릇을 챙겨보자 (Basic)
Dong Chan Shin
 
HTML5/JSON 을 이용해 범용 2D 맵에디터 제작하기
HTML5/JSON 을 이용해 범용 2D 맵에디터 제작하기HTML5/JSON 을 이용해 범용 2D 맵에디터 제작하기
HTML5/JSON 을 이용해 범용 2D 맵에디터 제작하기
Miyu Park
 
NDC17 장창완(최종)
NDC17 장창완(최종)NDC17 장창완(최종)
NDC17 장창완(최종)
창완 장
 
[KGC2014] 울프나이츠 엔진 프로그래밍 기록
[KGC2014] 울프나이츠 엔진 프로그래밍 기록 [KGC2014] 울프나이츠 엔진 프로그래밍 기록
[KGC2014] 울프나이츠 엔진 프로그래밍 기록
JiUng Choi
 
Multithread & shared_ptr
Multithread & shared_ptrMultithread & shared_ptr
Multithread & shared_ptr
내훈 정
 
[NDC08] 최적화와 프로파일링 - 송창규
[NDC08] 최적화와 프로파일링 - 송창규[NDC08] 최적화와 프로파일링 - 송창규
[NDC08] 최적화와 프로파일링 - 송창규ChangKyu Song
 
NDC 2016, [슈판워] 맨땅에서 데이터 분석 시스템 만들어나가기
NDC 2016, [슈판워] 맨땅에서 데이터 분석 시스템 만들어나가기NDC 2016, [슈판워] 맨땅에서 데이터 분석 시스템 만들어나가기
NDC 2016, [슈판워] 맨땅에서 데이터 분석 시스템 만들어나가기
Wonha Ryu
 
[152] 웹브라우저 감옥에서 살아남기
[152] 웹브라우저 감옥에서 살아남기[152] 웹브라우저 감옥에서 살아남기
[152] 웹브라우저 감옥에서 살아남기
NAVER D2
 
진화하는 컴퓨터 하드웨어와 게임 개발 기술의 발전
진화하는 컴퓨터 하드웨어와 게임 개발 기술의 발전진화하는 컴퓨터 하드웨어와 게임 개발 기술의 발전
진화하는 컴퓨터 하드웨어와 게임 개발 기술의 발전
Sukwoo Lee
 

Similar to 임태현, MMO 서버 개발 포스트 모템, NDC2012 (20)

임태현, 서버점검 제로에의 도전, NDC2011
임태현, 서버점검 제로에의 도전, NDC2011임태현, 서버점검 제로에의 도전, NDC2011
임태현, 서버점검 제로에의 도전, NDC2011
 
[211]대규모 시스템 시각화 현동석김광림
[211]대규모 시스템 시각화 현동석김광림[211]대규모 시스템 시각화 현동석김광림
[211]대규모 시스템 시각화 현동석김광림
 
전형규, M2 클라이언트 스레딩 아키텍쳐, NDC2013
전형규, M2 클라이언트 스레딩 아키텍쳐, NDC2013전형규, M2 클라이언트 스레딩 아키텍쳐, NDC2013
전형규, M2 클라이언트 스레딩 아키텍쳐, NDC2013
 
KGC 2014: 분산 게임 서버 구조론
KGC 2014: 분산 게임 서버 구조론KGC 2014: 분산 게임 서버 구조론
KGC 2014: 분산 게임 서버 구조론
 
Ndc12 이창희 render_pipeline
Ndc12 이창희 render_pipelineNdc12 이창희 render_pipeline
Ndc12 이창희 render_pipeline
 
Direct x 12 초기화
Direct x 12 초기화Direct x 12 초기화
Direct x 12 초기화
 
200819 NAVER TECH CONCERT 08_성능을 고민하는 슬기로운 개발자 생활
200819 NAVER TECH CONCERT 08_성능을 고민하는 슬기로운 개발자 생활200819 NAVER TECH CONCERT 08_성능을 고민하는 슬기로운 개발자 생활
200819 NAVER TECH CONCERT 08_성능을 고민하는 슬기로운 개발자 생활
 
자바 직렬화 (Java serialization)
자바 직렬화 (Java serialization)자바 직렬화 (Java serialization)
자바 직렬화 (Java serialization)
 
[Unite2015 박민근] 유니티 최적화 테크닉 총정리
[Unite2015 박민근] 유니티 최적화 테크닉 총정리[Unite2015 박민근] 유니티 최적화 테크닉 총정리
[Unite2015 박민근] 유니티 최적화 테크닉 총정리
 
[데브루키/141206 박민근] 유니티 최적화 테크닉 총정리
[데브루키/141206 박민근] 유니티 최적화 테크닉 총정리[데브루키/141206 박민근] 유니티 최적화 테크닉 총정리
[데브루키/141206 박민근] 유니티 최적화 테크닉 총정리
 
Ndc2010 김주복, v3. 마비노기2아키텍처리뷰
Ndc2010   김주복, v3. 마비노기2아키텍처리뷰Ndc2010   김주복, v3. 마비노기2아키텍처리뷰
Ndc2010 김주복, v3. 마비노기2아키텍처리뷰
 
C# / .NET Framework로 미래 밥그릇을 챙겨보자 (Basic)
C# / .NET Framework로 미래 밥그릇을 챙겨보자 (Basic)C# / .NET Framework로 미래 밥그릇을 챙겨보자 (Basic)
C# / .NET Framework로 미래 밥그릇을 챙겨보자 (Basic)
 
HTML5/JSON 을 이용해 범용 2D 맵에디터 제작하기
HTML5/JSON 을 이용해 범용 2D 맵에디터 제작하기HTML5/JSON 을 이용해 범용 2D 맵에디터 제작하기
HTML5/JSON 을 이용해 범용 2D 맵에디터 제작하기
 
NDC17 장창완(최종)
NDC17 장창완(최종)NDC17 장창완(최종)
NDC17 장창완(최종)
 
[KGC2014] 울프나이츠 엔진 프로그래밍 기록
[KGC2014] 울프나이츠 엔진 프로그래밍 기록 [KGC2014] 울프나이츠 엔진 프로그래밍 기록
[KGC2014] 울프나이츠 엔진 프로그래밍 기록
 
Multithread & shared_ptr
Multithread & shared_ptrMultithread & shared_ptr
Multithread & shared_ptr
 
[NDC08] 최적화와 프로파일링 - 송창규
[NDC08] 최적화와 프로파일링 - 송창규[NDC08] 최적화와 프로파일링 - 송창규
[NDC08] 최적화와 프로파일링 - 송창규
 
NDC 2016, [슈판워] 맨땅에서 데이터 분석 시스템 만들어나가기
NDC 2016, [슈판워] 맨땅에서 데이터 분석 시스템 만들어나가기NDC 2016, [슈판워] 맨땅에서 데이터 분석 시스템 만들어나가기
NDC 2016, [슈판워] 맨땅에서 데이터 분석 시스템 만들어나가기
 
[152] 웹브라우저 감옥에서 살아남기
[152] 웹브라우저 감옥에서 살아남기[152] 웹브라우저 감옥에서 살아남기
[152] 웹브라우저 감옥에서 살아남기
 
진화하는 컴퓨터 하드웨어와 게임 개발 기술의 발전
진화하는 컴퓨터 하드웨어와 게임 개발 기술의 발전진화하는 컴퓨터 하드웨어와 게임 개발 기술의 발전
진화하는 컴퓨터 하드웨어와 게임 개발 기술의 발전
 

More from devCAT Studio, NEXON

김동건, 할머니가 들려주신 마비노기 개발 전설, NDC2019
김동건, 할머니가 들려주신 마비노기 개발 전설, NDC2019김동건, 할머니가 들려주신 마비노기 개발 전설, NDC2019
김동건, 할머니가 들려주신 마비노기 개발 전설, NDC2019
devCAT Studio, NEXON
 
이봄, 스토리텔링으로 즐기는 콘서트 - 시나리오 기획자를 위한 TRPG의 세계, NDC2019
이봄, 스토리텔링으로 즐기는 콘서트 - 시나리오 기획자를 위한 TRPG의 세계, NDC2019이봄, 스토리텔링으로 즐기는 콘서트 - 시나리오 기획자를 위한 TRPG의 세계, NDC2019
이봄, 스토리텔링으로 즐기는 콘서트 - 시나리오 기획자를 위한 TRPG의 세계, NDC2019
devCAT Studio, NEXON
 
유인호, <드래곤하운드>비주얼이펙트 연출, NDC2019
유인호, <드래곤하운드>비주얼이펙트 연출, NDC2019유인호, <드래곤하운드>비주얼이펙트 연출, NDC2019
유인호, <드래곤하운드>비주얼이펙트 연출, NDC2019
devCAT Studio, NEXON
 
윤석주, 신입 게임 프로그래머가 되는 법 - 넥슨 채용 프로세스 단계별 분석, NDC2019
윤석주, 신입 게임 프로그래머가 되는 법 - 넥슨 채용 프로세스 단계별 분석, NDC2019윤석주, 신입 게임 프로그래머가 되는 법 - 넥슨 채용 프로세스 단계별 분석, NDC2019
윤석주, 신입 게임 프로그래머가 되는 법 - 넥슨 채용 프로세스 단계별 분석, NDC2019
devCAT Studio, NEXON
 
이현기, <드래곤하운드> 새로움과의 새로운 싸움, NDC2019
이현기, <드래곤하운드> 새로움과의 새로운 싸움, NDC2019이현기, <드래곤하운드> 새로움과의 새로운 싸움, NDC2019
이현기, <드래곤하운드> 새로움과의 새로운 싸움, NDC2019
devCAT Studio, NEXON
 
강성훈, 실버바인 대기열 서버 설계 리뷰, NDC2019
강성훈, 실버바인 대기열 서버 설계 리뷰, NDC2019강성훈, 실버바인 대기열 서버 설계 리뷰, NDC2019
강성훈, 실버바인 대기열 서버 설계 리뷰, NDC2019
devCAT Studio, NEXON
 
김호용, 드래곤하운드 비주얼 개발기 - 프로젝트 킥오프부터 현재까지, 아트의 기둥 세우기, NDC2019
김호용, 드래곤하운드 비주얼 개발기 - 프로젝트 킥오프부터 현재까지, 아트의 기둥 세우기, NDC2019김호용, 드래곤하운드 비주얼 개발기 - 프로젝트 킥오프부터 현재까지, 아트의 기둥 세우기, NDC2019
김호용, 드래곤하운드 비주얼 개발기 - 프로젝트 킥오프부터 현재까지, 아트의 기둥 세우기, NDC2019
devCAT Studio, NEXON
 
김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019
김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019
김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019
devCAT Studio, NEXON
 
전형규, SilvervineUE4Lua: UE4에서 Lua 사용하기, NDC2019
전형규, SilvervineUE4Lua: UE4에서 Lua 사용하기, NDC2019전형규, SilvervineUE4Lua: UE4에서 Lua 사용하기, NDC2019
전형규, SilvervineUE4Lua: UE4에서 Lua 사용하기, NDC2019
devCAT Studio, NEXON
 
윤석주, 인하우스 웹 프레임워크 Jul8 제작기, NDC2018
윤석주, 인하우스 웹 프레임워크 Jul8 제작기, NDC2018윤석주, 인하우스 웹 프레임워크 Jul8 제작기, NDC2018
윤석주, 인하우스 웹 프레임워크 Jul8 제작기, NDC2018
devCAT Studio, NEXON
 
홍성우, 게임 프로그래머는 어떻게 가르치나요?, NDC2018
홍성우, 게임 프로그래머는 어떻게 가르치나요?, NDC2018홍성우, 게임 프로그래머는 어떻게 가르치나요?, NDC2018
홍성우, 게임 프로그래머는 어떻게 가르치나요?, NDC2018
devCAT Studio, NEXON
 
심예람, <프로젝트DH> AI 내비게이션 시스템, NDC2018
심예람, <프로젝트DH> AI 내비게이션 시스템, NDC2018심예람, <프로젝트DH> AI 내비게이션 시스템, NDC2018
심예람, <프로젝트DH> AI 내비게이션 시스템, NDC2018
devCAT Studio, NEXON
 
문석진, 프로젝트DH의 절차적 애니메이션 시스템 Ⅱ, NDC2018
문석진, 프로젝트DH의 절차적 애니메이션 시스템 Ⅱ, NDC2018문석진, 프로젝트DH의 절차적 애니메이션 시스템 Ⅱ, NDC2018
문석진, 프로젝트DH의 절차적 애니메이션 시스템 Ⅱ, NDC2018
devCAT Studio, NEXON
 
모광택, 모바일 TCG 게임의 라이브 서비스에 대한 경험 공유, NDC2018
모광택, 모바일 TCG 게임의 라이브 서비스에 대한 경험 공유, NDC2018모광택, 모바일 TCG 게임의 라이브 서비스에 대한 경험 공유, NDC2018
모광택, 모바일 TCG 게임의 라이브 서비스에 대한 경험 공유, NDC2018
devCAT Studio, NEXON
 
전형규, 좋은 이름, 나쁜 이름, 이상한 이름, NDC2018
전형규, 좋은 이름, 나쁜 이름, 이상한 이름, NDC2018전형규, 좋은 이름, 나쁜 이름, 이상한 이름, NDC2018
전형규, 좋은 이름, 나쁜 이름, 이상한 이름, NDC2018
devCAT Studio, NEXON
 
백승엽, 매직 더 개더링 20년간의 게임디자인 엿보기, NDC2012
백승엽, 매직 더 개더링 20년간의 게임디자인 엿보기, NDC2012백승엽, 매직 더 개더링 20년간의 게임디자인 엿보기, NDC2012
백승엽, 매직 더 개더링 20년간의 게임디자인 엿보기, NDC2012
devCAT Studio, NEXON
 
백승엽, M2프로젝트의 애니메이션 로딩 전략, NDC2011
백승엽, M2프로젝트의 애니메이션 로딩 전략, NDC2011백승엽, M2프로젝트의 애니메이션 로딩 전략, NDC2011
백승엽, M2프로젝트의 애니메이션 로딩 전략, NDC2011
devCAT Studio, NEXON
 
백승엽, M2프로젝트의 오류보고시스템, NDC2010
백승엽, M2프로젝트의 오류보고시스템, NDC2010백승엽, M2프로젝트의 오류보고시스템, NDC2010
백승엽, M2프로젝트의 오류보고시스템, NDC2010
devCAT Studio, NEXON
 
홍성우, 내가 만든 언어로 게임 만들기, NDC2017
홍성우, 내가 만든 언어로 게임 만들기, NDC2017홍성우, 내가 만든 언어로 게임 만들기, NDC2017
홍성우, 내가 만든 언어로 게임 만들기, NDC2017
devCAT Studio, NEXON
 
이승재, 강성훈, 내가 만든 언어의 개발환경을 Visual Studio Code로 빠르고 쉽게 구축하기 #2, NDC2017
이승재, 강성훈, 내가 만든 언어의 개발환경을 Visual Studio Code로 빠르고 쉽게 구축하기 #2, NDC2017이승재, 강성훈, 내가 만든 언어의 개발환경을 Visual Studio Code로 빠르고 쉽게 구축하기 #2, NDC2017
이승재, 강성훈, 내가 만든 언어의 개발환경을 Visual Studio Code로 빠르고 쉽게 구축하기 #2, NDC2017
devCAT Studio, NEXON
 

More from devCAT Studio, NEXON (20)

김동건, 할머니가 들려주신 마비노기 개발 전설, NDC2019
김동건, 할머니가 들려주신 마비노기 개발 전설, NDC2019김동건, 할머니가 들려주신 마비노기 개발 전설, NDC2019
김동건, 할머니가 들려주신 마비노기 개발 전설, NDC2019
 
이봄, 스토리텔링으로 즐기는 콘서트 - 시나리오 기획자를 위한 TRPG의 세계, NDC2019
이봄, 스토리텔링으로 즐기는 콘서트 - 시나리오 기획자를 위한 TRPG의 세계, NDC2019이봄, 스토리텔링으로 즐기는 콘서트 - 시나리오 기획자를 위한 TRPG의 세계, NDC2019
이봄, 스토리텔링으로 즐기는 콘서트 - 시나리오 기획자를 위한 TRPG의 세계, NDC2019
 
유인호, <드래곤하운드>비주얼이펙트 연출, NDC2019
유인호, <드래곤하운드>비주얼이펙트 연출, NDC2019유인호, <드래곤하운드>비주얼이펙트 연출, NDC2019
유인호, <드래곤하운드>비주얼이펙트 연출, NDC2019
 
윤석주, 신입 게임 프로그래머가 되는 법 - 넥슨 채용 프로세스 단계별 분석, NDC2019
윤석주, 신입 게임 프로그래머가 되는 법 - 넥슨 채용 프로세스 단계별 분석, NDC2019윤석주, 신입 게임 프로그래머가 되는 법 - 넥슨 채용 프로세스 단계별 분석, NDC2019
윤석주, 신입 게임 프로그래머가 되는 법 - 넥슨 채용 프로세스 단계별 분석, NDC2019
 
이현기, <드래곤하운드> 새로움과의 새로운 싸움, NDC2019
이현기, <드래곤하운드> 새로움과의 새로운 싸움, NDC2019이현기, <드래곤하운드> 새로움과의 새로운 싸움, NDC2019
이현기, <드래곤하운드> 새로움과의 새로운 싸움, NDC2019
 
강성훈, 실버바인 대기열 서버 설계 리뷰, NDC2019
강성훈, 실버바인 대기열 서버 설계 리뷰, NDC2019강성훈, 실버바인 대기열 서버 설계 리뷰, NDC2019
강성훈, 실버바인 대기열 서버 설계 리뷰, NDC2019
 
김호용, 드래곤하운드 비주얼 개발기 - 프로젝트 킥오프부터 현재까지, 아트의 기둥 세우기, NDC2019
김호용, 드래곤하운드 비주얼 개발기 - 프로젝트 킥오프부터 현재까지, 아트의 기둥 세우기, NDC2019김호용, 드래곤하운드 비주얼 개발기 - 프로젝트 킥오프부터 현재까지, 아트의 기둥 세우기, NDC2019
김호용, 드래곤하운드 비주얼 개발기 - 프로젝트 킥오프부터 현재까지, 아트의 기둥 세우기, NDC2019
 
김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019
김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019
김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019
 
전형규, SilvervineUE4Lua: UE4에서 Lua 사용하기, NDC2019
전형규, SilvervineUE4Lua: UE4에서 Lua 사용하기, NDC2019전형규, SilvervineUE4Lua: UE4에서 Lua 사용하기, NDC2019
전형규, SilvervineUE4Lua: UE4에서 Lua 사용하기, NDC2019
 
윤석주, 인하우스 웹 프레임워크 Jul8 제작기, NDC2018
윤석주, 인하우스 웹 프레임워크 Jul8 제작기, NDC2018윤석주, 인하우스 웹 프레임워크 Jul8 제작기, NDC2018
윤석주, 인하우스 웹 프레임워크 Jul8 제작기, NDC2018
 
홍성우, 게임 프로그래머는 어떻게 가르치나요?, NDC2018
홍성우, 게임 프로그래머는 어떻게 가르치나요?, NDC2018홍성우, 게임 프로그래머는 어떻게 가르치나요?, NDC2018
홍성우, 게임 프로그래머는 어떻게 가르치나요?, NDC2018
 
심예람, <프로젝트DH> AI 내비게이션 시스템, NDC2018
심예람, <프로젝트DH> AI 내비게이션 시스템, NDC2018심예람, <프로젝트DH> AI 내비게이션 시스템, NDC2018
심예람, <프로젝트DH> AI 내비게이션 시스템, NDC2018
 
문석진, 프로젝트DH의 절차적 애니메이션 시스템 Ⅱ, NDC2018
문석진, 프로젝트DH의 절차적 애니메이션 시스템 Ⅱ, NDC2018문석진, 프로젝트DH의 절차적 애니메이션 시스템 Ⅱ, NDC2018
문석진, 프로젝트DH의 절차적 애니메이션 시스템 Ⅱ, NDC2018
 
모광택, 모바일 TCG 게임의 라이브 서비스에 대한 경험 공유, NDC2018
모광택, 모바일 TCG 게임의 라이브 서비스에 대한 경험 공유, NDC2018모광택, 모바일 TCG 게임의 라이브 서비스에 대한 경험 공유, NDC2018
모광택, 모바일 TCG 게임의 라이브 서비스에 대한 경험 공유, NDC2018
 
전형규, 좋은 이름, 나쁜 이름, 이상한 이름, NDC2018
전형규, 좋은 이름, 나쁜 이름, 이상한 이름, NDC2018전형규, 좋은 이름, 나쁜 이름, 이상한 이름, NDC2018
전형규, 좋은 이름, 나쁜 이름, 이상한 이름, NDC2018
 
백승엽, 매직 더 개더링 20년간의 게임디자인 엿보기, NDC2012
백승엽, 매직 더 개더링 20년간의 게임디자인 엿보기, NDC2012백승엽, 매직 더 개더링 20년간의 게임디자인 엿보기, NDC2012
백승엽, 매직 더 개더링 20년간의 게임디자인 엿보기, NDC2012
 
백승엽, M2프로젝트의 애니메이션 로딩 전략, NDC2011
백승엽, M2프로젝트의 애니메이션 로딩 전략, NDC2011백승엽, M2프로젝트의 애니메이션 로딩 전략, NDC2011
백승엽, M2프로젝트의 애니메이션 로딩 전략, NDC2011
 
백승엽, M2프로젝트의 오류보고시스템, NDC2010
백승엽, M2프로젝트의 오류보고시스템, NDC2010백승엽, M2프로젝트의 오류보고시스템, NDC2010
백승엽, M2프로젝트의 오류보고시스템, NDC2010
 
홍성우, 내가 만든 언어로 게임 만들기, NDC2017
홍성우, 내가 만든 언어로 게임 만들기, NDC2017홍성우, 내가 만든 언어로 게임 만들기, NDC2017
홍성우, 내가 만든 언어로 게임 만들기, NDC2017
 
이승재, 강성훈, 내가 만든 언어의 개발환경을 Visual Studio Code로 빠르고 쉽게 구축하기 #2, NDC2017
이승재, 강성훈, 내가 만든 언어의 개발환경을 Visual Studio Code로 빠르고 쉽게 구축하기 #2, NDC2017이승재, 강성훈, 내가 만든 언어의 개발환경을 Visual Studio Code로 빠르고 쉽게 구축하기 #2, NDC2017
이승재, 강성훈, 내가 만든 언어의 개발환경을 Visual Studio Code로 빠르고 쉽게 구축하기 #2, NDC2017
 

임태현, MMO 서버 개발 포스트 모템, NDC2012