최근 수정 시각 : 2024-06-30 13:31:13

FPS Creator

GameGuru에서 넘어옴
1. 소개2. FPSC 목록
2.1. FPS Creator X92.2. FPS Creator X102.3. GameGuru Classic2.4. GameGuru Max
3. 장점4. 단점5. 모드
5.1. EFX5.2. Air5.3. Xploid5.4. Black Ice


파일: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으로 개명된 상태이다. 동시에 현재 해당 툴은 오픈소스로 전환되었으며 공식적으로 무료 사용이 가능하다. 마찬가지로 FPSC를 위한 개발자 팩 과도 같은 모델팩들도 상당수가 무료로 전환되었기 때문에 심심하다면 바로 사용해 볼 수 있다. 해당 툴을 지금까지도 사용하는 유저들은 하나같이 고인물화 된 만큼 여러 편의성 및 퀄리티를 발전 시킨 모드들이 나오고 있다.

2.2. FPS Creator X10



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

현재 공식 홈페이지는 폐쇄되었고 포럼만 남은 상태이다.

2.3. GameGuru Classic



홈페이지

이름이 싼 티 난다
2012년 11월에 FPS Creator Reloaded로 처음 공개된 엔진. 처음에 FPSC를 기반으로 새롭게 제작한 엔진 쯤이였으나 GameGuru로 명칭을 변경하면서 좀 더 다양한 장르를 소화 가능한 엔진으로 개발 목표를 확립한 것이다.
X9 버전을 기반으로 성능과 그래픽을 대폭 업그레이드 시킨 버전이다. X10과 같이 테스트 플레이 상태에서 그래픽과 레벨을 수정 할 수 있으며, 무엇보다도 터레인 시스템을 지원하여 지형을 자유롭게 편집 할 수 있다. 다만 이전 버전에서 지원하던 세그먼트가 이번 엔진에서는 지원되지 않아 건물을 디자인할 때에는 미리 완성된 3D모델을 가져오는게 편하다.[3]

패치 이후 X11을 지원하게 되었다. 허나 X11 패치의 의의는 X9 버전에서 벗어나 좀 더 최적화 및 호환성을 염두에 둔 것이지 특별히 그래픽에 있어 변화가 있지는 않다. 굳이 있다면 PBR이 본격적으로 도입되었긴 하나 광원 시스템이 워낙 구닥다리라서 반쪽짜리 지원이라고 할 수 있겠다.[4]

스팀에서 다운로드를 지원하고 있으며 공식 홈페이지에서 로그인 할 때에도 스팀 아이디로 할 수 있다.
공식 홈페이지에서 업데이트 되었으면 하는 목록을 투표하는 중 이다. 혹시라도 마음에 안 드는 부분이 있거나 부족하다 싶은 부분이 있으면 투표에 참여하자. (로그인 필수)
소스코드가 아직 공개되고 있지 않다. 엔진 개발이 어느 정도 안정화되면 그때부터 공개되지 않을까 하는 추측 정도만 있는 상태. 물론 당연하지만 언제 엔진의 윤곽이 잡힐지는 아무도 모른다.(...) 이후 소식에 따르면 기본적으로 셰이더 및 여러 코드들을 하드코딩하여 소스코드 공개하거나 혹은 유저가 임의로 수정하는 일은 없을 것이라고 못 박아두었다.

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

후술할 GameGuru Max가 2020년 2월부터 본격적으로 가시화되면서 GameGuru 역시 GameGuru Classic으로 개명되었다. 맥스 버전이 등장하더라도 기본적인 업데이트 지원을 계속 이어나갈 예정이라고 한다.

GameGuru Max가 공식화되면서 포럼을 중심으로 많은 논란이 일었다. FPSCR 때부터 개발자가 약속해왔던 상당수의 기능들을 결국 실현하지 못한 채 이후 단순 버그픽스만 이루어질 가능성이 높아졌기 때문이다. 특히 Time of Day[6], Parallax Mapping[7], 실시간 그림자 등 은 아예 구현이 되지 않았거나 혹은 반쪽만 구현된 상황이며, 이럴거면 소스코드라도 풀어달라는 이야기도 나오는 상황이다. 또 이렇게 뒤통수를 쳤으면서 어떻게 다음 버전인 Max를 믿고 구매할 수 있겠냐는 비판도 있다.

