본문 바로가기

추천 검색어

실시간 인기 검색어

멀티플레이어 게임 프로그래밍

네트워크 게임의 아키텍처를 만드는 기술
길벗 · 2017년 04월 26일
9.8 (7개의 리뷰)
집중돼요 (33%의 구매자)
  • 멀티플레이어 게임 프로그래밍 대표 이미지
    멀티플레이어 게임 프로그래밍 대표 이미지
  • A4
    사이즈 비교
    210x297
    184x236
    단위 : mm
MD의 선택 무료배송 이벤트 소득공제
10% 29,700 33,000
적립/혜택
1,650P

기본적립

5% 적립 1,650P

추가적립

  • 5만원 이상 구매 시 추가 2,000P
  • 3만원 이상 구매 시, 등급별 2~4% 추가 최대 1,650P
  • 리뷰 작성 시, e교환권 추가 최대 300원
배송안내
무료배송
배송비 안내
국내도서/외국도서
도서만 15,000원 이상 구매 시 무료배송
도서+교보Only(교보배송)을 함께 15,000원 이상 구매 시 무료배송

15,000원 미만 시 2,500원 배송비 부과

교보Only(교보배송)
각각 구매하거나 함께 20,000원 이상 구매 시 무료배송

20,000원 미만 시 2,500원 배송비 부과

해외주문 서양도서/해외주문 일본도서(교보배송)
각각 구매하거나 함께 15,000원 이상 구매 시 무료배송

15,000원 미만 시 2,500원 배송비 부과

업체배송 상품(전집, GIFT, 음반/DVD 등)
해당 상품 상세페이지 "배송비" 참고 (업체 별/판매자 별 무료배송 기준 다름)
바로드림 오늘배송
업체에서 별도 배송하여 1Box당 배송비 2,500원 부과

1Box 기준 : 도서 10권

그 외 무료배송 기준
바로드림, eBook 상품을 주문한 경우, 플래티넘/골드/실버회원 무료배송쿠폰 이용하여 주문한 경우, 무료배송 등록 상품을 주문한 경우
주문정보를 불러오는 중입니다.
서울시 종로구 종로 1

알림 신청하시면 원하시는 정보를
받아 보실 수 있습니다.

해외주문/바로드림/제휴사주문/업체배송건의 경우 1+1 증정상품이 발송되지 않습니다.

패키지

북카드

키워드 Pick

키워드 Pick 안내

관심 키워드를 주제로 다른 연관 도서를 다양하게 찾아 볼 수 있는 서비스로, 클릭 시 관심 키워드를 주제로 한 다양한 책으로 이동할 수 있습니다.
키워드는 최근 많이 찾는 순으로 정렬됩니다.

현업 개발자가 알려주는 탄탄한 멀티플레이어 게임 프로그래밍
[리그 오브 레전드], [디스트로이 올 휴먼즈] 시리즈를 컨설팅하고 [로보블리츠], [맥스 액스], [스크랩 포스]를 개발한 조슈아 글레이저와 [메달 오브 아너: 퍼시픽 어썰트], [반지의 제왕: 컨퀘스트], [사보타주] 게임 제작에 참여한 산제이 마드하브가 서던캘리포니아 게임 학과에서 강의한 멀티플레이어 게임 프로그래밍을 책으로 옮겼다. 액션 게임과 실시간 전략 게임을 통해 멀티플레이어 아키텍처를 어떻게 구축하는지, 엔진의 각 부분을 어떻게 만들어야 하는지 설명한다.

작가정보

저자 조슈아 글레이저(Joshua Glazer)는 네이키드 스카이 엔터테인먼트(Naked Sky Entertainment)의 공동 설립자이자 CTO로 《로보블리츠》, 《마이크로봇》, 《트위스터 매니아》 등 콘솔 및 PC 게임을 개발해 왔고, 최근에는 모바일 히트작 《맥스 액스》와 《스크랩 포스》를 개발했다. 네이키드 스카이 팀 리더로 에픽 게임스의 언리얼 엔진, 라이엇 게임즈의 《리그 오브 레전드》, THQ의 《디스트로이 올 휴먼즈》 시리즈 및 일렉트로닉 아츠, 미드웨이, 마이크로소프트, 파라마운트 픽쳐스 등 많은 외부 프로젝트의 컨설팅을 맡기도 하였다.
조슈아 글레이저는 또한, 서던캘리포니아대학의 시간 강사로 활동하면서 멀티플레이어 게임 프로그래밍과 게임 엔진 개발을 열성적으로 가르쳐 왔다.

저자 산제이 마드하브(Sanjay Madhav)는 서던캘리포니아대학의 전임 강사로 여러 프로그래밍 과정 및 비디오 게임 프로그래밍 과정을 가르치고 있다. 주요 강의 내용은 학부생 수준 게임 프로그래밍으로, 2008년 이래로 이러한 과정을 강의하고 있다. 그뿐만 아니라 여러 다른 주제도 가르쳐 왔는
데, 게임 엔진, 자료 구조, 컴파일러 개발 등이 그것이다. 《Game Programming Algorithms and
Techniques(게임 프로그래밍 알고리즘과 테크닉)》의 저자이기도 하다.
산제이 마드하브는 서던캘리포니아대학에 부임하기 전 일렉트로닉 아츠, 네버소프트, 판데믹 스튜디오 등 여러 회사에서 비디오 게임을 개발하기도 하였다. 제작에 참여한 게임은 《메달 오브 아너: 퍼시픽 어썰트》, 《토니 호크 프로젝트 8》, 《반지의 제왕: 컨퀘스트》, 《사보타주》 등으로 네트워크 멀티플레이를 채택한 게임이 대부분이다.

역자 장준혁은 고려대학교 컴퓨터학과를 졸업한 후 2017년 현재 15년간 온라인, 콘솔, 모바일 게임의 클라이언트와 서버를 오가며 다양한 게임 프로젝트를 수행했다. 주로 엔진 커스터마이즈, 프레임워크 구축 등을 담당했으며 현재는 넥슨 코리아에 근무하면서 게임 개발 파이프라인 개선, 멀티플레이어 네트워킹, 전술 전략 AI 등을 주제로 흥미로운 도전을 이어가고 있다. 스팀 라이브러리에 쌓여만 가는 게임 목록을 보고 늘 한숨짓는 아빠 게이머이기도 하다.

