오늘 계획은 과제 8번을 완료해서 제출하는 것이었다.
하면서 아쉬운 부분도 있어서 튜터님과 상의 후 주말까지 좀 더 보완해보기로 했다.
그것과는 별개로 과제를 진행하면서 내가 고민했던 부분에 대해서 이야기 하고자 한다.
레벨 내에서 Wave 구현
예전에 타워 디펜스를 제작해보면서 언리얼, C++에 미숙하여 시간관계 상 레벨 내에서 Wave를 구현하지는 않았었던 아쉬움이 있었다. 따라서 이번 기회에 레벨이 변경되지 않는 Wave를 구현해보기로 했다.
[현재 상태]
1. 아이템 테이블을 이용한 랜덤 스폰 기능 구현완료
2. Wave가 시작하고 끝나는 로직 구현 완료
3. 아이템별로 드랍되는 확률이 적힌 데이터 테이블 생성 완료
[구현 과정]
1. Wave 수만큼 아이템 데이터 테이블 에셋을 여러 개를 만든다.
2. 만들어진 데이터 테이블을 GameStateBase에 추가하여 관리한다. Wave 순서대로 추가해준다.
[완료된 결과물]
Wave(레벨)별로 폭탄, 힐링포션, 점수를 주는 코인(대/소)의 드랍확률이 다른 Wave가 구현되었다.
[생각나는 개선점]
1. Wave를 담당하는 데이터 테이블 에셋 개수가 많아지는 경우에 대한 고려가 충분하지 않다.
- 예를 들어, 데이터 테이블이 100개이면 GameState 블루프린트에 하나하나 추가하거나 제거하는 식으로 되어 있다.
- Editor에서 동작할 수 있는 툴을 만들어서 데이터 테이블 관련 특정 폴더를 선택하면 해당 Game State 블루프린트에 이름 순서대로 데이터 테이블들을 관리하는 배열에 추가할 수 있는 버튼 혹은 툴을 만들어 주면 좋지 않을까 생각한다.
2. 데이터 테이블 에셋이 단일인 경우에 대한 고려가 되어 있지 않다.
- 데이터 테이블이 단일 파일이지만 Wave들을 나타내는 경우에 대한 고려가 없다. 이 부분은 기획에 따라 달라질 수 있지만, 현재는 과제를 한 것이기 때문에 하나에 전부 들어가는 경우에 대비하여 기능 구현을 해 보는 것도 나쁘지 않다 생각한다.


'TIL(Today I Learned)' 카테고리의 다른 글
| 250217 TIL (0) | 2025.02.17 |
|---|---|
| 250214 TIL (0) | 2025.02.14 |
| 250211 TIL (0) | 2025.02.11 |
| 250210 TIL (0) | 2025.02.10 |
| 250207 TIL (0) | 2025.02.07 |