이러한 문제를 일으키게 된 부분에 있어서는 개발 방향 및 기능 업데이트 선호도 조사와 같은 나름대로 유저 친화적인 시스템이 오히려 발목을 잡은 것도 없잖아 있는데, 사실 GameGuru를 사용하는 유저들 다수는 실제 다른 상용엔진들을 다루지 못하는 유저들 즉, 다소 어린 나이의 유저들인 경우가 많기 때문이다. 그러니까 이미 완전히 하드코딩 되어 유저 입장에서 어쩔 수 없는 렌더링 엔진과 관련된 부분의 패치가 시급했음에도, 상대적으로 유저의 실력으로 극복이 가능한 스크립팅이나 AI와 관련된 항목이 인기를 얻게 되면서 개발 방향성이 완전히 뒤틀어지고 정작 중요한 렌더링 엔진 향상은 항상 뒷전이 되어 버렸다. 개발자도 이러한 문제점을 인지했는지 아예 선호도 조사를 없애버렸다.

2.4. GameGuru Max


공식 소개 홈페이지

GameGuru의 공식적인 후속작이다.

해당 엔진의 렌더러는 Wicked 엔진이라는 오픈소스 엔진을 기반으로 제작되었다. 때문에 본격적인 실시간 라이팅과 그림자가 지원될 예정이며 GameGuru와 달리 DX11의 기능을 좀 더 본격적으로 활용할 예정으로 보인다.
알파 6.1 버전을 지나 10월부로 본격적인 베타 버전이 시행되고 있다.

현재 약속된 기능들은 다음과 같다.
  • wicked 엔진 기반의 새로운 렌더링 엔진
    • SSR(Screen Space Reflection)
    • 실시간 라이팅과 그림자(라이트 베이킹 삭제)
    • 완벽한 PBS 지원 및 엔진 내에서 자체적으로 거칠기, 반사도, 노말맵 등 조정 가능
    • LUT, MSAA 등 다양한 포스트 프로세싱 지원
    • 대기 시스템 강화로 하늘과 해의 색상 조정 및 해의 위치 조정 가능
    • 구름
    • 물 셰이더 강화 및 3d 물 지원
    • LOD 지원
    • 테셀레이션 지원
  • 지형 및 빌딩 시스템 변화
    • 전반적인 툴의 UI 변화
    • 지형 텍스쳐 페인팅 기능 및 퀄리티 강화
    • 다양한 지형 편집 방식 지원
    • 다종의 잔디 한꺼번에 배치 가능
  • Photon 방식의 스탠드얼론 멀티플레이 지원
  • VR 지원

이외에도 SubSurface Scattering, 복셀 기반 글로벌 일루미네이션[8] 등 현재 언급된 기능들이 추가적으로 더 있으나 이는 개발자가 확답을 준 것이 아니기 때문에 추후를 기대해봐야 할 것으로 보인다. 다만 개발자가 Wicked 엔진의 렌더링 엔진을 최대한 GameGuru Max로 가져올 것을 목표로 삼은 만큼 나중을 기대해 볼 수는 있을 것으로 보인다.

GameGuru Max 발표와 동시에 GameGuru Classic을 사용하던 유저들의 불만이 터져 나왔다. 기존에 지원하기로 했던 기능들 상당수가 지원되지 않은 상황이기 때문이다. 이 중 일부는 개발 영상을 통해 기능이 지원될 것으로 확정되었던 것들도 있었던 만큼 많은 당연한 비판이라고 할 수 있다. 이에 대해 개발자 Lee도 어느정도 비판을 수용을 하여 계속된 알파버전과 개발자 라이브를 통해 좀 더 개발 진척도를 투명성 있게 공개하였다. 그리고 Classic 버전에 있었던 상황을 반면교사로 삼았는지, 유저가 직접 극복해 낼 수 있는 스크립팅이나 AI와 관련된 피드백들은 QnA를 통해 완전히 배제하는 것을 볼 수 있다. [9]

3. 장점

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

4. 단점