작가의 말

네트워크 멀티플레이 게임은 오늘날 게임 산업에서 큰 축을 담당하고 있다. 게임을 즐기는 인구도 오가는 돈도 어마어마하다. 2014년 당시 매달 6천 7백만 플레이어가 《리그 오브 레전드》를 즐기고 있었으며 이 책을 쓰는 시점인 2015년 《DoTA 2》 월드 챔피언십의 상금은 도합 170억 원 규모에 달한다. 멀티플레이 모드 덕분에 대중적 인기를 누리는 《콜 오브 듀티》 시리즈의 경우 매번 출시하기가 무섭게 1조 원 이상의 매상을 올린다. 그간 싱글 플레이만 지원하던 《GTA(Grand Theft Auto)》 시리즈도 드디어 4편부터 네트워크 멀티플레이 요소가 탑재되었다. 이 책에선 네트워크 멀티플레이 게임을 프로그래밍하는 데 필요한 주요 요소를 심도 있게 다룬다. 우선 네트워크의 기초부터 시작해서 인터넷은 어떤 방식으로 동작하고 데이터를 다른 컴퓨터에 보낼 때 내부에서 어떤 일이 일어나는지 알아본다. 기초를 다지고 나면 게임 데이터를 전송하는 기본 방법을 살펴본다. 네트워크로 게임 데이터를 보내기 위해 준비해야 할 것, 네트워크를 통해 게임 객체를 업데이트하는 법, 게임 세션에 참여하는 컴퓨터들을 조직화하고 연결하는 법 등이다. 그다음으로 다룰 내용은 인터넷에 필연적으로 수반되는 비신뢰성(예: 패킷 손실)과 랙을 어떻게 보완할지, 게임의 규모가 커지면 어떻게 대응해야 하는지, 그리고 게임의 보안을 강화하는 방법엔 무엇이 있는지 등이다. 12장과 13장에선 게임 서비스 플랫폼에 연동하는 방법과 전용 서버를 클라우드에 호스팅하는 법을 살펴본다. 이 두 가지 주제는 요즘 네트워크 게임에 있어 특히 중요성이 대두되고 있다. 이 책에선 이러한 주제에 대해 매우 실무적인 방향으로 접근하려 한다. 대부분 내용에서 개념을 다루는 데 그치지 않고 여러분이 직접 독자적인 네트워크 게임 코드를 구축할 수 있도록 실제 동작하는 코드를 제시할 것이다. 구현 예제는 두 가지 장르의 게임 하나씩으로 전체 소스 코드를 웹 사이트에서 다운로드 받을 수 있다. 첫째는 액션 게임이고 둘째는 실시간 전략 게임(RTS)이다. 진도가 나아감에 따라 이들 두 게임이 점점 개량되어 나가는 모습을 책에서 같이 확인할 수 있다. 이 책의 많은 부분은 서던캘리포니아대학교(University of Southern California)의 멀티플레이어 게임 프로그래밍 과정의 커리큘럼에 기초하고 있다. 따라서 멀티플레이어 게임을 개발하는 방법을 배우는 데 있어 어느 정도 검증된 내용이라 할 수 있다. 그렇다고 꼭 대학 교재 용도로 쓴 책은 아니며 네트워크 게임을 엔지니어링하는데 관심 있는 게임 프로그래머라면 누구에게나 가치 있는 내용이라 자부한다.

