여기서 ECS는 그냥 behavior랑 state를 분리한다는거고 전체적인 아키텍처를 말하는거임
OOP는 상속 위주가 아니라 조합 위주로 잘짠거라고 생각하면 됨
퍼포먼스 말고 그냥 코드 구성으로 봤을때 ECS가 OOP에 비해 디버깅이랑 유지보수가 힘든가? 숙련도 안따지고 적당히 둘다 경험자가 짠다고 했을때 뭐가 더 어렵고 뭐가 더 디버깅이 쉽나?
여기서 ECS는 그냥 behavior랑 state를 분리한다는거고 전체적인 아키텍처를 말하는거임
OOP는 상속 위주가 아니라 조합 위주로 잘짠거라고 생각하면 됨
퍼포먼스 말고 그냥 코드 구성으로 봤을때 ECS가 OOP에 비해 디버깅이랑 유지보수가 힘든가? 숙련도 안따지고 적당히 둘다 경험자가 짠다고 했을때 뭐가 더 어렵고 뭐가 더 디버깅이 쉽나?
둘 다 경험이 많고 잘 짜야 답을 해줄 수 있겠는데 몇년동안 해도 OOP 하나도 제대로 잘 못다루겠어서 모르겠음
OOP쓰다가 ECS오니까 게임시스템 스케일아웃하기에는 정말 편하더라 OOP때는 요구사항바뀔떄마다 설계바꾸는게 괴로웠는데, ECS는 그런거 별로없었음. 대신 ECS는 온리 게임로직만, UI랑 별개 시스템은 OOP
디버깅 더 어려운건 없는데. 딱 하나 성능 외에 압도적인 장점을 꼽으라면. 틱을 마음대로 쓸 수 있음. 틱은 oop에선 오버헤드 때문에 최소화 하는데 ecs에선 그런거 없음. 모든 객체를 틱으로 굴려도 됨. 타이머도 필요 없어짐. 난 oop로 못돌아감. 이 틱 자유를 잃을 수 없음. - dc App
유지보수 ECS가 압도적이라 보기도 하고 로그라이크 많이 만드는 인디에선 ECS가 더 유용하다 봄
객체 하나씩 변수값 보는 디버깅은 불편게 맞음