게임 시스템의 구조

2022. 6. 15. 02:43나만의 정리 노트

오늘은 조금 심화적인 내용에 대해서 다뤄볼 것입니다.

 

게임 시스템에는 싱글 패키지 게임, 네트워크(P2P Network) 게임, Client / Server 기반 게임 

 

이 세 가지에 대해서 알아보려고 합니다.

 

 

 

 

먼저 싱글 패키지 게임이란?

 = 개인 컴퓨터나 콘솔 기반으로 구동되는 게임입니다.

 

 

 

싱글 패키지 게임의 특징으로는

 

1. 다른 유저와 온라인, 네트워크로 연결되지 않습니다.

2. 인간 VS 시스템 사이의 대결이 주가 됩니다.

3. 최초의 네트워크 대전 게임인  Doom이 있습니다.

2016년도에 나온 DOOM이라는 게임이다.

 

 

 

두 번째로는 네트워크 게임이 있습니다.

 = 네트워크 게임은 개인(유저)과 개인(유저) 간의 네트워크 연결로 구동되는 게임입니다.

 

네트워크 게임의 특징으로는

1. 게임 서버 없이 각 플레이어가 다른 플레이어에게 직접 요청/응답 실행이 가능했습니다.

2. 반응속도가 높고, 저렴한 유지비용이 장점입니다.

3. FPS나 RTS 장르의 게임에 적절합니다.

4. 확장성이 제한되어서 업데이트나 패치가 힘듭니다.

4. 해킹에 취약합니다.

 

 

 

 

마지막으로는 Client / Server 기반 게임입니다.

 

Client의 기본 개념 

=개인 컴퓨터에 설치되는 기본 게임 프로그램입니다.

주기적으로 그래픽을 업데이트하며 게임의 기본적 기능을 수행합니다.

 

Server의 기본 개념

=각각의 클라이언트로부터 요청과 응담을 처리하는 역할입니다.

저장 및 연산을 수행합니다. 예시) 대미지 계산, 레벨 정보 저장, 퀘스트 현황 등

 

서버와 클라이언트 역할 분담 

= 대규모 플레이어가 동시접속이 가능하도록 합니다.

모든 플레이어의 움직임을 확인할 수 있습니다.

개별적, 주기적 업데이트가 가능하고 확장성이 높습니다.

서버가 통신대역을 벗어나면 렉이 걸리기 쉬워집니다.

예시) 리니지, 월드 오브 워크래프트, 검은 사막,  롤, 오버워치

대표적인 게임 리니지

 

 

좀 더 깊숙하게 들어가서 분산서버에 대해서 알아보고자 합니다.

 

분산서버란 무엇인가?

= 하나의 서버가 아닌 여러 개의 서버가 역할을 분담합니다.

분산서버의 이미지 출처 : https://www.hanbit.co.kr/channel/channel_submain.html

인증서버 : 유저의 로그인/캐릭터/채널 선택 공간

로비 서버 : 채널 입장과 전체 채팅/매칭

게임 서버 : 본 게임 시작 및 진행 공간

오류 수집서버 : 클라이언트가 오류를 보냈을 때, 서버로 보내는 역할

DB 캐시 서버 : 유저 정보를 Ramcache 합니다. DB서버는 서버 과부하 방지 및 예방 역할입니다.

마스터 서버 : 다른 서버의 정상 작동 여부를 감시/모니터링합니다.

운영 서버 :  GM과 시스템 관리자가 고객지원을 위한 기능 담당입니다.

로그 서버 : 서버에서 발생하는 모든 이벤트를 수집합니다.

서버 에이전트 : 분산 실행 중인 각 서버 파일 업데이트, 켜기/끄기등이 있습니다.

데이터 베이스 : DB, 유저와 월드 상태를 저장합니다.

 

 

그 밖의 시스템 용어를 몇개만 간단히 정리해보겠습니다.

BPS (Bit per second) 

= 1초 동안 전송하는 bit 수

FOV (Field of view)

= 카메라 시야각

FPS (Frame per second)

= 초당 프레임률

핑 (Ping)

=1P데이터 도달여부 검색

 

기획자에 대해서 알아본지 벌써 5일차가 다 되어 가고 있습니다.

 

그럼에도 불구하고 아직 모르는 것도 많고, 배워야 할것 천지입니다.

 

하지만 누구에게나 처음이 있듯이 저도 차근차근 그 처음을 밟아 가려 합니다.

 

끝까지 포기하지 않고 게임 회사에 취업 되는 그날까지 포스팅합니다,

 

오늘도 글을 읽어주셔서 감사합니다.