목차

  • 1장 네트워크 게임의 개요
    __1.1 멀티플레이어 게임의 간추린 역사
    ____1.1.1 로컬 멀티플레이어 게임
    ____1.1.2 초기 네트워크 멀티플레이어 게임
    ____1.1.3 MUD: 멀티 유저 던전
    ____1.1.4 랜 게임
    ____1.1.5 온라인 게임
    ____1.1.6 MMO 게임
    ____1.1.7 모바일 네트워크 게임
    __1.2 [스타시즈: 트라이브스]
    ____1.2.1 플랫폼 패킷 모듈
    ____1.2.2 연결 관리자
    ____1.2.3 스트림 관리자
    ____1.2.4 이벤트 관리자
    ____1.2.5 고스트 관리자
    ____1.2.6 이동 관리자
    ____1.2.7 기타 시스템
    __1.3 [에이지 오브 엠파이어]
    ____1.3.1 턴 타이머
    ____1.3.2 동기화
    __1.4 요약
    __1.5 복습 문제
    __1.6 더 읽을거리

    2장 인터넷
    __2.1 패킷 스위칭의 기원
    __2.2 TCP/IP 스택의 계층 구조
    __2.3 물리 계층
    __2.4 링크 계층
    ____2.4.1 이더넷/802.3
    __2.5 네트워크 계층
    ____2.5.1 IPv4
    ____2.5.2 IPv6
    __2.6 전송 계층
    ____2.6.1 UDP
    ____2.6.2 TCP
    __2.7 응용 계층
    ____2.7.1 DHCP
    ____2.7.2 DNS
    __2.8 NAT
    ____2.8.1 NAT 투과
    __2.9 요약
    __2.10 복습 문제
    __2.11 더 읽을거리

    3장 버클리 소켓
    __3.1 소켓 만들기
    __3.2 운영체제별 API 차이
    __3.3 소켓 주소
    ____3.3.1 자료형 안전성
    ____3.3.2 문자열로 sockaddr 초기화하기
    ____3.3.3 소켓 바인딩하기
    __3.4 UDP 소켓
    ____3.4.1 자료형 안전성을 보강한 UDP 소켓
    __3.5 TCP 소켓
    ____3.5.1 연결된 소켓으로 데이터 보내고 받기
    ____3.5.2 자료형 안전성을 보강한 TCP 소켓
    __3.6 블로킹 I/O와 논블로킹 I/O
    ____3.6.1 멀티스레딩
    ____3.6.2 논블로킹 I/O
    ____3.6.3 select( ) 함수
    __3.7 소켓 부가 옵션
    __3.8 요약
    __3.9 복습 문제
    __3.10 더 읽을거리

    4장 객체 직렬화
    __4.1 직렬화가 필요한 이유
    __4.2 스트림
    ____4.2.1 메모리 스트림
    ____4.2.2 엔디언 호환성
    ____4.2.3 비트 스트림
    __4.3 참조된 데이터 처리
    ____4.3.1 임베딩(또는 인라이닝)
    ____4.3.2 링킹
    __4.4 압축
    ____4.4.1 희소 배열(sparse array) 압축
    ____4.4.2 엔트로피 인코딩
    ____4.4.3 고정소수점
    ____4.4.4 기하 압축
    __4.5 유지보수성
    ____4.5.1 직렬화 읽기와 쓰기를 하나로 합치기
    ____4.5.2 데이터 주도 직렬화
    __4.6 요약
    __4.7 복습 문제
    __4.8 더 읽을거리

    5장 객체 리플리케이션
    __5.1 월드 상태
    __5.2 객체를 리플리케이션하기
    ____5.2.1 객체 생성 레지스트리
    ____5.2.2 한 패킷에 여러 객체 실어 보내기
    __5.3 초간단 월드 상태 리플리케이션
    __5.4 월드 상태의 변경
    ____5.4.1 객체 상태 부분 리플리케이션
    __5.5 직렬화 객체로 RPC 수행
    __5.6 리플리케이션 시스템 개조하기
    __5.7 요약
    __5.8 복습 문제
    __5.9 더 읽을거리

    6장 네트워크 토폴로지와 예제 게임
    __6.1 네트워크 토폴로지
    ____6.1.1 클라이언트-서버
    ____6.1.2 피어-투-피어
    __6.2 클라이언트-서버 구현하기
    ____6.2.1 서버 코드와 클라이언트 코드 분리하기
    ____6.2.2 네트워크 관리자 및 신규 클라이언트 마중하기
    ____6.2.3 입력 공유 및 클라이언트 프록시
    __6.3 피어-투-피어 구현하기
    ____6.3.1 신규 피어 마중하기 및 게임 시작하기
    ____6.3.2 명령 공유와 락스텝 턴
    ____6.3.3 동기화 유지하기
    __6.4 요약
    __6.5 복습 문제
    __6.6 더 읽을거리

    7장 레이턴시, 지터링, 신뢰성
    __7.1 레이턴시
    ____7.1.1 네트워크가 원인이 아닌 레이턴시
    ____7.1.2 네트워크 레이턴시
    __7.2 지터링
    __7.3 패킷 손실
    __7.4 신뢰성: TCP냐 UDP냐
    __7.5 패킷 배달 통지
    ____7.5.1 외부로 나가는 패킷에 꼬리표 달기
    ____7.5.2 패킷을 받고 확인응답하기
    ____7.5.3 확인응답 처리 및 배달 여부 알리기
    __7.6 객체 리플리케이션 신뢰성
    ____7.6.1 이미 전송 중인 최신 상태의 재전송을 막아 최적화하기
    __7.7 실제와 유사한 환경을 꾸며 테스트하기
    __7.8 요약
    __7.9 복습 문제
    __7.10 더 읽을거리

    8장 레이턴시 대응 강화
    __8.1 더미 터미널 클라이언트
    __8.2 클라이언트 측 보간
    __8.3 클라이언트 측 예측
    ____8.3.1 데드 레커닝
    ____8.3.2 클라이언트 이동 예측 및 이동 조작 되새김
    ____8.3.3 레이턴시를 교묘하게 감추기
    __8.4 서버 측 되감기
    __8.5 요약
    __8.6 복습 문제
    __8.7 더 읽을거리

    9장 규모 확장에 대응하기
    __9.1 객체 스코프 내지 연관성
    ____9.1.1 스태틱 존
    ____9.1.2 시야 절두체 사용
    ____9.1.3 기타 가시성 기법
    ____9.1.4 보이지 않아도 스코프에 포함되어야 하는 경우
    __9.2 서버 파티셔닝
    __9.3 인스턴싱
    __9.4 우선순위와 빈도
    __9.5 요약
    __9.6 복습 문제
    __9.7 더 읽을거리

    10장 보안
    __10.1 패킷 스니핑
    ____10.1.1 중간자 공격
    ____10.1.2 호스트 머신상 패킷 스니핑
    __10.2 입력 검증
    __10.3 소프트웨어 치트 감지
    ____10.3.1 VAC
    ____10.3.2 워든
    __10.4 서버 보안
    ____10.4.1 디도스 공격
    ____10.4.2 악성 데이터
    ____10.4.3 소요 시간 분석 공격
    ____10.4.4 침입
    __10.5 요약
    __10.6 복습 문제
    __10.7 더 읽을거리

    11장 상용 엔진 사례
    __11.1 언리얼 엔진
    ____11.1.1 소켓과 기본 네트워킹
    ____11.1.2 게임 객체와 토폴로지
    ____11.1.3 액터 리플리케이션
    ____11.1.4 원격 프로시저 호출
    __11.2 유니티
    ____11.2.1 전송 계층 API
    ____11.2.2 게임 객체와 토폴로지
    ____11.2.3 객체 스폰과 리플리케이션
    ____11.2.4 원격 프로시저 호출
    ____11.2.5 매치메이킹
    __11.3 요약
    __11.4 복습 문제
    __11.5 더 읽을거리

    12장 게임 서비스 플랫폼
    __12.1 게임 서비스 플랫폼 선택하기
    __12.2 기본 셋업
    ____12.2.1 초기화, 구동, 마무리
    ____12.2.2 유저 ID 및 이름
    __12.3 로비 및 매치메이킹
    __12.4 네트워킹
    __12.5 플레이어 통계
    __12.6 플레이어 도전과제
    __12.7 리더보드
    __12.8 기타 서비스
    __12.9 요약
    __12.10 복습 문제
    __12.11 더 읽을거리

    13장 클라우드에 전용 서버 호스팅하기
    __13.1 클라우드, 꼭 사용해야 할까
    __13.2 필수 도구
    ____13.2.1 REST
    ____13.2.2 JSON
    ____13.2.3 Node.js
    __13.3 용어 및 개요
    ____13.3.1 서버 게임 인스턴스
    ____13.3.2 게임 서버 프로세스
    ____13.3.3 게임 서버 머신
    ____13.3.4 하드웨어
    __13.4 로컬 서버 프로세스 관리자
    ____13.4.1 프로세스 모니터링
    __13.5 가상 머신 관리자
    ____13.5.1 가상 머신 모니터링
    __13.6 요약
    __13.7 복습 문제
    __13.8 더 읽을거리

    부록 A 모던 C++ 기초
    A.1 C+ +11
    A.2 레퍼런스
    A.2.1 상수 레퍼런스
    A.2.2 상수 멤버 함수
    A.3 템플릿
    A.3.1 템플릿 특수화
    A.3.2 정적 단언문과 자료형 특성 정보
    A.4 스마트 포인터
    A.4.1 shared_ptr
    A.4.2 unique_ptr
    A.4.3 weak_ptr
    A.4.4 주의 사항
    A.5 STL 컨테이너
    A.6 반복자
    A.6.1 범위 기반 for 구문
    A.6.2 반복자 활용하기
    A.7 더 읽을거리

