포스트

[TIL]2025-07-18 TextRPG 팀 프로젝트 구현 라스트댄스

[TIL]2025-07-18 TextRPG 팀 프로젝트 구현 라스트댄스

🗓️ TIL - 메인 : 팀 프로젝트로 만드는 TextRPG 라스트댄스.

부제 : 정신차려보니 9시가 넘었다.

✅ 오늘 한 일

  • C#에 음악파일 경로 수정
  • UI틀 맞추기

C#에 음악파일 경로 수정

Visual Studio에서 음악 파일을 인식하는 방법은 크게 두가지가있다.
1.절대경로
2.상대경로

상대경로의 경우 방법이 좀 나뉘긴하지만 보통 프로젝트 파일을 기준으로 나뉜다. 어제 했던 음악파일 경로의 경우 내 로컬의 절대 경로로 설정하는바람에 팀원들은 재생이안됬다.
구글링했더니 프로젝트 폴더로 인식하게하는 함수가 제공된다고해서 적용했다. CLEAR!!!

1
    string bgmPath2 = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, @"..\..\..\Battle\BGM\fight.wav");

UI틀 맞추는 작업

하루종일 UI가 깨지고 폰트도 안맞고 정렬도 안맞아서 하루가 어떻게 흘렀는지 모르겠다.
TIL을 쓰기위해 어떻게 써야할지 감도안온다.
너무 정신없이 이것저것 수정해보다보니 뭐랄까…재대로 메모하지 못한 것들이 많다.
다만, UI틀 맞추기위해 어떤 함수나 이런거보다 더 중요한걸 깨닫긴했다.

  • 언어에서 제공하는 문법의 정확한 작동 원리 및 범위
  • 무작정 코드를 짜기보단 분명하게 역할을 구분하는것의 중요함

이를테면 Console.WriteLine의 경우 한줄 띄고 다음줄부터 작동하게 만드는건줄알았다.
근데 한줄띄는것도 이 코드의 범위에 해당하는부분이다.
내가 짠 코드들 중 x좌표를 설정하는게 있었는데, Conosle.WriteLine의 영역에 포함되어서
UI가 깨졌었다.
이거 수정하느라 하루 종일 구글링하고 GPT한테 물어봤는데 쉽게 답이안나왔었다.
이런게 참 중요하네.

팀 프로젝트를 마치면서 내가 분리했던 Utility나 scene들을 쭉 살펴봤을때 기능적으로
잘 설계하지못한부분이 아쉽다.
예를들어 자동차의 바퀴를 비유해보면
바퀴 -> 타이어 -> 휠 > 브레이크가 크게 나뉘는데 내 코드는 타이어의 일부가 휠에 있었다.
이런 부분이 많아서 트러블슈팅이 더더욱 힘들었달까…

팀 프로젝트를 마치며 느낀점

처음엔 단순히 C#과 콘솔을 이용한 간단한 게임이겠거니 했다.
하지만 하루하루가 쌓이면서 단순한 줄만 알았던 이 TextRPG는 내게 프로그래밍 그 자체를 되돌아보게 했다.

혼자 코딩할 때는 미처 몰랐던 것들이 팀 프로젝트에선 적나라하게 드러났다.
모든 파일이 뒤엉킨 구조, 역할이 겹치는 클래스, 설명 없이 흘러가는 흐름들.
이게 전부 내 코드였다는 사실이 조금은 부끄러웠다.

하지만 그 부끄러움 덕분에 배운 게 많았다.
코드는 ‘돌아가기만 하면 되는 게 아니라’, 읽히고 유지될 수 있어야 한다는 것.
혼자만 이해하면 되는 게 아니라, 팀원도 이해할 수 있어야 진짜 ‘설계’가 된다는 것.

이 프로젝트를 하며 진짜 개발자가 되는 첫 걸음을 뗀 기분이다.
포기하고 싶었던 날도 있었고, 콘솔 UI 하나 맞추다가 한참을 멍하니 있던 날도 있었다.
그런 날들이 모여서 결국 하나의 완성된 게임으로 마무리되었다는 게 참 감격스럽다.

이제 알겠다.
혼자 만드는 코드가 아니라, 함께 완성하는 결과물이란 게 얼마나 값진지를.
그리고 이제 시작이겠구나 싶다.

팀원들 너무 고생많았습니다.

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.