TIL)2024-01-24 구현 진행중
오늘 배운 것 및 개발 과정
어제에 이어서 개발 진행과 동시에 계속 기획을 다시 보면서 개발을 좀 더 명확하게 하는 번거로움이 좀 많았다.
이에 앞서 튜터님께도 몇가지 질문을 하였고 이에 대한 응답을 들을 수 있었다.
1. NPC 오브젝트 행동 패턴 자체가 FSM이 유리한가? 프리팹화하여
스폰되면 FSM에 따라 성능에
지장이 생기는가?
=> 가능하며, 지금 기획한 NPC의 행동 패턴이 단순화(계속 사용하는 것이 아닌 오브젝트 스폰 후 삭제) 과정이면 코루틴을 사용하여 구현이 가능하다. 즉 선택사항이다
2. enum 타입에 따른 별도 스크립터블 오브젝트화하여 NPC의 타입을 결정짓는 것이 적합한가?
=> 이것도 가능하다고 들었는데, 내가 아직 스크립터블 오브젝트에 대한 사용 경험이 전무한지라 FSM을 포함해서 이거 다시 한번 배우느라고 시간을 할애해 버렸다.
3. NPC 스폰 시간은 게임 플레이상
제한 시간 형태로 관여받고
게임 스테이지 변경을 위한
트리거 역할로 사용가능한가?
=> 가능하며, if로 제한을 걸어서 구현하는 것이 적합하다고 들었다.
4. NPC 스폰을 위해 원본을 프리팹화하여 오브젝트 풀링 작업으로 하기엔 적합한가?
=> 하면 좋다. 다만 오브젝트 풀링에 대해서 내가 잘못아는 것이 있는데, 오브젝트 풀링화하면 다시 사용할지 모르는 오브젝트가 남아버리기 때문에 만일 NPC 스폰이 외형조차 바뀐다면 초기 생성한 것들이 그대로 남아서 다음 스테이지에 볼 수 있을지도 몰라 사용하기에 고민이 많았지만 오브젝트 폴링은 단순히 오브젝트가 그대로 남지 않는다.
그래서 오브젝트 풀링, 스크립터블 오브젝트, FSM을 다시 한번 복습하는 것과 스폰 시스템을 어떻게 구현해야 할지도 고민하는 시간이 깊어져 버렸다.
하루 마무리 및 내일 할 것
문제는 어제랑 오늘도 계속 고민과 계획 수정, 복습과 나의 실력 리마인드 땜에 개발에 좀 더뎌졌다. 내일 튜터님이 점검차 오신다고 했는데 속도가 느린 것 때문에 약간은 걱정이 된다.