출판사 서평

[이 책의 내용]
ㆍ 네트워크 게임의 태동과 그 진화 과정
ㆍ 인터넷 표준과 프로토콜을 게임 개발에 사용하기
ㆍ 멀티플레이어 게임 구현에 가장 널리 이용되는 버클리 소켓 다루기
ㆍ 인터넷 전송에 효율적인 게임 데이터 포맷 정하기
ㆍ 모든 플레이어가 같은 세계를 공유하도록 게임 상태 동기화하기
ㆍ 대규모 게임 구성을 위해 네트워크 토폴로지 조직하기
ㆍ 지연 및 데이터 손실을 초래하는 레이턴시와 지터링 문제 해결하기
ㆍ 게임 서버의 규모가 대형화될 때 성능 문제 해결하기
ㆍ 보안 취약점과 소프트웨어 치트에 대응하기
ㆍ 언리얼 4와 유니티 게임 엔진의 네트워크 기능 활용하기
ㆍ 매치 메이킹, 도전과제, 리더보드 등 게임 플랫폼 서비스에 연동하기
ㆍ 클라우드 환경에서 게임 서버 구동하기

[관련 도서]
[프로그래머를 위한 선형대수]
[게임을 움직이는 수학과 물리]
[3D 게임을 움직이는 수학과 물리]
[인프라 엔지니어의 교과서]

[옮긴이의 말]
이 책을 펼친 여러분이라면 틀림없이 누군가와 멀티플레이어 게임을 하면서 즐거운 시간을 보낸
경험이 있으실 겁니다. 그간 엄청나게 많은 게임이 세상에 선보였고 또 사라져 갔지만, 게이머들
에게 선택받고 오래 사랑받는 작품이 되기 위한 중요한 조건으로, 멋지게 구현된 멀티플레이만 한 게 또 있을까요.
한편 개발자로서 우리는 다양한 상용 엔진을 다루지만, 그 근간의 멀티플레이 로직이 어떻게 구성되어있는지, 왜 그런 설계가 필요했는지 이론적인 배경까지는 깊이 이해할 여유 없이 실무에 임할 때가 많습니다. 학부에서 전공과목 진도를 열심히 따라갔더라도, 막상 필드에서 필요한 내용이 있을 때 대체 그것을 여러 두꺼운 교과서 중 어디에서 봤던가 기억이 가물가물해 난감했던 경험을 가진 분도 계실 겁니다.
이 책에서 다루는 내용은 인터넷 링크 계층이나 스트림 및 바이트 순서 등 기초적이고 이론적인 내용부터 시작해, 데드 레커닝이나 서버 측 되감기 같은 고급 기법에 이르기까지 체계적으로 집대성되어 있습니다. 이를 통해 네트워크 게임을 개발하면서 갖게 될 법한 여러 의문에 대한 답을 얻을 수 있는데요, 쉬운 예로 왜 그간 PC 게임에서 TCP보다 UDP를 선호했는지, 왜 최근의 모바일 게임에선 또 TCP를 그럭저럭 쓰는 건지, 왜 엊그제 플레이한 콘솔 게임에서 랙 때문에 모내기하다 어처구니없게 킬 당했는지, 어떻게 만들었더라면 좀 나았을지 등등 말입니다.
기억이 새롭습니다. 네트워크 게임을 처음 개발할 때 프레임 틱을 어떻게 나누고 다루어야 하나,
입력 처리를 어떻게 해야 반응 속도가 좋으려나 칠판에 쓰고 지우고 또 쓰며 궁리하던 기억. 자꾸만 깨지는 동기화 코드를 밤새도록 디버깅하며 어디 물어볼 사람 하나만 있었으면 하고 답답해했던 기억. 이 책을 처음 읽었을 때, 당시에 고민했던 내용이 주제별로 정리된 것을 보고 무릎을 탁 쳤습니다. 그리고 과거로 타임슬립해서 자리에 한 권 올려놓고 왔으면 싶었습니다.
이제 게임 산업이 성숙하면서 많은 기술이 깔끔한 부품으로 포장되어 그 내부를 속속들이 알지 못하더라도 얼마든지 조립해 출시할 수 있는 시대가 되었습니다. 하지만, 여전히 원천 기술에 대한 이해가 부족하다면 손댈 엄두조차 나지 않는 과제들도 많이 남아있습니다. 이를테면 LTE 환경에서 MTU에 맞게 패킷 크기를 최적화하기, 클라이언트 측 예측을 수행하는 모듈의 ‘한 프레임’ 튀는 버그 잡아내기, 자동 스케일링 걸어놓은 클라우드 인스턴스의 프로세스가 안 죽고 버티는 문제 수정하기 등등. 게임의 완성도를 위해, 그리고 제품의 차별화를 위해, 나아가 생산성 재고 및 비용절감을 위해 시도할 수 있는 기술적 과제는 무궁무진합니다.
이 책의 내용을 충실히 소화한다면 다 해낼 수 있습니다, 라고 하는 건 무리겠지요. 하지만 적어도 여기 실린 내용은 십여 년간 제가 블로그나 논문에서 단편적으로만 접할 수 있던 내용들이 체계적으로 종합되어 있어 매우 도움될 것이라 자부합니다. 앞으로 멀티플레이 구현에 관련된 여러 책이나 글을 볼 계획이시라면, 이 책 한 권 만큼은 기왕 펼치신 김에 꼼꼼히 봐 두실 것을 추천해 드립니다.
번역 도중 궁금점에 대해 친절히 답변해 주시고, 우리나라 독자를 위해 인사 글을 따로 남겨주신
원저자 조슈아 글레이저 님께 감사드립니다(코핑 선생의 가르침을 잊지 않겠습니다). 아울러 출판 여건에도 불구하고 다양한 이론서적을 꾸준히 발굴하여 국내에 소개해 주시는 길벗출판사 여러분께도 감사드립니다. 늘 응원과 사랑을 아끼지 않는 아내 혜화, 그리고 게임 만드는 아빠가 마냥 자랑스러운 아들 지운이와 출간의 보람과 기쁨을 함께하고 싶습니다.

