Unreal 게임 개발 과정 TIL

Today's I Learning

카테고리 없음

06.02 Unreal 본캠프) CH2 팀 프로젝트 회고

Sunlight__ 2026. 6. 2. 21:21

 

나의 역할 및 주요 작업

: 클라이언트 개발과 기획을 아우르며, 게임의 전체적인 뼈대와 흐름을 잡는 역할을 수행했다.

- 개발 영역 :
LogManager를 통한 전체적인 로그 출력 함수 관리, 메인 소스 관리 및 메인 메뉴 구현을 통한 전체적인 게임 흐름 조정
- 기획 영역 :
게임의 스토리, 세계관, 기능 전반 기획
- 협업 영역 :
팀원 간 소통 중재 및 깃(Git) 이슈 관리

 

나의 강점과 몰입했던 순간

- 발견한 강점 :
자칫 길어지고 복잡해질 수 있는 메인 소스코드를 LogManager로 분리하여 메모리를 압축시키는 구조화 능력. 그리고 게임의 전체적인 흐름을 파악해 메인 메뉴에 깔끔하게 정리하고 구현해내는 것에 강점이 있음을 느꼈다.
 - 가장 몰입했던 순간 :
직접 구현한 로직들이 화면에 문제없이 출력되는 모습을 볼 때 큰 성취감을 느꼈다. 특히 텍스트만 있으면 지루해질 수 있는 화면에 ASCII 코드를 활용하여 몰입감 넘치는 그림들을 띄웠을 때 가장 즐겁게 몰입했다.

 

내가 팀에 기여한 부분

- 하드 스킬 (Hard Skill) :
LogManager를 따로 두어 각 팀원들이 만든 함수들을 통합적으로 관리하며 게임의 기술적 완성도를 높였다.
- 소프트 스킬 (Soft Skill) :
스토리, 캐릭터 설정, 몬스터 이름과 스킬 구현 등 전반적인 기획 면에서 팀원들과 끊임없이 의견을 맞춰가며 결과물의 완성도를 조율했다.

 

기술적 구현과 트러블 슈팅

 :  가장 잘 구현했다고 생각하는 부분은 '텍스트 출력 디테일 향상과 최적화'이다.

텍스트 위주의 게임이 루즈해지지 않도록 다음과 같은 기능들을 적용했다.

- 엔터를 눌러서 다음 메시지가 출력되도록 제어
- 전체 로그가 나온 뒤 화면을 클리어하여 불필요한 메시지 삭제
- 중요한 텍스트에 색을 입히고, 한 번에 출력되지 않고 한 글자씩 출력되게 바꾸어 몰입도 향상
- 스토리가 너무 길어져 LogManager 코드가 방대해지는 것을 방지하기 위해 텍스트 파일을 따로 삽입 후 출력
- ASCII 코드를 활용해 시각적 지루함 제거

 

기술적 문제 해결 (SFML 깃 연동 및 인코딩)

구분 내용
문제 팀원이 SFML을 활용해 인벤토리 UI를 만들던 중 계속된 한글 깨짐 문제 발생
과정 SFML 파일(.dll, .lib)이 깃에 올라가지 않은 것을 확인하고 .gitignore 수정 및 누락 파일 강제 업로드.
파일이 커서 업로드가 안 되는 문제는 예외 처리로 해결
결과 한글 정상 출력 및 누락 파일들 깃에 정상 업로드 완료

 

아쉬웠던 점과 성장의 맥락

 : 텍스트 파일을 다루는 과정에서 발생한 이슈를 직접 해결하며 데이터를 다루는 방식을 한층 더 이해하게 되었다.

구분 내용
아쉬웠던 점 외부 텍스트 파일 로드 시 인코딩 이슈로 한글이 심하게 깨져서 출력되는 문제 발생
성장 과정 파일을 읽어올 때 인코딩을 강제로 UTF-8로 바꾸어 주도록 로직을 수정하여 해결
결과 ASCII 코드와 한글 모두 깨짐 없이 정상적으로 출력 성공

 

커뮤니케이션과 협업 (Soft Skill)

: 팀원들 간의 소통을 적극적으로 중재하고 깃 이슈를 활용해 작업 안정성을 높였다.

기획 중 수정 사항이 생기면 즉시 공유하고, 팀원들에게 문제가 발생했을 때 즉각 대응하며 프로젝트를 이끌었다.

협업 문제 해결 (소통 채널 세분화

구분 내용
문제 팀원 간 소통 문제 및 원활한 정보 공유에 어려움 발생
과정 디스코드 서버를 새로 개설하고, 원활한 정보 공유를 위해 분야별로 여러 채팅방을 나누어 효율성 증가
결과 빠른 정보 공유가 가능해졌으며, 수정 사항 발생 시 즉각 대응할 수 있는 환경 구축

 

앞으로의 학습 방향성

 - 다음 프로젝트의 목표: 이번 프로젝트에서는 로그 관리를 하며 전체적인 흐름을 조율해 보았으니, 다음번에는 아예 다른 파트를 맡아 그 분야에 대해 깊이 있게 더 공부해보고 싶다.

 - 강화하고 싶은 역량: 다양한 기능적 코드의 활용성을 배우고 높이는 것.

그리고 기획적인 부분에서 더 나은 게임을 만들기 위해 시스템과 기획에 대한 이해도를 더욱 상승시키고 싶다.