WIL 2025.01.20 기록
0. 개요
지난주 프로젝트를 진행하느라 TIL을 소홀리했던 것 같다.
반성된다.... ;ㅅ;
그래도 팀 프로젝트에만 집중한 결과 좋은 결과를 얻을 수 있어서 좋았던 것 같다.
1. 프로젝트에서 한 일
리드 프로그래머
- 프로젝트 일정 관리
- 기한 안에 기획했던 내용들을 최대한 구현할 수 있도록, 일정 계획 및 업무 분담.
- 기술적 이슈 해결 및 지원
- 프리징 일정이 다가올 수록 팀원들이 있는 시간에는 업무 분담을 하고,
- 진행도에 맞춰 일정 계획을 계속 수정하며, 다음을 어떻게 이어갈지 고민했다.
- 그 과정에서 팀원이 막히는 부분이 있으면 페어 프로그래밍을 하면 함께 문제를 풀어나갔다.
- 게임 구조 설계 및 구현
- 매니저 구현
- 모든 매니저 객체들은 싱글 톤으로 구현했습니다.
- GameManager : 엔진 실행부 (매니저들을 관리하도록도 만들면 좋았을 것 같다.)
- 매니저들을 관리할거면, GameManager를 통해서만 각 매니저들을 생성하고, 가져올 수 있도록.
- TimeManager : DT 계산을 위해 추가했습니다.
- PathManager : 사운드 파일 로드시 활용할 경로 관리자 입니다.
- KeyManager : 키 입력을 tick()마다 체크해줍니다.
- RandomManager : 랜덤 값을 뽑아줍니다.
- SceneManager : 여러 씬 전환, 현재 씬 지정 등 씬에 관련한 정보를 관리
- SoundManager : FMOD의 시스템 객체 초기화 등 사운드에 관련된 기능들을 관리
- 더블 버퍼 적용
- Console Layout 설계
- 씬 구조 설계
- 애니메이션 시스템 구현
- 사운드 추가 및 관리
- FMOD 이식 및 SoundManager 구현으로 Sound 관리
2. 어려웠던 일
구조를 짜면서 모듈화된 코드를 짜는게 어려웠다.
처음에는 구조를 하나하나 잡아가면서, 코드를 짜고, 최대한 확장성을 고려해가며 코딩을 했었다.
하지만, 시간이 지날수록 구조에 집중할 수 없고, 하드코딩처럼 작성하게 되어버렸다...
완성을 목표로 잡아서 부족한 시간내에 완성하려면 어쩔 수 없긴 했지만, 결국 실력이 부족하다는 뜻이어서 제일 어려웠고, 아쉬운 부분이었다..
3. 영상
<Git>
GitHub - 201810813/ProjectRainbowGuardian: 16조 텍스트 기반 프로젝트
16조 텍스트 기반 프로젝트. Contribute to 201810813/ProjectRainbowGuardian development by creating an account on GitHub.
github.com
4. 느낀점
첫날 기획을 시작했을 땐 고민이 많았었다.
기획은 너무 좋았지만, 결국 Engine을 만들어야 했고, 주어진 시간안에 모두 구현할 수 있을까 걱정이 됐었다.
결국 첫쨋날에는 구조를 어떻게 짤지 전혀 정하지 못하고 마무리가 되었다.
어쩌다보니 조장을 맡게된 나는 고민이 굉장히 많아졌다..
이전 경험을 토대로 이번 기획을 구현하려면 기초적이더라도 엔진 구조를 잡고갈 필요성이 있었고, 컨텐츠 전체적인 UML이나 구조설계를 잡고 가기엔 우리 실력이 아직 부족하다고 생각됐다.
때문에 주말간 간단한 게임 엔진 설계 및 구현, 기초 UI 설계 및 구현을 마치고 일정을 정해서 갔다.
사실 원래보다 복잡해진 구조 때문에 조원들이 싫어하지는 않을까 걱정을 꽤 많이 했었다.
하지만 조원들이 어떻게 했냐고 좋아해 주시고, 고생을 알아주셔서 정말 다행이었고 기분이 좋았다.
엔진의 구조에 대해서 간단하게 브리핑하고, 기존에 각자 맡기로했던 영역에서 그날 맡아서 끝내주어야 하는 일들을 전해 드렸다.
아직 c++의 주소나 클래스 문법들이 익숙하지 않아 어려우신 조원들은 중간중간 어렵거나 고민되는 부분들은 없는지, 주어진 시간내에 끝날 수 있는지 계속 체크했다.
또, 어려운 부분이 있다면, 함께 페어 프로그래밍처럼 옆에서 코드를 보면서 이부분은 이렇게 하면 이런 이유 때문에 좋을 것 같다.
이 부분은 이런 이유 때문에 에러가 발생했었다.
앞으로 구조는 이런식으로 잡아가는게 나중에 더 좋을것 같다. 등등
내가 할 수 있는 모든 조언과 지식을 나눠 드렸던 것 같다.
나중에 프리징까지 시간이 얼마 안남았을 때엔 구조를 잡고, 예시코드를 작성해 보여주며 설명 드리고, 꼭 이 예시코드가 아니어도 괜찮으니 예시코드로 빠르게 이해하시고, 지금 구조에서 ~~것을 만들어주세요.하고 말씀드렸다.
내가 맡기로 한 부분은 새벽 3,5시까지 남아 진행하고, 욕심이 나는 부분은 더 나서서 했었다.
애니메이션, 사운드 등 내가 욕심이 나서 더 추가했는데..
조원분들께서 늦은시간까지 열심히 프로젝트를 진행 중이셨고, 프로젝트에 대한 애정이 보이고, 재밌어 해주셔서 더욱더 욕심이 나고, 어떻게든 기획한 모든 것들을 만들고 싶었고, 나 스스로도 더 열심히 하게되었던 것 같다.
음... 사실 정리가 잘 안되어서 말을 너무 이상하고, 길게 적은 것 같다.
정리.
지난 5일간 조원분들께서 프로젝트에 애정을 가지시고, 너무 열심히 하시는 모습이 좋아서 저도 더욱더 열심히하게 되고, 욕심을 내 새벽까지 기능을 추가했었습니다.
이 과정에서 저는 조장으로써 조원들의 실력을 파악해 전체적인 일정 계획에 지장이 없도록 업무 분담과 계속 중간중간 찾아가 어디까지 진행이 됐는지, 어려운 부분은 없는지, 확인하며 막히는 부분이 있으면 옆에서 페어 프로그래밍을 하며 도와드렸습니다.
이후 제 일은 반드시 그날 마무리 지을 수 있도록, 새벽3~5시까지 남아 추가적으로 작업을 진행했습니다.
조원분들께 진심으로 감사드렸던 부분은, 제가 조금 어려운 부탁을 드려도, 욕심을 조금내 기능을 추가해도 맡으신일에 책임을 끝까지 져주시고, 저를 믿어주시고 좋아해주셔서 감사드렸습니다.
(특히, 열심히 적극적으로 하시려는 모습을 보여주셔서 너무 감사드렸습니다.)
제가 잘했다고 생각했던 부분은 일정 관리, 어려운 팀원이 있으면 함께 해결하기, 실력에 따라 부담스럽지 않은 업무 분담, 제가 맡은 일은 저도 그날 마무리할 수 있도록 노력해 반드시 마무리하기 였던것 같습니다.
또, 조원분들 모두 부족한 부분은 서로 채워주고, 서로 칭찬을 많이해주고, 함께 노력해주셨던게 좋았던 것 같습니다.
5. 마무리
글 정리도 안되고, 모두 말로 표현하기 어렵지만, 확실한건 너무나도 즐거운 프로젝트였고, 저에게 있어서 아주아주 뜻깊은 팀 프로젝트 였습니다.
5일간 함께 노력해주셨던 팀원분들 모두께 감사드립니다!! ><b
잠도 확 줄여가면서 끝까지 결국 해냈자낭! 한잔 해~!><//
ps. 마무리 회식도 너무 즐거웠고, 모든것이 깔끔했던 이번 프로젝트! ㅎㅎ 아쟈뵤!