메뉴 건너뛰기

Fastbird Dev Studio

Fastbird Engine의 reengineered version이 릴리즈 되었습니다. 


이번 수정으로 Fastbird Engine이 좀 더 API다운 모습을 갖추게 되었습니다.  이번 수정으로 많은 인터페이스들이 변경되어 어플리케이션 코드들도 수정이 좀 필요합니다. 제가 이 엔진으로 개발 중인 게임은 이번 변경사항을 적용하는데 약 이틀 정도가 소요되었고, 아직 버그들이 좀 남아있어서 추가 작업이 필요한 상태입니다. 이번에 세심하게 설계를 진행하였으니 앞으로는 인터페이스 측면에서 발생하는 변경을 최소화 할 수 있을 것으로 보입니다.

 

주요 변경사항들은 다음과 같습니다.

 

  • 한 뭉치로 존재하던 엔진이 기능별로 컴포넌트화 되었습니다. 컴포넌트들은 loop-free layered architecture를 기반으로 설계되었으며 의존 방향이 물 흐르듯 한 방향을 향합니다.
  • 상속(Inheritance)보다는 집합(Aggregation)을 기반으로 합니다.
  • Pimpl Idiom이 적용되었습니다.
  • 대부분의 메모리 포인터들이 스마트 포인터(std::shared_ptr, unique_ptr, weak_ptr)로 관리됩니다.
  • 플랫폼 종속적인 렌더러(DirectX, OpenGL)들이 플러그인 형식으로 런타임에 로드됩니다.

더 자세한 내용은 함께 릴리즈 된 fastbird_engine.architecture.pdf (436kb) 를 참고해주세요.