FPS Creator

파일:Fpscreator.jpg

홈페이지
FPS Creator (이하 FPSC)

1 소개

영국회사인 The Game Creators (이하 TGC)에서 2005년에 처음 발표하여 유료 배포중인 게임 엔진. DirectX 렌더링 기반으로 다크 베이직 프로 언어로 개발된 엔진이다. FPS 게임 개발에 최적화 되어 있으며 간편한 게임 제작이 가장 큰 특징이다.[1]

2 FPSC 목록

2.1 FPS Creator X9

다이렉트X의 3세대인 9.0 버젼을 지원하는 엔진.

이 문서에서 소개하는 엔진이며 현제는 FPS Creator Classic으로 개명된 상태이다.

2.2 FPS Creator X10

2008년도에 공개된 다이렉트X10 버젼을 지원하는 엔진.
X10을 지원하면서 X9에 비해 한단계 업그레이드 된 그래픽을 자랑한다. 물[2]과 실시간 그림자, 파티클, 업그레이드 된 인공지능을 지원하여 주목을 끌었지만, 실제로는 일부 기능을 제외하면 그래픽 업그레이드 버젼 그 이상도 이하도 아니였다. 게다가 X10 버젼의 대부분의 기능이 X9 버젼을 이용하는 개발자들의 손에 의해 제작된 모드로 구현이 가능해지면서 사실상 사용 할 의미는 없어졌다. 현재 공식 홈페이지는 폐쇄된 상태.

2.3 Game Guru

홈페이지

이름이 싼 티 난다
2012년 11월에 FPS Creator Reloaded로 처음 공개된 엔진.[3]
X9 버젼을 기반으로 성능과 그래픽[4]을 대폭 업그레이드 시킨 버젼이다. X10과 같이 테스트 플레이 상태에서 그래픽과 레벨을 수정 할 수 있으며, 무엇보다도 터레인 시스템을 지원하여 지형을 자유롭게 편집 할 수 있다. 다만 이전 버젼에서 지원하던 세그먼트가 이번 엔진에서는 지원되지 않아 건물을 디자인할 때에는 미리 완성된 3D모델을 가져오는게 편하다.[5]
스팀에서 다운로드를 지원하고 있으며 공식 홈페이지에서 로그인 할 때에도 스팀 아이디로 할 수 있다.
공식 홈페이지에서 업데이트 되었으면 하는 목록을 투표하는 중 이다. 혹시라도 마음에 안 드는 부분이 있거나 부족하다 싶은 부분이 있으면 투표에 참여하자. (로그인 필수)
소스코드가 아직 공개되고 있지 않다. 엔진 개발이 어느정도 안정화 되면 그때부터 공개되지 않을까 라는 추측정도만 있는 상태. 물론 당연하지만 언제 엔진의 윤곽이 잡힐지는 아무도 모른다(...)

LUA 스크립트와 아이소매트릭 뷰를 지원하며 구 FPSC의 장점이였던 간편한 실내 디자인 시스템의 부재에 대응하기 위하여 Easy Building Editor이란 기능이 추가되었다. 또한 기존에 3d 모델은 확장자 X[6]파일 만을 지원했으나 최근에는 좀 더 다양한 3d 확장자 파일을 지원한다.

3 장점

간편하다. 기본적으로 코딩이 필요없어 프로그래밍에 대한 지식이 필요한것도 아니고, FPSC 고유 스크립트 언어인 FPI는 거의 트리거 방식인지라 작성하는데 있어 까다롭지 않다(다만 복잡한 스트립팅을 만들 경우에는 굉장히 복잡해 진다.). 맵 디자인 또한 기능이 굉장히 단순화 되어있으며 특히 실내를 표현하기에 적절하다. 이는 세그먼트의 영향이 큰데, 그저 텍스쳐를 입힌 특정 모양의 판을 이어가면서 바닥과 벽, 천장을 만드는 방식이기 때문.
또한 생각보다 이 엔진을 사용한 개발자가 꽤나 있었기에 해외 한정이기는 해도 자료가 제법 많은 편이다.

4 단점

