프로그래밍/Unreal 부트캠프

프로젝트 KPT 2025.01.17 기록

Rozentea 2025. 1. 17. 15:34

Keep - 현재 만족하고 있는 부분

  • 지성현

이번 프로젝트는 백지 상태에서 기획과 코드 구조 설계를 처음부터 시작해야 했습니다.

첫날에는 스토리, 컨셉, 게임 진행 방식 등 기획을 모두 완료했고, 이 기획을 기반으로 2일 차부터 구조 설계를 시작했습니다.

특히 간단하지만 필요한 기능을 모두 구현할 수 있는 게임 엔진을 구성하는 데 집중했습니다.

그동안 엔진 공부를 통해 쌓아온 경험이 이번 프로젝트에서 빛을 발한 것 같아 매우 만족스러웠습니다.

5일이라는 짧은 시간 안에 엔진을 구현하고, 기획했던 콘텐츠 대부분을 완성할 수 있었던 점이 뿌듯했습니다.

또한, 처음으로 프로젝트 팀장을 맡아 팀을 이끌며 목표를 달성했던 경험은 큰 성취감으로 남았습니다.

이번 프로젝트를 통해 일정 관리와 이슈 해결 능력이 한층 더 성장한 것을 느낄 수 있었습니다.팀원들 모두 같은 목표를 가지고 최선을 다해 노력해준 덕분에, 게임의 인트로부터 엔딩까지 완성도 높은 결과물을 만들 수 있었습니다.

특히 맡은 일에 책임감을 갖고, 짧은 일정 속에서도 매일 새벽까지 함께 달려준 팀원들에게 진심으로 감사드립니다.

  • 지승현

처음 해보는 협업이라 다른 사람의 코드를 이해하고 내 코드를 수정하는 과정이 쉽지만은 않았습니다. 하지만 문제를 하나씩 해결해 나가면서 협업 능력이 향상되었음을 느꼈습니다. 또한 제가 맡은 부분의 코드 구조를 설계하는 과정이 생각보다 어렵다는 것을 깨달았습니다.

길기도 하고 짧기도 했던 일주일 동안 배운 것이 많았습니다. 팀원의 코드와 비교했을 때의 내 코드의 문제점을 발견할 수 있었던 점이 오히려 긍정적으로 느껴졌고, 더 뛰어난 사람들의 코드를 분석하며 기술적으로 성장할 수 있는 소중한 시간이었습니다.

  • 차정민

이번 프로젝트에서 <맵 클래스와 씬 전환 시스템>을 설계했습니다.

게임 컨셉이 ‘랜덤 맵 탐험’이라 씬에 대한 중요도가 높습니다. 그런데 어려운지도 모르고 덥석 씬을 담당하겠다고 한… 제 지난 날이 떠오르네요😅 그래도 덕분에 게임 구조에 대해 정말 많이 배웠습니다. 또한, 사운드 제작 과정에서 제 특기와 창의력을 발휘하여 게임의 분위기를 한층 더 살릴 수 있었던 점이 정말 인상깊은 프로젝트였습니다.

C++을 통해 게임 제작을 어느정도 ‘완성’했다는 것 자체가 감격스럽고!

팀원들과 협업하며 게임 개발의 전 과정을 경험할 수 있었던 값진 추억을 얻게 되었습니다!

  • 김동근

이번 캠프에서 처음으로 해보는 협업으로 다른 사람들의 코드들을 보고 내 코드를 거기에 맞춰주는 과정이 쉽지않았고 거기에 첫날 기획을 마치고 나서 다른 일정이 있어서 갔다오느라 5일의 기간 중에 3일을 날려먹엇기에 그 공백에 채우려고 맞춰서 이해하는 것도 어려움을 겪었지만 여태 배웠던 지식을 넣어서 팀장의 지휘하에 열심히 따라가서 이번 프로젝트를 어느정도 완성은 할 수 있게 되었습니다. 늦게 시작했음에도 옆에서 잘 도와주고 새벽까지 열심히 해준 팀원들에게 감사드립니다.

Problem - 불편하게 느끼는 부분

  • 지성현
    • 구조그로 인해 내부 코드 구조가 깔끔하지 못해 개선이 필요함을 느꼈습니다.
    • 프로젝트 진행 과정에서 구조적인 고민을 충분히 하지 못하고 완성에만 집중한 점이 아쉬웠습니다.
    • 버그발표 당일에 발생한 주요 버그는 아래와 같습니다:
      • 선택 UI의 불통일성
      • 메모리 릭 발생
    • 개발 과정에서 미처 발견하지 못했던 버그들이 일부 있었습니다.
  • 차정민디테일한 설정 부족 : 초반 설계 단계에서 게임의 디테일한 설정을 명확히 정하지 않아 제작 중 로직 설계 방향이 잠시 흔들리는 일이 있었습니다. → (개선 방향) 기획 초기 단계에 더 상세한 설정과 로직 플로우를 정의하고, 이를 기반으로 명확한 개발 계획을 세우겠습니다.
  • 트러블 슈팅 기록 부족 : 시간 부족으로 인해 코드 오류나 해결 과정을 체계적으로 기록하지 못했습니다 → (개선 방향) 주요 트러블 및 해결 과정을 문서화할 수 있도록 시간을 미리 배분하고, 기록용 템플릿을 활용해 간단한 로그를 작성하는 습관을 들이겠습니다.
  • 지승현
    • 몬스터가 여러 개 등장하다 보니 몬스터 매니저를 추가했다면 확장성이 더 높아졌을 것 같습니다.
    • 아이템 부분도 TYPE을 추가해 장비를 구현했다면 더 좋았을 것 같습니다.
    • 현재 인벤토리는 플레이어 내부에 포함되어 있지만, 이를 별도의 인벤토리 클래스로 만들어 관리했으면 더 체계적이었을 것 같습니다.
  • 김동근-> 코딩하는 습관을 더 들여서 시간이 부족해지더라도 금방 짜여질수 있도록 함.
  • 캐릭터 이름 지정 : 시간 부족으로 캐릭터 이름 지정 코드를 따로 만들지 못하고 그대로 제출함.

Try - Problem에 대한 해결책, 당장 실행 가능한 것

  • 선택 UI의 불통일성
  • 선택 UI의 일관성을 유지하도록 수정하고, 엔딩 크레딧도 다듬었습니다.
  • 메모리 릭 발생이 문제를 해결하기 위해 엔진이 정상적으로 종료되도록 코드를 수정했습니다.
  • Scene_0(시작 화면)에서 마을 씬으로 이동한 후 종료하기 버튼을 눌렀을 때, 엔진 종료 처리가 정상적으로 이루어지지 않아 메모리 릭이 발생했습니다.