[지은이의 말]
네트워크 멀티플레이 게임은 오늘날 게임 산업에서 큰 축을 담당하고 있다. 게임을 즐기는 인구도 오가는 돈도 어마어마하다. 2014년 당시 매달 6천 7백만 플레이어가 《리그 오브 레전드》를 즐기고 있었으며 이 책을 쓰는 시점인 2015년 《DoTA 2》 월드 챔피언십의 상금은 도합 170억 원 규모에 달한다. 멀티플레이 모드 덕분에 대중적 인기를 누리는 《콜 오브 듀티》 시리즈의 경우 매번 출시하기가 무섭게 1조 원 이상의 매상을 올린다. 그간 싱글 플레이만 지원하던 《GTA(Grand Theft Auto)》 시리즈도 드디어 4편부터 네트워크 멀티플레이 요소가 탑재되었다.
이 책에선 네트워크 멀티플레이 게임을 프로그래밍하는 데 필요한 주요 요소를 심도 있게 다룬다. 우선 네트워크의 기초부터 시작해서 인터넷은 어떤 방식으로 동작하고 데이터를 다른 컴퓨터에 보낼 때 내부에서 어떤 일이 일어나는지 알아본다. 기초를 다지고 나면 게임 데이터를 전송하는 기본 방법을 살펴본다. 네트워크로 게임 데이터를 보내기 위해 준비해야 할 것, 네트워크를 통해 게임 객체를 업데이트하는 법, 게임 세션에 참여하는 컴퓨터들을 조직화하고 연결하는 법 등이다. 그다음으로 다룰 내용은 인터넷에 필연적으로 수반되는 비신뢰성(예: 패킷 손실)과 랙을 어떻게 보완할지, 게임의 규모가 커지면 어떻게 대응해야 하는지, 그리고 게임의 보안을 강화하는 방법엔 무엇이 있는지 등이다. 12장과 13장에선 게임 서비스 플랫폼에 연동하는 방법과 전용 서버를 클라우드에 호스팅하는 법을 살펴본다. 이 두 가지 주제는 요즘 네트워크 게임에 있어 특히 중요성이 대두되고 있다.
이 책에선 이러한 주제에 대해 매우 실무적인 방향으로 접근하려 한다. 대부분 내용에서 개념을 다루는 데 그치지 않고 여러분이 직접 독자적인 네트워크 게임 코드를 구축할 수 있도록 실제 동작하는 코드를 제시할 것이다. 구현 예제는 두 가지 장르의 게임 하나씩으로 전체 소스 코드를 웹 사이트에서 다운로드 받을 수 있다. 첫째는 액션 게임이고 둘째는 실시간 전략 게임(RTS)이다. 진도가 나아감에 따라 이들 두 게임이 점점 개량되어 나가는 모습을 책에서 같이 확인할 수 있다.
이 책의 많은 부분은 서던캘리포니아대학교(University of Southern California)의 멀티플레이어 게임 프로그래밍 과정의 커리큘럼에 기초하고 있다. 따라서 멀티플레이어 게임을 개발하는 방법을 배우는 데 있어 어느 정도 검증된 내용이라 할 수 있다. 그렇다고 꼭 대학 교재 용도로 쓴 책은 아니며 네트워크 게임을 엔지니어링하는데 관심 있는 게임 프로그래머라면 누구에게나 가치 있는 내용이라 자부한다.

기본정보

상품정보
ISBN 9791160501445 ( 1160501440 )
발행(출시)일자 2017년 04월 26일
쪽수 428쪽
크기
184 * 236 * 24 mm / 800 g
총권수 1권

Klover

Klover 리뷰 안내
교보를 애용해 주시는 고객님들이 남겨주신 평점과 감상을 바탕으로, 다양한 정보를 전달하는 교보문고의 리뷰 서비스입니다.
리워드 안내
구매 후 90일 이내에 평점과 10자 이상의 리뷰 작성 시 e교환권 200원을 적립해 드립니다.
e교환권은 적립 일로부터 180일 동안 사용 가능합니다.
리워드는 작성 후 다음 날 제공되며, 발송 전 작성 시 발송 완료 후 익일 제공됩니다.
리워드는 리뷰 종류별로 구매한 아이디당 한 상품에 최초 1회 작성 건들에 대해서만 제공됩니다.
판매가 1,000원 미만 도서의 경우 리워드 지급 대상에서 제외됩니다.
한달 후 리뷰
구매 후 30일~ 120일 이내에 작성된 두 번째 구매리뷰에 대해 한 달 후 리뷰로 인지하고 e교환권 100원을 추가 제공합니다.
운영 원칙 안내
Klover 리뷰를 통한 리뷰를 작성해 주셔서 감사합니다. 자유로운 의사 표현의 공간인 만큼 타인에 대한 배려를 부탁합니다.
일부 타인의 권리를 침해하거나 불편을 끼치는 것을 방지하기 위해 아래에 해당하는 Klover 리뷰는 별도의 통보 없이 삭제될 수 있습니다.
  • 도서나 타인에 대해 근거 없이 비방을 하거나 타인의 명예를 훼손할 수 있는 리뷰
  • 도서와 무관한 내용의 리뷰
  • 인신공격이나 욕설, 비속어, 혐오발언이 개재된 리뷰
  • 의성어나 의태어 등 내용의 의미가 없는 리뷰

리뷰는 1인이 중복으로 작성하실 수는 있지만, 평점계산은 가장 최근에 남긴 1건의 리뷰만 반영됩니다.
신고하기
다른 고객이 작성리뷰에 대해 불쾌함을 느끼는 경우 신고를 할 수 있으며, 신고 자가 일정수준 이상 누적되면 작성하신 리뷰가 노출되지 않을 수 있습니다.

구매 후 리뷰 작성 시, e교환권 200원 적립

문장수집

