테라 논타겟팅 개발자 인터뷰: 서버 프로그래머의 역할과 원리
Source
Evernote/Technote scraps/테라의 논타겟팅 제가 코딩했습니다, 서버 프로그래머 구승모 교수.md
Summary
이 문서는 NHN NEXT 구승모 교수(전 엔씨소프트, 블루홀 스튜디오 서버 프로그래머)와의 인터뷰로, 게임 서버 프로그래머의 직무 정의와 서버/클라이언트 아키텍처의 차이를 설명합니다. 서버 프로그래머는 게임 로직(AI, 전투, 경제 시스템 등)을 구현하며, 클라이언트는 시각적 연출을 담당합니다. 서버 중심 아키텍처는 클라이언트 조작(핵)을 어렵게 만듭니다. 또한 서버 다운(과부하, 버그) 시 덤프 파일 분석을 통한 복구 과정과, WoW ‘모내기 렉’ 사례를 통해 서버 데이터베이스 과부하가 클라이언트 상태 불일치를 유발하는 원리를 기술합니다.
Key Points
- 서버 프로그래머는 게임 내 핵심 로직(전투, AI, 경제 등)을 구현하며, 클라이언트 프로그래머는 시각적 연출을 담당합니다.
- 온라인 게임은 대부분 로직이 서버에 위치하여 클라이언트 조작(핵)이 어렵지만, P2P/패키지 게임은 클라이언트 중심이라 조작이 용이합니다.
- 서버 다운 시 시스템 엔지니어(SE)가 재부팅으로 임시 복구하고, 서버 프로그래머가 크래시 덤프 파일을 분석하여 근본 원인을 수정합니다.
- WoW ‘모내기 렉’은 서버 데이터베이스 과부하로 아이템 획득 처리가 지연되며, 클라이언트에서 캐릭터 이동이 먼저 처리되어 발생한 상태 불일치 현상입니다.
- 구승모 교수는 테라의 논타겟팅 전투 시스템 개발에 참여했으며, 현재 게임 서버 아키텍처 및 프로그래밍 강의를 담당합니다.