이벤트 주도적 방식 vs 객체의 폴링

Unity3D 2013. 12. 5. 16:30
반응형

AI의 특징은 첫번째는 게임의 틱(Tick)마다 게임객체들의 로직을 갱신 한다는점입니다.

두번째는 객체들이 다른 객체들과 서로 통신 할수 있어야 한다는점입니다.

 

객체가 게임세계와 상호 작용하는 방식은 누가 주도적이냐에 따라 크게 2가지로 나눌수 있습니다.

하나는 객체가 주도적으로 세계를 인식 하는것(폴링:Polling)이고

다른 하나는 세계로부터 소식을 기다리게 하는것(이벤트주도:event-driven)이라고 합니다.

 

게임안에서는 수백개의 객체들이 동시에 움직이기 마련이므로 가능한 한 이벤트 주도적방식을 적용하는것이 합리적이라고 볼수 있습니다.

예를들어 미사일이 폭발해서 그 주변에 있는 십여개의 유닛들이 피해를 입는다고 해보겠습니다.

폴링이라는것은 폭발 주변의 유닛들이 자신의 환경을 매 틱마다 조사해서 스스로 폭발을 알아채고 피해치를 처리하는 것이고,

이벤트 주도적 방식이라는 것은 폭발한 미사일이 주변의 유닛들에게 폭발이 일어난 사실과 피해치를 알려주는 것입니다.

 

개념적으로는 각각의 게임 객체들이 스스로 주변을 인식하고 반응하는 방식이 더 멋있게 느껴질수 있겟지만 최종적인 결과를 놓고 본다면 이벤트 주도적 방식도 폴링과 다를바가 없습니다.

 

결과가 같다면 간단하고 빠른쪽이 더 유리할수 있겠네요.

 

https://github.com/dkozar/eDriven

 

 

 

반응형

'Unity3D' 카테고리의 다른 글

Unity3d DYNAMIC CIRCLES  (0) 2013.12.10
Unity-GoogleData  (0) 2013.12.10
Xbox 360 Joystick Controller for Unity  (0) 2013.09.28
Spine 2D 애니메이션 툴  (4) 2013.09.27
[Spine] Pipeline for exporting into unity with 2D Toolkit  (0) 2013.09.24
: