> For the complete documentation index, see [llms.txt](/llms.txt)

# Game Server Services의 컨셉

Game Server Services가 지향하는 게임 개발 환경에 대해




## Game Server Services는 서버 솔루션이 아니다

서비스 명칭을 부정하는 듯한 이야기를 하겠습니다.

저희가 Game Server Services를 개발할 때 가장 중요하게 여기는 것은 **게임 개발자의 개발 경험을 최고로 만드는 것**입니다.

게임 개발자에게 **네트워크 기능**은 어떻게 보일까요?

- 있으면 게임을 더 재미있게 만들 수 있다
- 요즘 게임이라면 있는 것이 당연하다
- 게임으로 장기간 비즈니스를 하려면 필요하다

한편, 게임 개발자에게 **서버 개발**은 어떻게 보일까요?

- 귀찮다
- 힘들 것 같다
- 가까이하고 싶지 않다

이 간극을 메우기 위한 솔루션이 바로 **Game Server Services**입니다.

### 서버를 사용하는 것은 힘들다!

네트워크 기능을 구현하려면 서버가 필요합니다.
하지만 서버 개발자는 API는 만들어 주어도 SDK는 만들어 주지 않습니다.

그렇다면 서버 API와의 통신 처리는 누가 프로그래밍할까요?
바로 **게임 개발자**입니다.

Game Server Services는 게임 개발자에게 최대한 친화적인 SDK를 제공하여, 통신 처리를 **귀찮은** 것에서 **일반적인 라이브러리처럼 다룰 수 있는** 것으로 바꾸려 하고 있습니다.

대표적인 노력에는 다음과 같은 것들이 있습니다.

- 서버와의 통신 횟수나 통신 시간을 신경 쓰지 않아도 되게 하는 캐시 메커니즘을 탑재한 SDK
- Unity / Unreal Engine과의 통합으로, 노코드 개발이 가능한 SDK

### 데이터 분석이나 고객 지원도 힘들다!

Game as a Service를 실천하면, 플레이어가 게임을 어떻게 플레이하고 있는지에 대한 데이터 분석이 필요해집니다.
서버를 새로 만들면, 데이터 분석 구조도 함께 만들어야 합니다.

고객 지원도 마찬가지입니다. 장기 운영형 게임에서는 고객 지원 대응이 늘어납니다.
고객이 말하는 것이 항상 사실이라고는 할 수 없습니다. 행동 로그를 확인하여, 고객이 말하는 내용이 맞는지 판단하고 개발 부서로 에스컬레이션할 필요가 있을 것입니다.
이 구조가 미흡하면 모든 문의가 게임 개발자에게 전달되어, 게임 개발은커녕 다른 일을 할 수 없게 됩니다.

Game Server Services는 데이터 분석과 고객 지원 도구도 제공함으로써, 이러한 상황을 피할 수 있도록 하고 있습니다.

### 서버리스와 마이크로서비스

게임 개발자가 서버를 운영할 경우, 서버의 생존 감시나 스케일 업, OS 업데이트 등 게임의 본질과는 관계없는 작업에 쫓기기 쉽습니다.

GS2는 **서버리스** 아키텍처를 채택하고 있어, 개발자가 서버 관리를 의식할 필요가 없습니다. 또한 기능별로 독립된 **마이크로서비스**로 제공되기 때문에, 필요한 기능만 선택하여 조합하는 것이 가능합니다.

### 네트워크 기능의 종합 개발 운영 환경

Game Server Services는 단순한 "API의 집합"이 아니라, 개발부터 운영까지를 지원하는 종합적인 환경을 제공하고 있습니다.

```mermaid
graph LR
    subgraph "Game Server Services (GS2)"
        SDK[GS2 SDK]
        API[GS2 Microservices]
        Console[Management Console]
        Analytics[Analytics / Logs]
    end

    Developer[Game Developer] --> SDK
    Developer --> Console
    Developer --> Analytics
    
    GameClient[Game Client] --> SDK
    SDK --> API
    API --> Analytics
```

### 즉

Game Server Services는 게임 서버를 중심축으로 하여, 게임 개발자가 네트워크 대응을 손쉽게 할 수 있도록 하고,
그 후의 데이터 분석·고객 지원 구조도 제공하는 **네트워크 기능의 종합 개발 운영 환경**을 제공하고 있습니다.




