RPG 튜토리얼 강의보면 다른 장르에 비해 유난히 ~매니저 같은게 엄청나게 많이 보이는거같음
UI매니저 사운드매니저 스테이지매니저 인벤토리매니저 스킬매니저 스테이터스매니저 몬스터매니저 퀘스트매니저 데이타매니저, 풀매니저, 리소스매니저, 씬매니저, 등등등
싱글톤은 가능하면 소수 뭐 많아야 두세개까지 쓰는거라고 하던데 이건 다른 장르의 경우인거임?
아니면 그냥 강의들은 후딱 만들어서 작동하는거 보여주기만 하면 되니까 팔아먹으려고 대충 싱글톤 떡칠해서 만드는거임?
그렇다면 실제로 게임 만들땐 싱글톤 떡칠을 안하고 저 각종 매니저 부분을 어떻게 만드는건지 궁금함
데이터 왔다갔다 존나해야되는데 참조로 존나 넘기다가 히스토리 추적 안되면? 어딘가에서 끊겨서 nullref뜨면? 그러니까 그냥 싱글톤 난사함
걍 매니저라고 이름 붙인 거 아니야? 내부적으로 싱글톤 쓰더나
매니저를 관리하는 매니저를 만들어
그리고 매니저를 관리하는 매니저를 관리하는 매니저를 만들어서 해결함
오버마인드 - dc App
매니저패턴 -> 팀장패턴 -> 이사패턴 -> CEO패턴
알고 쓰면 괜찮음 Unity ECS 에는 심지어 Enity 찾을 때 Singleton 인지 검사하고 가져오는 검색 함수까지 제공함
싱글게임 특성상 많이 쓰게 되는듯 근데 1인 게임 클라이언트 한정하면 틀린 방법은 아닌듯함
코옵이나 배틀로얄같은 멀티게임에선 그럼 싱글톤 대신 어떤 방법을 쓰는걸가 DI인가 그런거 쓰는건가
음 아직 게임서버 개념에대해서 잘 안잡혔나본데 클라에서는 유저 한명만 케어하면 되기 때문에 유저에 대한 싱글톤은 사용하는게 오히려 편의성이나 유지 보수성에서 좋을 수 있다고 생각함 (생명주기 관리만 잘하면 ) 근데 서버사이드에서는 모든 유저들에 대해서 케어를 해야하기때문에 모든 유저들의 개개인 싱글톤을 파줄 수 없다는 말
꿀팁) 그냥 대충 어지간하면 싱글톤 하나에 때려넣는게 더 편함 매니저 과하게 나누면 나중에 매니저찾는데 한세월 - dc App
대충 두 세개 있는게 맞다고 봄 - dc App
난 이미 7개가 넘아가는데.. - dc App
내가 이해하기론... 일단... 매니저라고 해도 싱글톤으로만 구현하진 않음, 게임 내내 1개만 존재해도 되는 건 싱글톤 사용이 편리함 근데 예를들어 스테이지 시작할때마다 새로 만들어도 되는걸 (1스테이지에서 썼던 정보가 2스테이지에서 전혀 필요가 없는 등) 굳이 싱글톤으로 만들어 재사용하면.. 초기화 같은거 실수했을때, 사용하지도 않는 리소스가 계속 쌓이는 등 문제 발생하기가 쉽고, 그런 버그는 찾기도 어려움 그래서 가능하면 정말 필요한 부분에서만 만들고 버리고 하는게 장기적으로 유지보수가 편하고 그런 구조로 만들때 중복 코드를 좀 줄여주는게 DI 임, 물론 DI로 싱글톤도 사용가능함