알라딘MGG와이드바


KGC 2009 10월 9일 (금) 후기 1/2 개발 이야기

처음은 "윤태복(성결대학교) - 온라인 게임에서 지능화되고 자동화된 그룹 형성 시스템" 을 들었습니다.

아무래도 강연자 프로필에 '대학교' 가 붙어 있으면 주저하게 됩니다.
너무 실세계와는 동떨어진 학구적인 주제를 다룰 거 같아서 말이죠.
이번 강연도 처음 시작은 논문에 공식이 나오길래 '역시나' 하는 기분으로 봤습니다. :)
뒤로 가니까 재미있어지더군요.

DFSM(Dynamic FSM) 를 만들어 온라인 사용자의 입력으로 각 상태변화표를 만들어,
AI 를 만드는 게 아니라 게임 플레이어의 성향표를 만든 후
플레이어 자동 매치에서 최적으로 연결시켜주는 기능으로 사용할 수 있을 거라고 하더군요.
온라인에서는 아무래도 데이터량이 많으니까 중간중간 끊어서(동적 알고리즘처럼) 룰을 만들어 나가는 방법을 보여줬습니다.

'온라인 게임에서 친구랑 게임하고 싶어하지 누가 모르는 사람과 임의로 게임하겠냐' 는 질문에
이런 질문 나올 줄 예상했다는 말을 하면서
XBOX 같이 누구를 지정하서 함께 게임하기 힘든 환경에서는 충분히 좋은 시도일 거라고 했습니다.
생각해보면 Left 4 Dead 같은 게임에서 '아무 방이나 들어가기' 를 할 때
탱커, 딜러, 힐러의 역할이 잘 맞아떨어지도록 사용자를 엮어줄 수 있다면
게임을 더 재미있게 할 수 있게 도와줄 수 있겠더군요.

중간에 노트북 전원이 나간게 아쉽긴 하지만, 덕분에 Q/A 시간을 더 가질 수 있었던 더 같습니다.
좋은 강연 감사합니다.


다음은 "배현직 (넷텐션) - ?P2P 통신과 대규모 멀티플레이를 한번에 잡기: ProudNet 소개" 을 들었습니다.
바로 다음 시간이 제 강연이라 마지막 10분쯤은 듣지 못했지만 강연 잘 들었습니다.
네트워크용 라이브러리가 많다는 것도 처음 알았네요.
대항해시대 online 이 썼다는 QVCE 라던지, MMORPG 용으로 개발되었다는 NetDog 도 있더군요.

배현직 님이 블리츠1941 개발에도 참여하신 듯 하더군요.
홀펀칭을 기다리는 동안 Relay 서버로 통신을 먼저하게 하는 방식, 동기화를 보여주는 동영상,
다양한 NAT 장비에서 테스트 하는 환경,
(중국 PC 방(왕빠. 网吧)에서는 컴퓨터가 500 대 이상 있어서 공유기에 공유기를 붙인다고 하는군요.)
실제로 설치한 후 네트워크 관련 코드와 PIDL (Proud IDL 이겠죠?) 로 RPC delegate 하는 코드까지 보여주셨습니다.
UDP 홀펀칭에 Full Cone, Port Restricted, Restricted, Symmetric Cone 4가지 타입이 있다는 것도 알게 되었네요.
그리고 symmetric NAT 은 port 예측 기법을 써야 하는데 너무 패킷을 막 쏘다보면 malware detect 가 될 수 있기 때문에
천천히 (10초정도) 해야 하고 이 시간 동안에는 relay 서버를 쓰고 있다는 사실도 알게 되었습니다.
P2P 의 super peer 에서 병목이 생기면 네트워크 허용하는 정도까지만 super peer 에 붙고, 나머지는 relay 서버를 이용하게 하고
msg throttling 기능, io thread 와 user worker thread 를 분리해, packet buffer 가 꽉 차서 접속 끊기는 문제 해결,
DDOS 공격 방어 있는 라우터(RCS 패킷 차단)에는 패킷을 MTU 로 속여서 보내는 기능(MTU 는 전송 단위지 프로토콜은 아니지 않나요? 제가 잘 못 알아들은 듯?)
1G 까지 한 번에 보낼 수 있는 기능등을 얘기했습니다.

좋은 강연 감사합니다.

저는 강연 잘 끝내고, 점심 잘 먹고 다음 강연장으로 갔습니다.

핑백

덧글

  • imays 2009/10/17 18:48 # 삭제 답글

    제 강연을 구체적으로 잘 설명해주셨군요. @.@ 강연 소감 감사합니다. 특히 제 사진 ㅎㄷㄷ;; 에구 창피해
    MTU 얘기는, MTU 크기를 속이는게 아니라 MTU 크기에 맞춰서 패킷을 미리 쪼개서 송신한다는 뜻입니다. 제가 강연이 어버버 ㅋ

    블리츠1941에서 저는 개발 첫날부터 상용화까지 참여했었고, 기술 이사로 재직했었습니다. 5년동안의 개고생보다, 상용화 후 시장에서 큰 성과를 못냈을때가 더 힘들었죠. 하지만 5년동안의 개고생은 서버프로그래머였던 제가 3D엔진 프로그래머로서, 팀장으로서, 한 회사의 이사로서의 전환을 하는 데 큰 밑거름이 되었습니다.
  • 박PD 2009/10/17 20:01 #

    네. 저는 좀 사정은 다르지만,
    개발하던 게임이 도중에 drop 판정을 받았을 때의 충격과 허무함을 느껴봤기 때문에,
    약간은 그 때 블리츠 팀의 심정을 이해할 수 있을 거 같습니다.
    좋은 강연 감사드립니다.
    서버 엔진으로 기술 회사를 차려서 성공을 거두고 있는 분이 어떤 분인가 했는데
    생각보다 젊으시고 밝은 분위기시더군요. 만나뵙게 되어서 반가웠습니다.
  • 윤태복 2009/10/25 00:08 # 삭제 답글

    우연히 자료 검색중에 머물다 갑니다.
    강연 소감 감사합니다. ^^
  • 박PD 2009/10/25 10:03 #

    좋은 강연해 주셔서 감사합니다. 언제 강연 자료 공개해 주시면 더 좋구요.
댓글 입력 영역


Yes24위대한게임의탄생3

위대한 게임의 탄생 3
예스24 | 애드온2