Company
교육 철학

Unity 실전 게임 제작

강의 개요

대부분의 학생 작업물은 강의 예제를 조금 변형한 수준에 머무릅니다.
하지만 이 강의는 다릅니다.
실무에서 바로 쓰이는 게임 개발 프레임워크를 적용하고,
실제 출시까지 이어지는 전 과정을 경험합니다.
단순히 ‘돌아가는 게임’을 만드는 것을 넘어,
아키텍처 설계 → 기능 확장 → 최적화 → 배포까지
현업에서 사용하는 개발 프로세스를 그대로 실습합니다.
강의를 마치면, 당신은 ‘예제 수준의 결과물’이 아닌
상용 게임과 어깨를 나란히 할 수 있는 작품을 손에 넣게 됩니다.
이 강의는 Unity 공식 샘플 Zombie Toys를 기반으로 최신 Unity LTS 환경에서 업그레이드하고,
실제 상용 게임 제작에 필요한 프레임워크 구조(씬 관리, 데이터 관리, UI, 인풋, 캐릭터 선택, 웨이브/적 AI 시스템 등)를 통합하여
출시 가능한 완성형 프로젝트를 만드는 전 과정을 다룹니다.
특히 이번 버전에서는 플랫폼별 입력 처리(PC+모바일), 캐릭터 선택 시스템 개선, 프레임워크 아키텍처 적용까지 모두 실습합니다.

Game Framework 개요

Game Framework는 Unity 엔진 기반의 게임 프레임워크로,
개발 과정에서 자주 쓰이는 모듈들을 캡슐화하여 개발 속도를 높이고 품질을 표준화하며, 유지보수를 용이하게 합니다.
다음과 같은 기본 제공 모듈을 제공하고 강의에 포함 시킬 예정입니다.
Config – 전역 읽기 전용 게임 설정 저장 (예: 플레이어 초기 속도, 초기 볼륨).
Data Node – 트리 구조로 임의 데이터 관리, 런타임 데이터 구조화.
Data Table – 사전 구성된 표 형식 데이터(엑셀 등) 불러오기.
Debugger – 에디터나 개발 빌드에서 런타임 로그와 디버그 정보 표시.
Download – 파일 다운로드 기능, 동시 다운로드 수 설정 가능.
Entity – 게임 내 동적 객체 관리, 그룹화, 표시/숨기기, 다른 객체에 부착. 재활용 지원.
Event – 이벤트 발행/구독 시스템, 모듈 간 결합도 최소화.
File System – 가상 파일 시스템, 리소스 중앙 관리, 분할 로드 지원.
FSM – 유한 상태 기계 생성/관리.
Localization – 텍스트 및 리소스 현지화 지원 (이펙트, 오브젝트 등 포함).
Network – TCP 소켓 연결, IPv4/IPv6 지원, 다중 서버 연결 가능.
Object Pool – 객체 풀링을 통한 성능 최적화.
Procedure – 게임 라이프사이클 상태 관리(FSM 기반).
Resource – 비동기 리소스 로드, 기본 메모리 관리 전략 제공.
Scene – 다중 씬 로드/언로드, 부분 씬 관리 가능.
Setting – 키-값 쌍 형태의 플레이어 데이터 저장(PlayerPrefs 또는 파일).
Sound – 사운드 그룹 관리, 볼륨·3D/2D 여부·위치 연동 설정.
UI – UI 표시/숨김, 깊이 변경, 재활용 관리.
Web Request – GET/POST 요청 처리, 다중 서버 요청 가능.

학습 목표

Unity 6 LTS + URP/HDRP 환경에서 프로젝트 세팅 및 마이그레이션
Zombie Toys 원본 기능 확장 및 커스터마이징
캐릭터 선택 시스템 제작: PC/모바일 겸용 클릭 감지, UI 충돌 방지, 멀티 캐릭터 관리
상용 게임 개발용 프레임워크 통합 (씬, 데이터, 이벤트, UI 매니저 구조)
적 AI + 웨이브 시스템 고도화
무기·아이템 시스템, 인벤토리, 업그레이드 구현
빌드 & 상점 등록 (스팀/구글 플레이) 실습

주요 커리큘럼

1단계 — 프로젝트 세팅과 환경 구축

Unity 6 LTS 설치 및 패키지 불러오기

2단계 — 프레임워크 구조 적용

