버그 해결을 위한 모든 질문을 던져
+1 vote
762 views
유니티에서 인디게임을 만들던 도중에 몬스터 설계를 하고 있는데요.

코드를 짜는데 있어서 스크립트들을 어느 정도까지 분리를 해야할지 궁금합니다.

현재는 정보만 가지고 있는 스크립트, 행동을 하는 스크립트, 몬스터 오브젝트에 씌울 메인 스크립트 이런식으로 3단계로 분류를 했는데 구현하다보니 사실상 행동이랑 오브젝트에 씌울거랑 중복이 많이 되더군요.

그래서 생각한게 몬스터들 공통적으로 가지는 요소들(체력, 공격력 등)의 정보를 담는 스크립트 1개

공통적으로 가지는 행동들(idle, death 등)을 담는 스크립트 1개

그 외에 개별적인 특성을 담는 스크립트 1개로 변환하려고 하는데 혹시 보다 좋은 방법이 있을까요?
asked (3 point) , 762 views

3 answers

+1 vote
몬스터 공통으로 가지는 정보와 공통으로 가지는 행동이라면

공통의 몬스터 클래스 하나면 되지 않나요?

궂이 분리할 필요가 없을거 같습니다.
answered (8 point)
좋은 답변 감사합니다!
+1 vote
정보를 가지고 있는 컴포넌트1개

행동을 할 수 있는 컴포넌트1개

일단 이정도로만 시작해보는건 어떤가요?
answered (89 point)
좋은 답변 감사합니다!
+1 vote
음, 인디라곤 하지만
목적은 상용이실테니 상용 개발기준으로 말씀드리자면요,
전 12년에 RPG 만들때 당시에는

몬스터의 각종 파라메터는 "테이블" 에 정보를 모아둬서 관리하기 편하게 묶어뒀구요
몬스터 behavior 부분은, 행동의 유사성을 가지는 몬스터끼리 공유할수 있게 XML스크립트를 이용해서 짠 기억이 있네요

쉽게 말하자면,
늑대류, 슬라임류, 식인꽃류 등등의 behavior 스크립트를 짜서 같은 계열끼리는 해당 스크립트대로 행동하되
공격할때 공격력, 발사할 투사체, 탄막, 체력, 텍스쳐, 등등의 각각의 종마다 고유하게 가져야 할 값은
엑셀 같은 테이블로 데이터화 하는것이 좋다고 생각합니다.

만약 이부분들을 스크립트로 관리하시면,
나중에 수정하는데 스크립트 파일을 하나하나 다 일일이 수정해줘야 하기때문에

테이블이 몬스터ID 하나당 스크립트와 테이블의 ROW 가 1대 1로 매칭 되게 관리해주는 개념으로 접근하시는것이
좋지않을까 생각이 됩니다.
answered (24 point)

버그 해결을 위해 도움을 구하고, 도움을 주세요. 우리는 그렇게 발전합니다.

throw bug 는 프로그래밍에 대한 전분야를 다룹니다. 질문,논의거리,팁,정보공유 모든 것이 가능합니다. 프로그래밍과 관련이 없는 내용은 환영받지 못합니다.

170 질문
273 answers
292 댓글
285 users