들어가며

이 문서에서는 ecsrx.roguelike2d 예제를 통해 ECS(Entity, Component, System)의 개념과 ecsrx의 사용 방법에 대해서 설명합니다.

ECS(Entity-Component-System) 프레임워크란?

만들고자 하는 게임이 다음의 특징을 가진다면 ECS를 효과적으로 사용할 수 있습니다.

  • 객체의 종류가 다양하다.
  • 객체간 다양한 상호작용(interaction)을 가진다.
  • 개발 혹은 서비스 이후에 계속 객체의 종류의 늘어날 것으로 예상된다.

게임의 장르로 보면 전략 시뮬레이션이나 RPG 장르의 게임들이 바로 ECS 프레임워크를 사용함으로써 복잡도를 줄이고 개발시 지속적인 변경 사항들에 대해서 유연하게 대처할 수 있는 장르입니다.

그러니까 간단한 퍼즐 게임류에는 굳이 ECS 프레임워크을 도입할 이유가 전혀 없다는 말입니다.

Unity3D를 지원하는 ECS 프레임워크는 몇 가지가 있습니다.

왜 EcsRx인가?

(coming soon...)

ECS 패턴의 사용을 위해서 반드시 Rx를 사용해야할 필요는 없지만 EcxRx 프레임워크를 이해하고 사용하기 위해서는 Rx에 대해서 반드시 이해하고 있어야 합니다.

이 문서에서는 Rx에 대한 내용은 다루고 있지 않습니다. Rx에 대한 내용은 다른 문서를 참고하고 Rx의 사용을 원치 않는 경우에는 다른 ECS 프레임워크를 고려하는 것이 좋습니다.

EcsRx

EcsRx는 ECS 패턴을 위한 부분과 Unity에서의 사용을 위한 두 가지 레이어로 구성되어 있습니다.

EcsRx
  +--- Framework
  +--- Unity

EcxRx 폴더 내 Framework 폴더에는 ECS 패턴을 위한 코어 라이브러리를 포함하며 Unity와 독립적으로 사용이 가능합니다.

Unity 폴더 내의 라이브러리는 코어 라이브러리를 Unity3D 엔진에서 사용하기 쉽도록 확장한 라이브러리입니다.

results matching ""

    No results matching ""