개발 환경이 굉장히 제한적이다. 일단 이름부터가 FPS Creator인 만큼 FPS에 특화 되어 있어 그 이외의 장르는 직접 연구를 해야 할 필요가 있다.[7][8] 실제로 전문 개발자들 사이에서 좋은 평을 받는 엔진은 아니며 대체적으로 그냥 한번 거쳐가 보는 정도로는 나쁘지 않은 게임제작 쯤으로 본다.
그래픽에 비해 최적화가 좋지 않다. 이는 LUA스크립트 처럼 대중적인 스크립트 언어가 아닌 독자적인 스크립트 언어를 이용해서 인 것으로 추측되는 부분. 1.17버젼에서 그래픽과 최적화를 어느정도 개선했지만, 어찌된게 1.18버젼에서는 다시 최적화가 안 좋아졌다.

부연 설명을 덧붙이자면

  • 화면에 보이지 않는 부분을 그리지 않는 방식(Frustum Culling , Back-Face Culling)이 없어서 화면을 제외한 나머지도 실시간으로 렌더링 한다.
  • 거리에 따른 묘사 ( Level-Of-Detail ) 가 없으므로 멀든 가깝든 해당 정점들을 생략없이 계산한다.
  • fpi 스크립트[9]의 명령어를 실시간으로 해독&실행하여 순수한 인터프리터에 가까운 정도로 오버헤드(처리에 필요한 부가적인 시간 , 자원 등)가 많다.[10]

아니 애초에 제품용이 아니라 공부와 연습 , 프로토타입 등 간단한 제작용이라
개발자 입장에서 이런 최적화가 필요할지 생각해보자.

위에 적혀진 기능들 중 3번 빼고는 애초에 상업성도 고려해서 집어넣은 플러그인을
판매하고 있다.

이런 원인을 확인할 수 있는 현상은 모델 갯수에 따라 랙의 정도가 비례한다든지 트리거 존에 들어와서 해당 스크립트가 발생하거나 캐릭터가 생성되어 돌아다니면 해당 스크립트가 해제되기 전까지 랙이 치솟는다든지...

실제로 이 엔진은 유니티 3D언리얼 엔진 같은 엔진처럼 상용 게임을 개발할 목적으로 쓸 엔진은 절대로 못된다. 앞서 말한 단점만이 아니라 세세하게 따져들면 버그, 허접한 물리엔진, 제한된 플랫폼 등등 이것저것 건드려야 할 부분이 너무 많기 때문. 알만툴과 비슷한 면이 있지만 알만툴과 비교해도 제한적인 감이 있다. 만약 지금 당장 FPSC를 써 보고 싶다면 후속작인 Game Guru로 넘어가는 것이 낫다. 아직 Game Guru는 소스코드를 공개하지 않아 모더들은 없지만, 어짜피 FPSC Classic도 모든 소스코드를 공개한 것은 아니였기에 모드만을 바라보고 FPSC Classic을 사용할 이유는 없다.

5 모드

FPSC는 태생적으로 한계를 지닌만큼 개조가 절실한 엔진이다. 때문에 많은 개발자들이 모드를 배포하고 있으며, 모드중 일부는 정식 업데이트 내용에 포함되기도 한다.

5.1 EFX

홈페이지
FPSC X10을 필요없게 만든 주범.
기존의 FPSC의 그래픽을 개조, 상향시킨 모드이다. Bloom, 개선된 라이팅, 레그돌, 물, 노말맵 등을 지원하며 그래픽 설정을 테스트 플레이 도중에 변경이 가능하도록 개조하여 한때 사양좀 된다 싶으면 필수로 사용하는 모드였다. 지금은 1.17~1.18 공식 업데이트 버젼에서 대부분의 기능이 흡수된 상태. (테스트 플레이에서 그래픽 설정은 불가능.)
공식 버젼인 1.15에서 지원된다.

