최근에 진행한 C# 팀 프로젝트를 마치고 회고를 남겨보려고 한다.
힘들었지만 정말 뿌듯했던 프로젝트였다.
💡 Keep — 잘했던 점, 기억하고 싶은 순간들
이번 프로젝트에서는 지난 개인과제 때 사용했던 MVC 패턴을 적극 활용해보았다. 클래스 간의 역할을 명확히 구분하고, 데이터와 데이터를 처리하는 로직을 분리함으로써 구조가 훨씬 명확해졌다는 점이 가장 만족스러웠다.
무엇보다도 팀 분위기가 너무 좋았다. 적극적인 소통 속에서 기획 방향성도 잘 잡을 수 있었고, '공포'라는 흔치 않은 테마를 선정해 참신한 아이디어로 프로젝트를 꾸려나갈 수 있었다.
처음에는 기능별로 나눠져 있던 코드를 하나의 게임으로 엮기 위해 리팩토링을 엄청나게 많이 했는데, 그 과정에서 인스턴스를 생성하고 넘기는 개념을 복습할 수 있었고, 다른 팀원이 작성한 코드를 이해하는 능력도 자연스럽게 향상되었다.
🧩 Problem — 어려웠던 점과 아쉬움
가장 큰 문제는 초기 설계 부족이었다. 처음부터 구조를 나누지 않고 각자 기능 구현에만 집중한 결과, 코드가 너무 복잡해졌다. 이후에 구조를 나누기 위해 리팩토링을 해야 했고, 그 과정이 만만치 않았다.
특히 몬스터 인스턴스 문제가 기억에 남는다. 하나의 몬스터 인스턴스를 여러 곳에서 참조하다보니, 한 몬스터가 죽으면 다른 곳에서도 상태가 변경되는 문제가 발생했다.
또한, 각자 구현한 코드가 독립적으로 구성되어 전체 흐름이 단절되는 문제도 있었다. 기능 간 연결이 매끄럽지 않아 많은 수정이 필요했다. 이부분을 처음에 얘기하고 시작했으면 훨씬 더 원활한 작업이 되었을 것 같다.
🛠 Try — 해결 방법과 피드백
설계부족의 문제는 이후 MVC 패턴으로 구조를 재정리하고 나서야 안정적인 관리가 가능해졌다.
몬스터 인스턴스 문제도, 객체를 복제하여 각 몬스터가 독립적으로 상태를 가지도록 변경하면서 해결할 수 있었다.
또한 리팩토링 과정에서 맵 이동 → 전투 → 결과 처리가 자연스럽게 이어지도록 흐름을 정리했고, 필요 객체를 전달하며 의존성도 적절히 조정하였다.
무엇보다 이번 경험을 통해 "설계 없이 구현하지 말자"는 중요한 교훈을 얻었다. 다음 프로젝트에서는 반드시 인스턴스 구조, 클래스 설계를 먼저 끝내고 구현에 들어갈 계획이다.
📖 느낀 점
- 프로젝트가 커질수록 구조가 중요하다는 사실을 뼈저리게 느꼈다.
- 팀 프로젝트에서는 각자의 파트를 넘어서 전체 흐름을 이해하고, 끊임없는 소통이 중요하다.
- 깃 커밋 컨벤션, GitHub, 디스코드, Slack 등을 활용해 원활한 협업을 경험할 수 있었고, 정말 뜻깊은 시간이었다.
- 무엇보다 팀원들 모두가 열심히 하는 모습을 보며 더 열심히 하게 되었고, 큰 동기부여가 되었다.
나의 몰입도는?
정말 80시간 이상 집중해서 작업했다. 평일에도 밤늦게까지, 주말에도 거의 쉬지 않고 작업하며 결과물을 완성했다.
단순히 구현하는 게 아니라, 리팩토링과 이해의 과정까지 포함해서 완성도를 높이고자 했던 시간들이 정말 값졌다.
나의 성장
다른 사람의 코드를 이해하고 고치는 과정에서 기존에 알고 있던 개념을 복습하고, 새롭게 공부하며 실력이 확실히 향상되었다.
이번 챕터를 통해 한 단계 성장했음을 실감할 수 있었다.
팀프로젝트 결과
🔥 우리 5조는 결과적으로 49표중 20표로 41%의 득표율을 보여주면서 1등이라는 성과까지 얻게 되어 더욱 뜻깊은 경험이었다.
앞으로도 설계와 소통, 협업을 핵심으로 삼아 더 성장하고자 한다
Github: https://github.com/yuseong01/dark_zeb
피드백 및 개선방향
그리고 함께했던 팀원분께서 같이 팀프로젝트를 한 후기를 보내주셨다..!😭
나는 칭찬이든 욕이든 들으면 발전할 수 있고 고칠 수 있다고 생각하기 때문에 안좋은 말이라도 좋으니 피드백을 보내주시면 감사할것 같다고 말씀드렸었다!
유성님
피드백 달라고 하셨던 거 생각나서 몇 자 적어봅니다 ㅎㅎ
코드를 작성하실 때 체계적인 구조로 (K머시기였나) 작성하셔서, 보면서 배울 점도 많았고 협업 할 때 적합한..
제가 1차적으로 생각하는 목표는 이미 달성하셨지 않나 생각하고 있습니다. 저의 롤모델이세요~~
힘든 상황이 많았는데도 (막판의 저처럼) 멘탈 안털리고 묵묵히 할 일 해내시고,
대부분의 리팩토링을 해내시면서 어려운 관문을 하나하나 헤쳐나가시는 게 멋있었습니다.
목표가 확실하고 그 방향으로 달려나가는 모습에서 안정감이 느껴졌습니다 ㅋㅋ
부족한? 점이 뭔지 파악하고 뭘 해야 극복할 수 있는지 생각하는 일련의 과정들을 꽤 많이 반복하고 겪어보셨구나.. 하는 생각을 했답니다.
이건 저랑 유성님의 잘맞았던 부분인 것 같은데, 저희 시험 보고 나서 답 맞춰보고 하는 그런 과정이 저는 너무 좋았어요~!!
상부상조 하는 관계 ㅋㅋ 새로운 팀에서도 다같이 해보면 좋을 것 같은데 적용을 어떻게 시켜볼지 고민입니다.
같은 조인게 정말 행운이었습니다.
많은 걸 배우고 갈 수 있었어요.
앞으로 다른 팀에서도 멋진 퍼포먼스를 기대할게요~!
열심히 같이 하신 분이여서 피드백을 받아서 정말 기뻤다.
이 다음 팀 프로젝트는 유니티로 게임 개발이다.
'C# > C#프로젝트' 카테고리의 다른 글
[TeamProject2] 기능 나열형 코드를 MVC 패턴으로 구조화 (0) | 2025.04.28 |
---|---|
[C#TeamProject][트러블슈팅] Monster 객체 재사용 문제와 객체 복제의 필요성 (0) | 2025.04.27 |
[C#Project] C# 개인 과제 개발 회고 – TextRPG (0) | 2025.04.21 |
[C#Project] Player가 Inventory를 참조할 때 발생한 순환 참조 문제 (Circular Dependency) (0) | 2025.04.19 |
[C#Project] TextRPG게임설계 (0) | 2025.04.18 |