문장수집 안내
문장수집은 고객님들이 직접 선정한 책의 좋은 문장을 보여주는 교보문고의 새로운 서비스입니다. 마음을 두드린 문장들을 기록하고 좋은 글귀들은 "좋아요“ 하여 모아보세요. 도서 문장과 무관한 내용 등록 시 별도 통보 없이 삭제될 수 있습니다.
리워드 안내
구매 후 90일 이내에 문장수집 작성 시 e교환권 100원을 적립해드립니다.
e교환권은 적립 일로부터 180일 동안 사용 가능합니다. 리워드는 작성 후 다음 날 제공되며, 발송 전 작성 시 발송 완료 후 익일 제공됩니다.
리워드는 한 상품에 최초 1회만 제공됩니다.
주문취소/반품/절판/품절 시 리워드 대상에서 제외됩니다.

구매 후 리뷰 작성 시, e교환권 100원 적립

이 책의 첫 기록을 남겨주세요

교환/반품/품절 안내

상품 설명에 반품/교환 관련한 안내가 있는 경우 그 내용을 우선으로 합니다. (업체 사정에 따라 달라질 수 있습니다.)

이벤트
TOP

저자 모두보기

매장별 재고 및 위치

할인쿠폰 다운로드

  • 쿠폰은 주문결제화면에서 사용 가능합니다.
  • 다운로드한 쿠폰은 마이 > 혜택/포인트 에서 확인 가능합니다.
  • 도서정가제 적용 대상 상품에 대해서는 정가의 10%까지 쿠폰 할인이 가능합니다.
  • 도서정가제 적용 대상 상품에 10% 할인이 되었다면, 해당 상품에는 사용하실 수
    없습니다.

적립예정포인트 안내

  • 통합포인트 안내

    • 통합포인트는 교보문고(인터넷, 매장), 핫트랙스(인터넷, 매장), 모바일 교보문고 등 다양한 곳에서 사용하실 수 있습니다.
    • 상품 주문 시, 해당 상품의 적립률에 따라 적립 예정 포인트가 자동 합산되고 주문하신 상품이 발송완료 된 후에 자동으로 적립됩니다.
    • 단, 쿠폰 및 마일리지, 통합포인트, e교환권 사용 시 적립 예정 통합포인트가 변동될 수 있으며 주문취소나 반품시에는 적립된 통합포인트가 다시 차감됩니다.
  • 통합포인트 적립 안내

    • 통합포인트는 도서정가제 범위 내에서 적용됩니다.
    • 추가적립 및 회원 혜택은 도서정가제 대상상품(국내도서, eBook등)으로만 주문시는 해당되지 않습니다.
  • 기본적립) 상품별 적립금액

    • 온라인교보문고에서 상품 구매시 상품의 적립률에 따라 적립됩니다.
    • 단 도서정가제 적용 대상인 국내도서,eBook은 15%내에서 할인율을 제외한 금액내로 적립됩니다.
  • 추가적립) 5만원 이상 구매시 통합포인트 2천원 추가적립

    • 5만원 이상 구매시 통합포인트 2천원 적립됩니다.
    • 도서정가제 예외상품(외서,음반,DVD,잡지(일부),기프트) 2천원 이상 포함시 적립 가능합니다.
    • 주문하신 상품이 전체 품절인 경우 적립되지 않습니다.
  • 회원혜택) 3만원이상 구매시 회원등급별 2~4% 추가적립

    • 회원등급이 플래티넘, 골드, 실버 등급의 경우 추가적립 됩니다.
    • 추가적립은 실결제액 기준(쿠폰 및 마일리지, 통합포인트, e교환권 사용액 제외) 3만원 이상일 경우 적립됩니다.
    • 주문 후 취소,반품분의 통합포인트는 단품별로 회수되며, 반품으로 인해 결제잔액이 3만원 미만으로 변경될 경우 추가 통합포인트는 전액 회수될 수 있습니다.

제휴 포인트 안내

제휴 포인트 사용

  • OK CASHBAG 10원 단위사용 (사용금액 제한없음)
  • GS&POINT 최대 10만 원 사용
더보기

구매방법 별 배송안내

배송 일정 안내

  • 출고 예정일은 주문상품의 결제(입금)가 확인되는 날 기준으로 상품을 준비하여 상품 포장 후 교보문고 물류센터에서 택배사로 전달하게 되는 예상 일자입니다.
  • 도착 예정일은 출고 예정일에서 택배사의 배송일 (약1~2일)이 더해진 날이며 연휴 및 토, 일, 공휴일을 제외한 근무일 기준입니다.
배송 일정 안내
출고예정일 도착예정일
1일이내 상품주문 후 2~3일 이내
2일이내 상품주문 후 3~4일 이내
3일이내 상품주문 후 4~5일 이내
4일이내 상품주문 후 5~6일 이내

연휴 및 토, 일, 공휴일은 제외됩니다.

당일배송 유의사항

  • 수도권 외 지역에서 선물포장하기 또는 사은품을 포함하여 주문할 경우 당일배송 불가
  • 회사에서 수령할 경우 당일배송 불가 (퇴근시간 이후 도착 또는 익일 배송 될 수 있음)
  • 무통장입금 주문 후 당일 배송 가능 시간 이후 입금된 경우 당일 배송 불가
  • 주문 후 배송지 변경 시 변경된 배송지에 따라 익일 배송될 수 있습니다.
  • 수도권 외 지역의 경우 효율적인 배송을 위해 각 지역 매장에서 택배를 발송하므로, 주문 시의 부록과 상이할 수 있습니다.
  • 각 지역 매장에서 재고 부족 시 재고 확보를 위해 당일 배송이 불가할 수 있습니다.

일반배송 시 유의사항

  • 날씨나 택배사의 사정에 따라 배송이 지연될 수 있습니다.
  • 수도권 외 지역 바로배송 서비스의 경우 경품 수령 선택 여부에 따라 도착 예정일이 변경됩니다.
  • 출고 예정일이 5일 이상인 상품의 경우(결제일로부터 7일 동안 미입고), 출판사 / 유통사 사정으로 품/절판 되어 구입이 어려울 수 있습니다. 이 경우 SMS, 메일로 알려드립니다.
  • 선물포장 주문 시 합배송 처리되며, 일부상품 품절 시 도착 예정일이 늦어질 수 있습니다.
  • 분철상품 주문 시 분철 작업으로 인해 기존 도착 예정일에 2일 정도 추가되며, 당일 배송, 해외 배송이 불가합니다.