원래는 이 모드가 Freddix라는 다크베이직 프로 ( 게임제작에 특화된 BASIC 기반 언어 ) 개발자가 공개한 Ultimate Shader Pack 이라는 각종 쉐이더 코드&데모 모음집을 발표링크했을 때 이를 FPSC 엔진으로 이식한 모드이다. 다만 초기 버전의 FPSC 자체가 컴퓨터 시계에 맞추어 화면을 그리는 것이 아닌 단순히 연산 속도에 맞추어 그려지는 형태라 매우 심각한 렉이 발생했었다. 버전업이 되면서 Airmod가 탄생하면서 시계 기반 그리기 방식으로 바뀌었고 EFX에서도 Airmod를 흡수하면서 제대로 된 성능을 발휘하게 되었다.

하지만 여전히 기존 FPSC 엔진의 특성상 각종 스크립트 처리와 오픈다이나믹스 물리엔진, 컴포넌트 관리자 등 최적화 되어있지 않는 또 다크베이직의 최적화 되지 않은 코드로 인해 리소스가 조금만 커져도 렉이 도지는 현상과 엔진의 버전업에 포함된 개발사가 "직접 만든" 쉐이더 코드들이 추가되면서 더 이상 개발의 필요성이 사라졌는지 개발을 멈추고 개발팀은 문을 닫게 되었다.

5.2 Air

웨펀기능을 추가하는 모드. 정조준, 반동등을 지원한다. 공식버젼인 1.17에서 대부분이 흡수된 상태. 다른 모드를 설치해도 대부분 필수적으로 Air 모드를 지원하기에 따로 설치할 메리트는 없는 상태.

지원하는 기능은
1. 총기 모션의 확장 (정조준, 탄알 개별 장전 시 부족한 갯수 만큼만 장전,
모션 프레임 구간 확장 및 스크립트로 불러오기 가능)
2. 컴퓨터 시간 기반 동기화 (모든 기능들이 시간 변화에 맞추어 일정하게 처리)

5.3 Xploid

EFX모드와 마찬가지로 그래픽을 대폭 강화시킨 모드. Time of Day, 실시간 그림자와 발전된 광원효과, Parallax 매핑등을 지원하여 어지간한 인디엔진 부럽지 않은 그래픽을 구현이 가능하다. 다만 그래픽 이외의 기능은 부족하여 실제 게임을 만들기에는 아쉬운 모드. 게다가 현제 공식 홈페이지가 폐쇄되어 다운로드가 힘들어졌다.

5.4 Black Ice

Nomad Soul과 s4real이 참여하여 만들고 있는 모드. Nomad Soul이 제작한 Nomad모드[11]를 기본적으로 지원하여 최적화, 스크립트 추가 등을 지원하는 모드이다. 가장 최신버젼인 1.20버젼에서 지원되는 유일한 모드.
  1. 이런 특징 때문에 게임 엔진이 아니라 알만툴과 같은 분류로 보는 시각도 있다.
  2. 이때 당시에 X9는 물을 지원하지 않아 모드를 써야 했다.
  3. 처음에 FPSC를 기반으로 새롭게 제작한 엔진 쯤이였으나 Game Guru로 명칭을 변경하면서 좀 더 다양한 장르를 소화 가능한 엔진으로 개발 목표를 확립한 것이다.
  4. X11을 지원할 예정이다!
  5. 한가지 팁을 알려주자면 맵 에디터에서 B키를 누르면 그리드를 지원한다. 다만 이와는 별개로 건물 디자인에 유용한 기능이나 툴을 지원할 예정인건 맞는것 같다.
  6. 이를 기반으로 확장자 DBO 파일을 생성한다.
  7. 기본적으로 1인칭만을 지원한다.
  8. 3인칭이 불가능한 것은 아닌데, 1.17버젼 이하는 모드를 사용해야 했으며, 1.19버젼은 스크립트를 통해 구현이 가능하다. 그나마도 좀 기능이 어설프다.
  9. 앞서 소개한 FPSC만의 독자적인 스크립트 언어. 트리거 방식을 따르고 있다.
  10. 성능을 고려하려면 해독을 미리 끝내어 읽음과 동시에 바로 실행이 가능한 바이트 코드 형태로 파일이나 램 상에 담아 놓고 해당 스크립트가 발생할 시점에 해당 바이트 코드를 실행하는 방식으로 했어야 했다.
  11. 모드라고 하지만 사실상 쉐이더팩에 가깝다.