네트워크 게임 프로그래밍

Download Report

Transcript 네트워크 게임 프로그래밍

네트워크 게임 프로그래밍
텀 프로젝트
[PM / PG1] 지윤창(2003183042)
[PG2] 김웅(2003183005)
목차






컨셉
구조
통신
테스트 기능
일정표
시연
컨셉





서버에 복수의 클라이언트가 접속
정보의 중요성을 구분
각종 통지는 느리더라도 정확히 전달
움직임은 정확성보다 속도를 우선





네트워크 컨셉
목표 기능
비행기 움직임 조정
미사일 처리 구현
채팅 구현
테스트를 위한 각종 기능
(상단뷰/각종 명령어)
베이스 프로그램
구조 – 전체 디자인
Server
Service
BroadCast
Client
Client
Relay
Client
Relay
TCP
UDP
Max Client 8
프로토타입
구조 - 클라이언트
Client
ThreadManager
Client
Commander
BroadcastRecv
ObjectManager
MotionUpdate
ServiceRequester
UdpLink
Service
UDP
Class
Thread
Broadcast
Socket
구조 - 서버
Server
Service
Listening
Servicer
Broadcaster
ClientManager
ObjectManager
ThreadManager
Broadcast
Listening
Listening Thread
Service
Service Thread
Broadcast Thread
Broadcast
Access Keep Thread
Relay Thread
Relay
(UDP)
Class
Thread
Socket
통신
Server
Client
Service
Service Thread
Broadcast Thread
Service Requester
Broadcast
Broadcast Receiver Thread
Motion Update Thread
Relay Thread
Relay
(UDP)
UDP Link Thread
ObjectManager::UpdateObject
Other Client
Motion Update Thread
UDP Link Thread
ObjectManager::UpdateObject
UDP
통신 – 서비스/브로드캐스트
서비스
내용
브로드캐스트
내용
REQUEST_CODE
클라이언트 코드 요청
REQUEST_CLIENT
다른 클라이언트 정보 요구
REQUEST_OBJECT
사용되는 오브젝트 정보 요구
REQUEST_RELAY_LINK
서버와 UDP연결 요구
NEW_CLIENT
새 클라이언트 접속
NOTICE_NEW_OBJECT
새로운 오브젝트 생성 통지
NEW_OBJECT
신 오브젝트가 생성
NOTICE_DEL_OBJECT
오브젝트 삭제 통지
DEL_OBJECT
오브젝트가 삭제
NOTICE_ACCESS_OFF
접속종료 통지
OFF_CLIENT
클라이언트 접속 종료
NOTICE_MESSAGE
채팅 메시지 통지
MESSAGE
채팅 메시지 발생
NOTICE_MISSILE_CRUSH
미사일 충돌 통지
MISSILE_CRUSH
미사일 충돌
CHECK_SOCKET
접속 확인
통신 – 오브젝트 동기화
Server
Relay Thread
Relay
(UDP)
UDP
UDP
Tick
Motion Update Thread
Motion Update Thread
UDP Link Thread
UDP Link Thread
ObjectManager::UpdateObject
ObjectManager::UpdateObject
Client 1
Client 2
테스트 기능 – 상단 뷰
테스트 기능 - 명령어

클라이언트 정보 조회
(/clients /mycode)

UDP 전송 상황 모니터
(/recvcount /effectiverecv /sendcount)

UDP 연결 횟수 조회
(/udplinkcount)

브로드캐스팅 메시지 모니터
(/moniterbroadcast)

기타 기능들
(/frame30 /frame15 /posinterpolation /clear)
일정표
시연