해외주문 시 유의사항

  • 해외주문도서는 해외 거래처 사정에 의해 품절/지연될 수 있습니다.

Special order 주문 시 유의사항

  • 스페셜오더 도서나 일서 해외 주문 도서와 함께 주문 시 배송일이 이에 맞추어 지연되오니, 이점 유의해 주시기 바랍니다.

바로드림존에서 받기

  1. STEP 01
    매장 선택 후 바로드림 주문
  2. STEP 02
    준비완료 알림 시 매장 방문하기
  3. STEP 03
    바로드림존에서 주문상품 받기
  • 바로드림은 전국 교보문고 매장 및 교내서점에서 이용 가능합니다.
  • 잡지 및 일부 도서는 바로드림 이용이 불가합니다.
  • 각 매장 운영시간에 따라 바로드림 이용 시간이 달라질 수 있습니다.

수령 안내

  • 안내되는 재고수량은 서비스 운영 목적에 따라 상이할 수 있으므로 해당 매장에 문의해주시기 바랍니다.
  • 바로드림 주문 후 재고가 실시간 변동되어, 수령 예상 시간에 수령이 어려울 수 있습니다.

취소/교환/반품 안내

  • 주문 후 7일간 찾아가지 않으시면, 자동으로 결제가 취소됩니다.
  • 취소된 금액은 결제수단의 승인취소 및 예치금으로 전환됩니다.
  • 교환/반품은 수령하신 매장에서만 가능합니다.

사은품 관련 안내

  • 바로드림 서비스는 일부 1+1 도서, 경품, 사은품 등이 포함 되지 않습니다.

음반/DVD 바로드림시 유의사항

  • 음반/DVD 상품은 바로드림 주문 후 수령점 변경이 불가합니다. 주문 전 수령점을 꼭 확인해 주세요.
  • 사은품(포스터,엽서 등)은 증정되지 않습니다.
  • 커버이미지 랜덤발매 음반은 버전 선택이 불가합니다.
  • 광화문점,강남점,대구점,영등포점,잠실점은 [직접 찾아 바로드림존 가기], [바로드림존에서 받기] 로 주문시 음반 코너에서 수령확인이 가능합니다
  • 선물 받는 분의 휴대폰번호만 입력하신 후 결제하시면 받는 분 휴대폰으로 선물번호가 전달됩니다.
  • 문자를 받은 분께서는 마이 > 주문관리 > 모바일 선물내역 화면에서 선물번호와 배송지 정보를 입력하시면 선물주문이 완료되어 상품준비 및 배송이 진행됩니다.
  • 선물하기 결제하신 후 14일까지 받는 분이 선물번호를 등록하지 않으실 경우 주문은 자동취소 됩니다.
  • 또한 배송 전 상품이 품절 / 절판 될 경우 주문은 자동취소 됩니다.

바로드림 서비스 안내

  1. STEP 01
    매장 선택 후 바로드림 주문
  2. STEP 02
    준비완료 알림 시 매장 방문하기
  3. STEP 03
    바로드림존에서 주문상품 받기
  • 바로드림은 전국 교보문고 매장 및 교내서점에서 이용 가능합니다.
  • 잡지 및 일부 도서는 바로드림 이용이 불가합니다.
  • 각 매장 운영시간에 따라 바로드림 이용 시간이 달라질 수 있습니다.

수령 안내

  • 안내되는 재고수량은 서비스 운영 목적에 따라 상이할 수 있으므로 해당 매장에 문의해주시기 바랍니다.
  • 바로드림 주문 후 재고가 실시간 변동되어, 수령 예상시간에 수령이 어려울 수 있습니다.

취소/교환/반품 안내

  • 주문 후 7일간 찾아가지 않으시면, 자동으로 결제가 취소됩니다.
  • 취소된 금액은 결제수단의 승인취소 및 예치금으로 전환됩니다.
  • 교환/반품은 수령하신 매장에서만 가능합니다.

사은품 관련 안내

  • 바로드림 서비스는 일부 1+1 도서, 경품, 사은품 등이 포함되지 않습니다.

음반/DVD 바로드림시 유의사항

  • 음반/DVD 상품은 바로드림 주문 후 수령점 변경이 불가합니다. 주문 전 수령점을 꼭 확인해주세요.
  • 사은품(포스터,엽서 등)은 증정되지 않습니다.
  • 커버이미지 랜덤발매 음반은 버전 선택이 불가합니다.
  • 광화문점,강남점,대구점,영등포점,잠실점은 [직접 찾아 바로드림존 가기], [바로드림존에서 받기] 로 주문시 음반코너에서 수령확인이 가능합니다.
  1. STEP 01
    픽업박스에서 찾기 주문
  2. STEP 02
    도서준비완료 후 휴대폰으로 인증번호 전송
  3. STEP 03
    매장 방문하여 픽업박스에서 인증번호 입력 후 도서 픽업
  • 바로드림은 전국 교보문고 매장 및 교내서점에서 이용 가능합니다.
  • 잡지 및 일부 도서는 바로드림 이용이 불가합니다.
  • 각 매장 운영시간에 따라 바로드림 이용 시간이 달라질 수 있습니다.

수령 안내

  • 안내되는 재고수량은 서비스 운영 목적에 따라 상이할 수 있으므로 해당 매장에 문의해주시기 바랍니다.
  • 바로드림 주문 후 재고가 실시간 변동되어, 수령 예상시간에 수령이 어려울 수 있습니다.

취소/교환/반품 안내

  • 주문 후 7일간 찾아가지 않으시면, 자동으로 결제가 취소됩니다.
  • 취소된 금액은 결제수단의 승인취소 및 예치금으로 전환됩니다.
  • 교환/반품은 수령하신 매장에서만 가능합니다.

사은품 관련 안내

  • 바로드림 서비스는 일부 1+1 도서, 경품, 사은품 등이 포함되지 않습니다.