개발 환경이 굉장히 제한적이다. 일단 이름부터가 FPS Creator인 만큼 FPS에 특화 되어 있어 그 이외의 장르는 직접 연구를 해야 할 필요가 있다.[11][12] 실제로 전문 개발자들 사이에서 좋은 평을 받는 엔진은 아니며 대체적으로 그냥 한번 거쳐가 보는 정도로는 나쁘지 않은 게임제작 쯤으로 본다. 이는 GameGuru로 넘어와서도 마찬가지인데, GameGuru 역시 FPS에 한정짓지 않겠다는 포부를 위하여 이름까지 바꿨지만 여전히 FPS 위주의 툴 임은 부정할 수 없다.

그래픽에 비해 최적화가 좋지 않다. 이는 LUA스크립트 처럼 대중적인 스크립트 언어가 아닌 독자적인 스크립트 언어를 이용한 것이 문제라고 추측되는 부분. 1.17버전에서 그래픽과 최적화를 어느정도 개선했지만, 어찌된게 1.18버전에서는 다시 최적화가 안 좋아졌다.

부연 설명을 덧붙이자면
  • 화면에 보이지 않는 부분을 그리지 않는 방식(Frustum Culling , Back-Face Culling)이 없어서 화면을 제외한 나머지도 실시간으로 렌더링 한다.
  • 거리에 따른 묘사 ( Level-Of-Detail ) 가 없으므로 멀든 가깝든 해당 정점들을 생략없이 계산한다. [13]
  • fpi 스크립트[14]의 명령어를 실시간으로 해독&실행하여 순수한 인터프리터에 가까운 정도로 오버헤드(처리에 필요한 부가적인 시간 , 자원 등)가 많다.[15]
아니 애초에 제품용이 아니라 공부와 연습 , 프로토타입 등 간단한 제작용이라 개발자 입장에서 이런 최적화가 필요할지 생각해보자. 위에 적혀진 기능들 중 3번 빼고는 애초에 상업성도 고려해서 집어넣은 플러그인을 판매하고 있다.

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

실제로 이 엔진은 유니티 3D언리얼 엔진 같이 상용 게임을 개발할 목적으로 쓸 엔진은 절대로 못된다. 앞서 말한 단점만이 아니라 세세하게 따져들면 버그, 허접한 물리엔진, 제한된 플랫폼 등등 문제점이 너무 많기 때문이다. 알만툴과 비슷한 면이 있지만 알만툴은 2D 그래픽이라는 한정 안에서 자유도가 상대적으로 보장되는 편 인 반면, FPS Creator은 안 그래도 엄청난 기술력을 요구하는 3D 그래픽 기반 툴이면서도 퀄리티, 자유도 둘 다 높지 않은 상태이기 때문에 더욱 한계가 돋보일 수밖에 없다.

5. 모드

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

5.1. EFX



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

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

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

5.2. Air

Gunspec을 강화하여 정조준, 반동등을 지원하는 모드이다. 공식버전인 1.17에서 대부분이 흡수된 상태이다. 마찬가지로 다른 모드를 설치해도 대부분 필수적으로 Air 모드를 지원하기에 따로 설치할 메리트는 없는 상태이다.

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

5.3. Xploid






포럼

해당 모드는 Bond1 과 같은 개발자의 노력 끝에 사실상 FPSC로 편입된 EFX와 달리 굉장히 마이너하고 사용하는 유저들이 적으나 렌더링 퀄리티는 그 어떠한 모드와도 비교가 불가능 한 만큼 많은 유저들의 이목을 끌었다.

특히 진정한 의미로서의 실시간 라이팅과 그림자, 그리고 TOD와 물 셰이더, 패럴랙스 매핑을 통해 당시 기준으로 여느 인디상용엔진 못지않은 퀄리티가 가능해졌다.

사실 해당 모드는 FPSC의 렌더링 엔진을 해킹한 다음 다크셰이더와 같은 다크베이직 기반 렌더링, 셰이더를 이식한 결과인데, 때문에 버그가 굉장히 많아 실사용에는 무리가 있었다. 다만 해당 방식은 많은 모더들에게 영감을 주어 LR Mod, Corvus 모드와 같은 다양한 모드들이 나올 수 있게 되었다.

