오늘 학습 진행 내용
OT
8개월간 진행(09:00~21:00)
커리큘럼 구성
블루프린트 학습 주차
언리얼 블루프린트로 게임 개발 입문
언리얼 엔진 통합 개발 환경 세팅 및 기본 인터페이스 익히기
게임 개발을 위한 기초적인 프로그래밍 개념 학습(변수, 조건문, 반복문 등)
Unreal Engine의 핵심 용어 및 개넘 이해 (액터, 컴포넌트, 블루프린트 등)
언리얼 블루프린트를 사용한 간단한 3D 플랫포머 게임 제작 실습
게임 로직 구현 및 기본적인 상호작용 요소 추가
C++ 문법 학습주차
게임 개발자를 위한 C++ 문법
C++의 객체 지향 프로그래밍 개념 학습(클래스, 상속, 다형성 등)
C++ 표준 라이브러리(STL) 활용법
메모리 관리(스마트 포인터, 동적 할당)
템플릿과 기초 학습
언리얼 엔진 특화 C++ 문법 학습
텍스트 기반 RPG 게임 제작 실습
C++를 활용한 대전 게임 시뮬레이션 구현 프로젝트
캐릭터 클래스 및 능력치 시스템 구현
턴제 전투 시스템 설계 및 구현
기본 상태 관리 및 전투 루프 구현
Unreal 주특기 입문
C++과 언리얼 엔진으로 3D 게임 개발
언리얼 엔진 C++ 개발 환경 설정
액터와 컴포넌트의 C++ 구현 방법과 언리얼 엔진 API 익히기
게임플레이 프레임워크 구조 이해 및 활용법
기본 HUD 요소와 UI 시스템 (UMG)을 이용한 단순 인터페이스 구축
3D 액션 게임 개발 실습 (캐릭터 이동, 상호작용, 간단한 아이템 수집 시스템)
언리얼 엔진과 C++를 활용한 다수의 적을 쓰러뜨리는 슈터 게임 프로젝트
플레리어 캐릭터 구현(이동, 조준, 발사)
기본적 AI 구현(적의 추적 및 공격 패턴)
무기 시스템 설계 및 구현
간단한 레벨 디자인 개념 도입과 지형 배치
UI/UX 설계 : HUD 및 게임 내 메뉴 구성
Unreal 주특기 숙련
언리얼 엔진 멀티플레이어 게임 개발
네트워크 프로그래밍 기초 학습
클라이언트-서버 모델 이해
언리얼 엔진 네트워크 아키텍쳐 이해 및 리플리케이션과 RPC 학습
로비 및 세션 관리 기본 개념 이해
네트워크 동기화 기법 학습
기본 멀티플레이어 대전 게임 제작 실습
네트워크 기능을 활용한 멀티플레이어 대전 게임 개발 프로젝트
로비 및 세션 설정
기본적인 게임 모드 (데스매치, 팀 데스매치) 구현
실시간 게임플레이 동기화 및 다양한 이벤트 처리
간단한 매치메이킹 시스템
Unreal 주특기 심화
언리얼 엔진 고급 기술 화용(AI 및 VR/AR)
내비게이션 메시 생성과 경로 찾기 알고리즘 활용
상태 머신을 활용한 AI 행동 패턴 설계
언리얼 엔진의 Behavior Trees 기초 학습
AI를 활용한 간단한 스텔스 게임 실습 (은신, 추적)
VR/AR 개발을 위한 언리얼 엔진 사용 기초
최종 프로젝트
언리얼 엔진의 고급 기술을 활용한 대규모 3D 게임 개발 프로젝트
게임 기획과 시스템 설계
월드 구축 및 레벨 디자인
상호작용 시스템 및 플레이어 컨트롤러 구현
전투 시스템 및 적 AI 구현
퀘스트와 미션 시스템 설계 및 구현
인벤토리 및 아이템 시스템
게임 최적화 및 테스트
블루프린트 라이브 세션 진행
DAY 1
세션 구성
게임 엔진에 대한 소개
자체 엔진으로 개발하는건 왜 어려울까?
언리얼 엔진 왜 배워야 하는가?
UE 5 어떻게 설치해요?
게임 업계 ssul
UE 5 프로젝트 사례
액터 1~2개 설명 및 에디터 살짝 구경
게임은 어떻게 만들어지는가?
게임의 구성 요소
그래픽(시각적 요소)
배경, 미니맵, 몬스터, 캐릭터, UI(플레이어 정보, 캐릭터 목록, HP, 마나 등) 최소화된 형태의 정보
사운드
배경 음악, 효과음, 음성 등
인터랙션(상호 작용)
플레이어가 게임 세계와 상호 작용하는 방법
게임 엔진은 그래픽 + 사운드 + 인터랙션과 같이 게임에 필요한 모든 요소들을 쉽게 개발할 수 있게 도와주는 고마운 친구
게임엔진은 개발에 필요한 다양한 기능과 도구를 제공하는 소프트웨어 플랫폼
게임 엔진을 사용하면 좋은 이유
커뮤니티의 존재
UDN(언리얼개발자 네트워크)(https://dev.epicgames.com/community/)
모르는 부분에 대해서 질문하면 답변을 받을 수 있는 창구
언리얼 엔진은 공식 문서 외에 유튜브 강좌, 블로그 포스트 등 무궁무진한 학습 자료 존재
자체 엔진 개발 어려운 점 존재
많은 개발 인력 필요하고 지속적인 유지 보수 업데이트 이뤄져야하기 때문에
게임 개발 집중해야 되는 회사 입장에서는 상용 엔진 상용하는 케이스 많이 존재
언리얼 엔진 사용 개발 사례
포트 나이트
애니메이션
자동차 산업에서의 활용
언리얼 엔진 실행해보기
에픽 게임즈 계정 생성->에픽 게임즈 런저 설치->언리얼 엔진 탭 -> 라이브러리에서 엔진 버전 선택해서 설치
프로젝트 생성 클릭해서 저장 경로와 프로젝트 이름 지정
이번 주차 사용할 에셋 다운로드
언리얼 러닝 키트(https://www.fab.com/ko/listings/1a2b1d97-bc88-4c3f-98b8-22369b5c3170)
만약 언리얼 프로젝트 생성한 버전 변경이 필요할 경우
프로젝트 생성 경로 폴더 내로 가서 Switch Unreal Engine Version 선택해서 버전 적용
프로젝트 정상 동작 확인
오늘 할 일
오늘 수업에서 언리얼 엔진 환경을 준비하고 프로젝트를 생성하는 법을 배웠습니다! 이제 하루 동안 아래의 과제를 수행해보며 조금 더 언리얼 엔진에 직/간접적으로 익숙해지는 시간을 가져보시기 바랍니다!
팀원 간 아이스-브레이킹
내가 꿈꾸는 게임 개발의 하루를 24시간 타임 로그로 작성해보기
나는 어떠한 타입의 개발자에 가까울까? 내용을 참고해서 슬랙의 unreal_7기_잡담방 채널에 한 번 작성해보세요!내가 꿈꾸는 개발자의 하루
08:00 기상. 밤새 생각해둔 버그 해결 아이디어가 떠오를 듯 말 듯해서 바로 침대에서 일어나 준비 시작.
08:30 출근 준비를 마치고 지하철에 몸을 싣는다. 출근길에서도 머릿속으론 어제 못 잡은 이슈가 계속 맴돈다.
09:00 회사 도착. 컴퓨터 켜자마자 오늘 작업해야 할 태스크가 떠오르며 정신이 번쩍 든다.
09:30 오늘 일정과 담당 파트 관련 개발 회의를 진행. 새 기능 기획과 우선순위를 정리하면서 팀원들과 머리를 맞댄다.
10:00 본격적인 개발 시작. 온갖 버그 리포트와 피드백이 쏟아지는 가운데, 스택 추적하고 로그 뒤지면서 하나씩 해결해 나간다. 집중력이 필요해 머리를 꽤나 굴린 시간.
12:00 배가 고파 구내식당으로 직행. 밥 한 공기 싹 비우고, 점심 이후 졸음을 피하기 위해 10분 정도 회사 주변을 산책하며 혈당 스파이크도 방지.
13:00 오후 개발 재개. 카페인으로 식곤증을 버티면서 팀원들과 가벼운 스몰토크도 나누며 작업 속도를 유지한다.
14:00 갑작스러운 추가 요구사항이 발생해 일정 조정 회의가 다시 잡힘. 리스크 검토하고 우선순위 재배치하느라 잠시 정신없음.
15:00 조율된 일정에 맞춰 재분배된 작업을 다시 정리하고 개발에 몰입. 구현 범위가 바뀐 만큼 코드 구조를 재검토하며 진행.
17:30 오늘 진행된 작업을 바탕으로 팀원들과 리뷰 및 피드백 세션. 서로 코드 스타일과 로직을 점검하며 개선 방향 논의.
18:00 피드백 받은 부분 수정 및 잔업 진행. 조금 빡세지만 완성도를 위해 필요한 과정이라 집중해서 마무리.
20:00 잔업 완료 후 팀원들과 가벼운 회식. 작업 이야기도 나누고, 스트레스도 조금 풀고 나서 퇴근.
언리얼 엔진 실행 및 환경 둘러보기
공식 문서 및 커뮤니티 자료 찾아보기
공식 유튜브 채널 혹은 커뮤니티 살펴보기
Working Smarter in UEFN with Scene Graph | Unreal Fest Orlando 2025(https://www.youtube.com/watch?v=qS10ea2QLyg)
영상에서 다루고 있는 핵심 내용은 Scene Graph를 활용하여 컴포넌트와 프리팹 기반의 구조를 하나의 통합된 워크플로우로 구성함으로써 작업 효율을 획기적으로 높일 수 있다는 점이다. 이러한 방식은 기존 방식처럼 개별 오브젝트나 스크립트를 따로 관리하는 형태보다 훨씬 직관적이고 일관된 흐름을 제공해 주며, 복잡한 구조를 가진 프로젝트에서 특히 큰 이점을 가진다고 볼 수 있다. 다만 영상에서는 기본적인 개념 소개 외에도 코드 레벨에서 처리되는 세부 내용이 상당히 많이 포함되어 있었기 때문에, 아직 익숙하지 않은 기술 요소들이나 구조적인 개념을 다루는 뒷부분은 이해하기가 쉽지 않았다. 특히 Scene Graph의 내부 동작 방식, 노드 간 데이터 전달 방식, 런타임 최적화 기법 등은 추가적인 학습이 필요한 부분으로 느껴졌다. 그럼에도 불구하고 영상의 전반적인 메시지는 명확했고, 향후 프로젝트 규모가 커질수록 Scene Graph 기반 워크플로우가 제공하는 장점을 체감할 가능성이 높다는 점에서 충분히 참고할 만한 가치가 있는 내용이라고 판단됐다.
실습해보고 싶었던 것 공부
GAEA 2.0을 활용한 랜드스케이프 제작 및 Water System 기반 섬 맵 구성
사전캠프에서 팀원분이 사용하시던 랜드스케이프 제작 방식이 인상 깊어, 실제로 GAEA 2.0을 활용해 지형을 생성하고 이를 언리얼 엔진 5.6에 적용하는 과정을 직접 실습해보았다. 이번 실습의 핵심 목표는 GAEA를 통해 자연스러운 지형 데이터를 생성하고, 언리얼 엔진의 WaterBodyOcean과 Water Zone 시스템을 활용해 섬 형태의 맵을 구성해보는 것이었다.
GAEA 2.0에서는 노드 기반 그래프 방식으로 지형 형태를 직관적으로 조합할 수 있으며, 언리얼 엔진용 Output을 통해 완성된 Heightmap을 손쉽게 추출할 수 있다.
플러그인 링크:
https://github.com/QuadSpinner/Gaea2Unreal/tree/UE-5.6?ref=blog.quadspinner.com
생성된 Heightmap을 언리얼 엔진 Landscape 모드에서 불러오면, GAEA에서 구성한 지형 형태 그대로 레벨이 형성된다.
언리얼 엔진의 Landscape 모드에서 GAEA에서 export한 Height 이미지를 Import하면, 노드 기반으로 구성한 지형의 높낮이가 그대로 반영된 맵이 생성된다. 이를 통해 별도의 모델링 작업 없이도 자연스러운 산지·해안선·지형 굴곡을 빠르게 재현할 수 있었다.
이후 섬 형태의 환경을 구현하기 위해, 레벨 내에서 섬으로 표현할 영역을 기준으로 WaterBodyOcean을 배치하고, 이에 대응하는 Water Zone을 함께 적용하였다. Water System을 활용하면 수면의 높이, 해안선 부드러움, 파도 효과 등을 세밀하게 조정할 수 있어 시각적으로 자연스러운 해양 환경을 구성할 수 있다.
WaterBodyOcean과 Water Zone을 적용하여 섬 주변을 감싸는 해양 환경을 구성한 모습
이번 실습을 통해 랜드스케이프 제작 툴과 언리얼 엔진의 워터 시스템을 함께 사용하는 전체 워크플로우를 직접 경험해볼 수 있었고, 특히 지형 생성 → 맵 불러오기 → 수면 시스템 설정까지 이어지는 작업 흐름이 생각보다 자연스럽고 효율적이라는 점을 체감할 수 있었다. 앞으로도 다양한 지형 노드와 워터 설정을 더 깊게 익히면, 훨씬 더 사실적이고 복잡한 월드 환경을 구현할 수 있을 것으로 기대된다.