음반/DVD 바로드림시 유의사항

  • 음반/DVD 상품은 바로드림 주문 후 수령점 변경이 불가합니다. 주문 전 수령점을 꼭 확인해주세요.
  • 사은품(포스터,엽서 등)은 증정되지 않습니다.
  • 커버이미지 랜덤발매 음반은 버전 선택이 불가합니다.
  • 광화문점,강남점,대구점,영등포점,잠실점은 [직접 찾아 바로드림존 가기], [바로드림존에서 받기] 로 주문시 음반코너에서 수령확인이 가능합니다.

도서 소득공제 안내

  • 도서 소득공제란?

    • 2018년 7월 1일 부터 근로소득자가 신용카드 등으로 도서구입 및 공연을 관람하기 위해 사용한 금액이 추가 공제됩니다. (추가 공제한도 100만원까지 인정)
      • 총 급여 7,000만 원 이하 근로소득자 중 신용카드, 직불카드 등 사용액이 총급여의 25%가 넘는 사람에게 적용
      • 현재 ‘신용카드 등 사용금액’의 소득 공제한도는 300만 원이고 신용카드사용액의 공제율은 15%이지만, 도서·공연 사용분은 추가로 100만 원의 소득 공제한도가 인정되고 공제율은 30%로 적용
      • 시행시기 이후 도서·공연 사용액에 대해서는 “2018년 귀속 근로소득 연말 정산”시기(19.1.15~)에 국세청 홈택스 연말정산간소화 서비스 제공
  • 도서 소득공제 대상

    • 도서(내서,외서,해외주문도서), eBook(구매)
    • 도서 소득공제 대상 상품에 수반되는 국내 배송비 (해외 배송비 제외)
      • 제외상품 : 잡지 등 정기 간행물, 음반, DVD, 기프트, eBook(대여,학술논문), 사은품, 선물포장, 책 그리고 꽃
      • 상품정보의 “소득공제” 표기를 참고하시기 바랍니다.
  • 도서 소득공제 가능 결제수단

    • 카드결제 : 신용카드(개인카드에 한함)
    • 현금결제 : 예치금, 교보e캐시(충전에한함), 해피머니상품권, 컬쳐캐쉬, 기프트 카드, 실시간계좌이체, 온라인입금
    • 간편결제 : 교보페이, 네이버페이, 삼성페이, 카카오페이, PAYCO, 토스, CHAI
      • 현금결제는 현금영수증을 개인소득공제용으로 신청 시에만 도서 소득공제 됩니다.
      • 교보e캐시 도서 소득공제 금액은 교보eBook > e캐시 > 충전/사용내역에서 확인 가능합니다.
      • SKpay, 휴대폰 결제, 교보캐시는 도서 소득공제 불가
  • 부분 취소 안내

    • 대상상품+제외상품을 주문하여 신용카드 "2회 결제하기"를 선택 한 경우, 부분취소/반품 시 예치금으로 환원됩니다.

      신용카드 결제 후 예치금으로 환원 된 경우 승인취소 되지 않습니다.

  • 도서 소득공제 불가 안내

    • 법인카드로 결제 한 경우
    • 현금영수증을 사업자증빙용으로 신청 한 경우
    • 분철신청시 발생되는 분철비용

알림 신청

아래의 알림 신청 시 원하시는 소식을 받아 보실 수 있습니다.
알림신청 취소는 마이룸 > 알림신청내역에서 가능합니다.

멀티플레이어 게임 프로그래밍
네트워크 게임의 아키텍처를 만드는 기술
한달 후 리뷰
/ 좋았어요
작년까지만 해도 주식은 커녕 재테크에 관해 아무것도 모르다가 올해 주식 투자를 시작했다. 아무것도 모르고 초심자의 행운으로 분유값 정도를 벌고 나니, 조금 더 공부해보고 싶어져서 『초격차 투자법』을 구매했다.
작년까지만 해도 주식은 커녕 재테크에 관해 아무것도 모르다가 구매했어요! 저도 공부하고 싶어서 구매했어요~ 다같이 완독 도전해봐요! :)
기대가됩니다~
작년까지만 해도 주식은 커녕 재테크에 관해 아무것도 모르다가 구매했어요! 저도 공부하고 싶어서 구매했어요~ 다같이 완독 도전해봐요! :)
기대가됩니다~
작년까지만 해도 주식은 커녕 재테크에 관해 아무것도 모르다가 구매했어요! 저도 공부하고 싶어서 구매했어요~ 다같이 완독 도전해봐요! :)
작년까지만 해도 주식은 커녕 재테크에 관해 아무것도 모르다가 구매했어요! 저도 공부하고 싶어서 구매했어요~ 다같이 완독 도전해봐요! :)
기대가됩니다~
기대가됩니다~
기대가됩니다~
기대가됩니다~
이 구매자의 첫 리뷰 보기
/ 좋았어요
하루밤 사이 책한권을 읽은게 처음이듯 하다. 저녁나절 책을 집어든게 잘못이다. 마치 게임에 빠진 아이처럼 잠을 잘수없게 만든다. 결말이 어쩌면 당연해보이는 듯 하여도 헤어나올수 없는 긴박함이 있다. 조만간 영화화되어지지 않을까 예견해 본다. 책한권으로 등의 근육들이 오그라진 느낌에 아직도 느껴진다. 하루밤 사이 책한권을 읽은게 처음이듯 하다. 저녁나절 책을 집어든게 잘못이다. 마치 게임에 빠진 아이 처럼 잠을 잘수없게 만든다. 결말이 어쩌면 당연해보이는 듯 하여도 헤어나올수 없는 긴박함이 있다. 조만간 영화화되어지지 않을까..
작년까지만 해도 주식은 커녕 재테크에 관해 아무것도 모르다가 구매했어요! 저도 공부하고 싶어서 구매했어요~ 다같이 완독 도전해봐요! :)
기대가됩니다~
신고

신고 사유를 선택해주세요.
신고 내용은 이용약관 및 정책에 의해 처리됩니다.

허위 신고일 경우, 신고자의 서비스 활동이 제한될 수 있으니 유의하시어
신중하게 신고해주세요.

판형알림

  • A3 [297×420mm]
  • A4 [210×297mm]
  • A5 [148×210mm]
  • A6 [105×148mm]
  • B4 [257×364mm]
  • B5 [182×257mm]
  • B6 [128×182mm]
  • 8C [8절]
  • 기타 [가로×세로]
EBS X 교보문고 고객님을 위한 5,000원 열공 혜택!
자세히 보기