[Portfolio] EmploymentProj 소개
카테고리: Portfolio
📌 EmploymentProj 설명 포스트
👾 깃허브
📋 기획
EmploymentProj
UE5 C++ 멀티플레이어 익스트랙션 슈터 - 취업 포트폴리오 프로젝트
프로젝트 소개
채용공고의 필수/우대 요건을 직접 구현하여 증명하는 프로토타입 프로젝트입니다.
UE 클라이언트 프로그래머 채용공고에서 공통적으로 요구하는 핵심 역량을 실제 게임 시스템으로 구현합니다. 템플릿이나 블루프린트에 의존하지 않고, C++로 바닥부터 설계/구축합니다.
증명 대상 역량
필수요건 대응
| 채용공고 요구사항 | 프로젝트 내 구현 |
|---|---|
| UE Gameplay Framework 이해 | GameMode/GameState/PlayerController/PlayerState/Character 전체 설계 |
| 게임모드 및 기믹 개발 | 매치 상태머신(Waiting→Playing→Ended), 자판기 시스템, 탈출 판정 |
| Replication 기반 네트워크 개발 | UPROPERTY Replication, OnRep 콜백, Server/Client/NetMulticast RPC |
| 서버-클라이언트 동기화 이해 | 서버 권한 히트 판정, Lag Compensation(히트박스 리와인드), Client Prediction |
| C++ 심층 이해 | 전체 게임플레이 C++ 구현, UE Reflection 시스템 활용 |
우대요건 대응
| 채용공고 요구사항 | 프로젝트 내 구현 |
|---|---|
| 데디케이티드 서버 게임모드 설계 | 서버 권한 아키텍처, 전 게임 로직 서버 판정 |
| GAS 활용 | AttributeSet(HP/Stamina/Shield), GameplayEffect, GameplayAbility 3종(Dash/Heal/Shield) |
| Git 협업 | feature 브랜치 전략, PR 기반 개발 |
| Data-Driven 설계 | UPrimaryDataAsset 기반 무기/아이템/자판기 테이블 |
게임 컨셉
“취업”을 테마로 한 1인칭 익스트랙션 슈터 (2~8인 멀티플레이어)
매치 시작 → 랜덤 스폰 → 파밍(루팅 + 자판기) → 교전(PvP/AI) → 탈출 → 보상
- 자판기: 돈 투입 → 5초 대기(소리로 위치 노출) → 확률 아이템 배출
- 퀘스트 아이템(이력서, 자격증 등)을 모두 수집하면 “취업 성공”
- 사망 시 소지품 전부 손실, 탈출 성공 시 보존
핵심 기술 시스템
| 시스템 | 기술 포인트 |
|---|---|
| 사격/히트 판정 | 서버 권한 레이캐스트, Lag Compensation (히트박스 히스토리 링버퍼 + 서버 리와인드) |
| 자판기 | 서버 권한 확률 판정, 상태 복제, Multicast RPC 사운드, DataAsset 아이템 테이블 |
| AI | Behavior Tree (순찰 → 감지 → 추적 → 사격), 서버 권한 로직 |
| GAS | AttributeSet, GameplayEffect(데미지/힐/버프), GameplayAbility(Dash/Heal/Shield) |
| 인벤토리/경제 | 슬롯 기반 아이템 관리, 장비 장착/해제, 킬/탈출 보상 |
구현 로드맵
- Gameplay Framework - 매치 흐름, 스폰, 게임 규칙 (GameMode/GameState)
- Replication - 멀티플레이어 이동/상태 동기화, 사격 RPC, HP 복제
- Net Prediction - Client Prediction, Lag Compensation (히트박스 리와인드)
- GAS - 스킬 시스템 (Dash/Heal/Shield)
기술 스택
- 엔진: Unreal Engine 5.7
- 언어: C++
- 네트워크: UE5 Dedicated Server 모델
- 빌드: MSVC (Visual Studio Build Tools 2022)
- IDE: JetBrains Rider
- 버전 관리: Git
프로젝트 구조
DOCS/
├── CLAUDE.md # Claude Code 작업 가이드
├── DOCS.md # 기술 로드맵 (채용공고 요건 → 구현 매핑)
├── GAME.md # 게임 디자인 문서
└── Notes/ # 단계별 기술 스터디 노트
├── 01_GameplayFramework.md
├── 02_Replication.md
├── 03_NetPrediction.md
└── 04_GAS.md
빌드
# 프로젝트 파일 생성
UnrealBuildTool.exe -projectfiles -project="EmploymentProj.uproject" -game -engine
# Development Editor 빌드
UnrealBuildTool.exe EmploymentProj Win64 Development -project="EmploymentProj.uproject"
# Dedicated Server 빌드
UnrealBuildTool.exe EmploymentProjServer Win64 Development -project="EmploymentProj.uproject"
댓글남기기