Log to grow

[Unity] 스마트 게임엔지니어링의 3대 요소 본문

Game/Unity

[Unity] 스마트 게임엔지니어링의 3대 요소

kkkrrr 2018. 8. 13. 19:04


1. 모듈화 (Keep things modular)



1) 시스템간에 직접적인 종속관계가 없도록 한다.     

- 시스템 간에 Hard reference를 생성하지 않는다.

- 시스템을 다른 설정과 관계로 수정하기 어려워짐


2) 씬을 클린 슬레이트로 생성

- 씬 간에 임시 데이터가 없도록 한다.

- 씬을 히트할 때마다 완전히 중단 후 새롭게 로드되어야 한다.

- 씬을 해킹하지 않고도 다른 씬에 없는 고유한 동장이 포함된 씬을 생성할 수 있다.


3) 각 프리팹에 기능을 포함한다.

- 가능하면 씬으로 드래그하는 모든 프리팹이 각각의 기능을 포함하도록 한다.

- 대부분의 체크인이 프리팹 수준에서 이루어져 씬에서의 충돌이 감소함


4) 각 컴포넌트를 한 가지 문제 해결에 집중적으로 사용한다.



2. 수정 가능성(Editable)

1) 게임을 최대한 데이터 기반 구조로 제작한다.

- 명령어를 통해 데이터를 처리하는 컴퓨터처럼 게임 시스템을 설계한다.

- 게임이 실행 중인 경우에도 변경 사항을 게임에 더 효율적으로 적용할 수 있다. 


2) 시스템을 모듈 및 컴포넌트 기반으로 설정하면 협업자가 더 쉽게 편집할 수 있다. 


3) 런타임에 팀이 변경 사항을 게임에 적용할 수 있는 것이 중요하다.

- Scriptable Object처럼 런타임 상태를 외부에 다시 저장할 수 있으면 더욱 좋다.



3. 디버그 가능성(Debuggable)

1) 위 두 가지의 하위 요소

- 게임의 모듈성이 높을수록 일부만 따로 테스트하기가 쉬워진다.

- 게임을 수정하기가 더 쉬울수록, 즉 자체 인스펙터 뷰가 있는 기능이 많을수록 디버그하기 쉽다.

- 인스펙터에서 디버그 상태를 볼 수 있게 하고, 디버그 방식에 대한 계획을 수립하기 전까지는 끝난 것이 아니다. 




유니티 코리아 페이지의 "스크립터블 오브젝트로 게임을 설계하는 멋진 방법 세가지" 글을 참고하여 요약했습니다. 

출처 : "how-to/architect-with-scriptable-objects." Unity3d.korea. Accessed Aug,13,2018, https://unity3d.com/kr/how-to/architect-with-scriptable-objects



Comments