I. 게임 엔진
게임 엔진이란?
- 게임 개발에 필요한 기능(그래픽 렌더링, 물리 연산, 애니메이션, 사운드, 네트워크 등)을 제공하는 소프트웨어
- 개발자가 보다 효율적으로 게임을 제작할 수 있도록 지원
- 대표적으로 유니티(Unity)와 언리얼(Unreal)이 있음

1) 유니티(Unity)/C#
- 진입 장벽이 낮음
- 빠른 프로토타입 개발 가능
- 모바일 등 멀티 플랫폼 지원이 강력함
예시)
- 인디 게임
- 모바일 게임
- VR/AR 프로젝트

2) 언리얼 (Unreal)/C++
- 고품질 그래픽 지원
- 블루프린트(시각적 스크립팅) 제공
- AAA급 게임 및 고사양 프로젝트에 주로 사용
예시)
- 하이엔드 게임
- 영화 및 방송 VFX
- 건축 시각화
II. 클라이언트
1) 웹 클라이언트
- 사용자가 웹 서비스를 이용하기 위한 프로그램
- 일반적으로 웹 브라우저를 의미
예시)
- Chrome
- Safari
- Edge
2) 게임 클라이언트
- 사용자가 직접 실행하는 게임 프로그램
- 서버와 통신하며 게임 화면을 출력
예시)
- PC 게임 실행 파일(.exe)
- 모바일 게임 앱
III. 서버
서버란?
- 사용자에게 필요한 정보나 기능을 제공하는 시스템
1) 웹 서버
- 정적인 콘텐츠 전송에 주로 사용
- 동적인 콘텐츠도 처리 가능
- HTTP/HTTPS 프로토콜 사용
- 빠르고 간단한 데이터 처리에 적합
2) 게임 서버
- 실시간 상호작용 처리
- 복잡한 게임 데이터 관리
- 멀티플레이 동기화 수행
- 동시 접속자 수와 서버 성능이 중요
IV. 프로토콜
프로토콜이란?
- 컴퓨터 간 정보 교환을 위한 규칙의 집합
1) HTTP / HTTPS
- 주로 웹 서비스에서 사용
- 요청(Request)과 응답(Response) 구조
- REST API에서 많이 활용
2) TCP / UDP
- TCP
- 데이터 손실 방지
- 높은 안정성 제공
- 순서 보장
예시)
- 로그인
- 결제
- 웹 서비스
- UDP
- 일부 데이터 손실 가능
- 빠른 속도 제공
- 실시간 통신에 적합
예시)
- 온라인 게임
- 음성 채팅
- 실시간 위치 정보 전송
3) 기타
- WebSocket
- RUDP(Reliable UDP)
V. 서버와 클라이언트의 관계
1) 서버
- 핵심 로직 처리
- 상태 저장
- 멀티플레이 동기화
- 공정한 게임 진행 보장
예시)
- 피격 판정
- 아이템 획득 여부 판단
- 점수 계산
2) 클라이언트
- 게임 화면 출력
- 사용자 입력 수신
- 서버와 데이터 통신
- 결과를 그래픽 및 사운드로 표현
예시)
버튼 입력
→ 서버에 전달
→ 결과 수신
→ 화면에 출력
VI. 네트워크 구조의 종류
1) 클라이언트 - 서버 방식
장점
- 높은 안정성
- 데이터 관리 용이
- 동시 진행에 유리
단점
- 서버 운영 비용 발생
- 서버 장애 시 서비스 영향
2) P2P (Peer to Peer)
장점
- 서버 비용 절감
단점
- 보안 취약
- 동기화 문제 발생 가능
3) 하이브리드 방식
- 일부는 서버가 처리
- 일부는 P2P로 처리
- 두 방식의 장점을 활용
VII. 서버 구조
1) 단일 서버
- 하나의 서버가 모든 역할 수행
- 소규모 서비스에 적합
단점
- 사용자가 많아질 경우 과부하 발생
2) 분산 서버
- 여러 서버가 역할을 분담
- 부하 분산 가능
- 대규모 온라인 게임에 적합
VIII. 서버 확장 방법
1) 수직적 확장 (Scale Up)
- 기존 서버의 성능을 향상
- CPU, 메모리, 저장장치 등을 업그레이드
2) 수평적 확장 (Scale Out)
- 서버 수를 늘려 부하를 분산
- 대규모 서비스에서 주로 사용
'언리얼 엔진 > 개념 정리' 카테고리의 다른 글
| 개념 정리 - 액터(Actor) (1) | 2026.06.12 |
|---|---|
| 개념 정리 - Fab(마켓 플레이스) (0) | 2026.06.12 |
| 개념 정리 - 개발 요소 (0) | 2026.06.12 |
| 개념 정리 - 프로젝트 생성과 인터페이스 (0) | 2026.06.11 |
| 개념 정리 - 게임 개발 과정 (0) | 2026.06.11 |