공식 홈페이지는 닫혔지만 다운로드 링크[주의]는 살아있다. 문제는 해당 모드를 사용하기 위해서는 따로 설정이 필요한데 이 설정과 관련된 가이드는 공식홈페이지가 닫혀지면서 같이 없어졌기 때문에 어떻게 설정해야 하는지를 알 수가 없게 되었다.(...) 또한 사용에 있어서 지원되는 버전이 1.15와 1.16 같은 구버전인데, 이를 일반적으로 찾기는 쉽지 않을 것이다. 다행히도 포럼에 아직 링크가 살아있어 다운로드가 가능하다.

해당 방식을 이용한 1.19, 1.20 버전 기반의 모드가 러시아 포럼의 세르게이라는 유저에 의해 개발되고 있다. Kreatorshina[주의2]라는 모드이며 소식은 뜸하나 그래도 꾸준히 포럼에서 피드백 및 개발 진척도를 보여주고 있다.

5.4. Black Ice


공식 포럼 스레드
Nomad Soul과 s4real이 참여하여 만들고 있는 모드. Nomad Soul이 제작한 Nomad모드[18]를 기본으로 최적화, 스크립트 추가 등을 지원하는 모드이다. 가장 최신버전인 1.20버전에서 지원되는 유일한 모드이기도 하다.

첫 시작과 달리 지금은 굉장히 광범위한 지원을 해주고 있다.
Gunspec 이라고 무기에 사용된 데이터의 기능을 확장시킨 Flymod의 개발자가 참여하여 듀얼웨폰 시스템[19] 이 사용 가능하며 멀티플레이 기능도 확장되었다. 또한 Dark Force라는 개발중인 모드를 흡수하였는지 UI, 다이나믹 스카이 등도 지원되고 있다. 게다가 터레인이 지원되면서 FPSC에서 야외 표현이 좀 더 수월해졌다.



[1] 이런 특징 때문에 게임 엔진이 아니라 알만툴과 같은 분류로 보는 시각도 있다.[2] 이때 당시에 X9는 물을 지원하지 않아 모드를 써야 했다.[3] 한가지 팁을 알려주자면 맵 에디터에서 B키를 누르면 그리드를 지원한다. 다만 이와는 별개로 건물 디자인에 유용한 기능이나 툴을 지원할 예정인건 맞는 것 같다.[4] 게다가 PBR은 딱히 X11에서만 지원되는 것 도 아니다.[5] 이를 기반으로 확장자 DBO 파일을 생성한다.[6] 이는 Preben이라는 유저가 스크립트를 통해 구현해냈다.[7] 역시 유저에 의해 구현이 되었으나 엔티티라 불리는 오브젝트에만 적용이 된다.[8] 해당 부분은 철회된 것으로 보이는데 아무래도 최적화 문제가 가장 커 보이며, 디스코드 채널에서 유저들과 소통한 결과 해당 기능을 원치 않은 유저들이 많았던 것으로 추정된다.[9] 그렇다고 완전히 배제하지만은 않은 것이, 에디터 내부의 UI를 통해 스크립트의 수치 등을 어느 정도 조정할 수 있는 것과 같은 편의성과 관련된 부분은 유저들의 의견을 적극적으로 반영하고 있음을 알 수 있다.[10] GameGuru에 이르러서는 Lua 스크립트로 변경되었지만 여전히 난이도가 높지는 않은 편 이다.[11] 기본적으로 1인칭만을 지원한다.[12] 3인칭이 불가능한 것은 아닌데, 1.17버전 이하는 모드를 사용해야 했으며, 1.19버전은 스크립트를 통해 구현이 가능하다. 그나마도 좀 기능이 어설프다.[13] Game Guru에 와서 LOD가 구현되었다.[14] 앞서 소개한 FPSC만의 독자적인 스크립트 언어. 트리거 방식을 따르고 있다.[15] 성능을 고려하려면 해독을 미리 끝내어 읽음과 동시에 바로 실행이 가능한 바이트 코드 형태로 파일이나 램 상에 담아 놓고 해당 스크립트가 발생할 시점에 해당 바이트 코드를 실행하는 방식으로 했어야 했다.[주의] 미디어파이어 사이트이기 때문에 애드블록 등 을 이용하여 사전에 광고를 차단하고 들어가는 것을 추천한다.[주의2] 러시아 사이트이기 때문에 열람에 있어 주의를 요한다.[18] 모드라고 하지만 사실상 셰이더팩에 가깝다.[19] 아킴보를 생각하면 편하다.