3단계 — 캐릭터 선택 시스템 (뱀서라이크 스타일)

다중 캐릭터 선택: 다양한 시작 능력·무기를 가진 캐릭터 중 하나를 선택 → 선택된 캐릭터만 스폰
캐릭터 능력치 표시: 선택 UI에 이동 속도, 기본 공격, 특수 능력 표시
Animator 연동: 선택 시 캐릭터가 ‘대기’ 또는 ‘전투 준비’ 애니메이션, 미선택 캐릭터는 ‘페이드 아웃’ 처리

4단계 — 게임 플레이 확장 (뱀서라이크 전투 구조)

적 AI 패턴: 단순 추적에서 확장 → 근접/원거리/자폭형/보스 등 다양한 패턴 추가
경로 탐색 단순화: 뱀서류 특성상 대규모 적 스폰에 적합하도록 NavMesh 대신 경량 추적 알고리즘 사용
웨이브/타이머 시스템: 시간이 지날수록 적의 수, 속도, 종류가 점진적으로 강화
무기·아이템 드랍: 적 처치 시 경험치 보석, 무기 업그레이드 아이템, 회복 아이템 드랍
자동 공격 시스템: 플레이어 조작은 이동만, 무기는 자동 발사되도록 구현
레벨업 & 무기 강화: 경험치 획득 시 무기 강화, 신규 무기 획득, 패시브 능력 선택
CSV 테이블 설계 예시:
characters.csv (캐릭터 능력치, 시작 무기)
weapons.csv (무기 스펙)
enemies.csv (적 데이터)
waves_stage1.csv (웨이브 구성)
loot.csv (드랍 아이템)
localization_ko/en.csv (다국어 지원)
JSON 데이터 설계 예시:
weapon_upgrades.json (무기 강화 곡선)
wave_rules.json (난이도 곡선, 보스 타이밍)
drop_tables.json (드랍 확률 테이블)

5단계 — 완성도 향상 (뱀서라이크 최적화, URP [그래픽스] 다루기)

UI/UX 개선: HUD에 남은 시간, 체력, 경험치 게이지, 현재 무기 목록 표시
애니메이션·이펙트 강화: 적 처치 폭발, 레벨업 연출, 무기 발사 이펙트 추가
오브젝트 풀링: 수백~수천 마리 적과 발사체를 풀링 시스템으로 관리해 성능 확보
멀티플랫폼 UI 조정: 모바일 전용 가상 조이스틱과 버튼 UI 배치
진행도 저장/불러오기: 해금된 캐릭터, 무기, 스테이지 진행도 저장
이벤트 스크립트: 특정 시간마다 보스 출현, 보스 처치 후 보상 상자 이벤트 실행
Shader Graph 6종(기본 PBR/Unlit, Toon, HitFlash, Dissolve, ProjFX)
Renderer Feature 1~2종(피격 비네트, 보스 연출용 컬러 시프트)
성능 리포트(Variant 수, Batcher 통계, 프레임 타임 분석)
CSV/JSON에 등록된 이펙트 파라미터를 런타임에 셰이더로 주입하는 유틸

6단계 — 출시 준비

아이콘, 스크린샷 제작: 대규모 전투 장면, 보스전, 레벨업 UI를 강조한 이미지 생성
스토어 설명 작성: 무한 웨이브 생존, 수십 종 무기 조합, 성장 시스템 강조
스팀/구글 플레이 등록 절차: 플랫폼별 최적화, 빌드 패키징, 심사 대응
최종 QA: 장시간 플레이 스트레스 테스트, 모바일 배터리·발열 체크, 버그 수정 후 배포

4. 강의 특징

실습 중심: 모든 기능을 직접 구현
최신 Unity 환경 반영: Unity 6 LTS, URP, New Input System
출시 수준 품질: 프레임워크 구조 적용
소스 코드 전체 제공: 강의 프로젝트 완성본 배포

5. 수강 대상

Unity 기본 문법은 알지만 실전 프로젝트 경험이 부족한 분
샘플을 상용 수준으로 발전시키고 싶은 분
게임 프레임워크 구조와 상용화 과정을 배우고 싶은 분
포트폴리오 완성 및 출시 경험이 필요한 분

6. 결과물

최신 Unity 기반 Zombie Toys 리마스터 버전
캐릭터 선택·AI·웨이브·무기 시스템 포함
스팀등록 가능한 빌드