최근 수정 시각 : 2024-08-26 00:39:41

ForzaTech


{{{#!wiki style="margin:-10px"<tablealign=center><tablebordercolor=#fff,#2d2f34><tablebgcolor=#fff,#2d2f34> 파일:Xbox 로고.svg파일:Xbox 로고 화이트.svg XBOX
게임 엔진 및 개발도구
}}}
{{{#!wiki style="margin: 0 -10px -5px;"
{{{#!folding [ 펼치기 · 접기 ]
{{{#!wiki style="margin: -6px -1px -11px"
게임 엔진
슬립스페이스 엔진 ForzaTech id Tech 엔진 크리에이션 엔진
보이드 엔진 STEM 엔진 IW 엔진
개발자 프로그램
개발 라이브러리 및 개발 소프트웨어
DirectX XNA Simplygon
기타
하복 엔진 (Microsoft Gaming 소관 아닌 DirectX 팀에서 개발)
KEX 엔진 (Microsoft Gaming 소관 아닌 핵심 협력사인 나이트다이브 스튜디오가 개발)
엑스박스 관련 문서마이크로소프트 게이밍
}}}}}}}}} ||

1. 개요2. 특징
2.1. 물리 엔진 계층
3. 사용 게임

1. 개요

포르자 모터스포츠, 포르자 호라이즌의 개발을 위해 만들어진 게임 엔진, 도구 및 파이프 라인이다. 게임 엔진 개발은 Turn 10 스튜디오가 주도한다. 플레이그라운드 게임즈에서 개발하는 페이블용 ForzaTech 개량 작업도 턴 10이 주도하고 있다.[1]
엔진 시연 영상
Ver: 포르자 모터스포츠
파일:fm7_techdemo_on_onex.jpg
포르자 모터스포츠 7을 4K 60프레임 설정에서 Xbox One X GPU 성능의 66.19%만 사용하고도 동작하는 테크 데모

댄 그린왈트는 2022년 6월 인터뷰에서, 포르자 모터스포츠 1편 시절에는 60프레임 게임이 희귀했는데 초당 60프레임으로 사진과 같은 그래픽을 처리할 수 있는 엔진이 필요해 전용 엔진을 만들게 되었다고 밝혔다. 초대작부터 사용한 엔진이지만 정식으로 ForzaTech라는 이름이 붙은 것은 포르자 모터스포츠 6 출시 전후. 이 이후로 포르자 시리즈의 Windows 진출을 시작으로 타 게임에서도 사용하는 등 활용 범위를 점차 넓혀가고 있다.

자동차공학의 교과서인 윌리엄 F. 밀리켄 주니어의 'Race car vehicle dynamics'라는 책에 기반해 물리 엔진이 만들어졌다. 맥라렌페라리F1 드라이버를 훈련시킬 때 사용하는 시뮬레이터와 거의 같은 방식으로 제작되었고, 지속적으로 자동차 메이커와 협력해 특정 조건에서 자동차가 어떻게 반응하는지를 정확하게 알아내가며 엔진을 개선하고 있다. 때로는 마케팅을 무시하고 모터스포츠 엔지니어나 자동차 부품 제조업체의 전문성에 의존하기도 한다.#

2. 특징

  • 동적 최적화를 매우 적극적으로 쓰는 편이며 이 때문에 유저가 보는 그래픽은 최상의 품질을 유지하는 와중에도 보이지 않는 디테일을 희생해서 프레임을 맞추려고 든다. 그래서 안티들은 유저들이 게임상에서 볼 일 없는 장면을 찍어서[2] 포르자 테크가 저열한 엔진이라고 주장하기도 한다.
  • 포르자 호라이즌 5 버전을 시작으로 레이 트레이싱 지원을 시작했다.
  • 포르자 호라이즌 5 버전에서 물리 엔진이 대폭 향상되었다. 물리 엔진을 향상시키고 싶었으나 시간이 촉박해 지금까지 못해오던 것을 XGS의 허락을 받고 1년의 시간을 더 받아내 물리엔진 개량에 투자했다고 밝혔다. 포르자 호라이즌 5가 2년 간격이 아닌 3년 만에 출시된 이유도 물리엔진 개량을 위한 시간을 확보하기 위해서였다.
  • 오픈 월드 액션 RPG인 '페이블(Fable)'을 지원하는 도구 세트도 강화하고 있다.
  • Xbox 콘솔과 Microsoft Windows를 대상으로 극강의 호환성을 보인다. Xbox One용 ForzaTech를 Xbox One X 버전으로 이식(포팅)하는데 고작 이틀 걸렸으며 100%의 성능이 보전되었다. 포르자 시리즈가 마이크로소프트의 개발 환경(XPA)을 그대로 따르기 때문에, 엑스박스 콘솔과 윈도 PC판 게임의 소스 코드도 거의 일치하는 것으로 알려져 있다.
  • 마이크로소프트 플라이트 시뮬레이터에 사용된 커스텀 사양의 ForzaTech는 대규모 데이터 로딩을 위한 커스텀이 이루어져 있으며, Microsoft Azure의 기술이 결합되어 있다.
  • 아무래도 콘솔을 기준으로 맞춰진 게임엔진 답게 포르자 시리즈는 대대로 엑스박스 버전에서는 큰 버그없이 진행이 가능하나 PC에서 심각한 버그에 시달리는 상황이 많이 보인다.
  • 물리 엔진은 초당 360프레임으로 실행된다.

2.1. 물리 엔진 계층

AI 제어
카 컨트롤러 어시스트 AI 컨트롤러
적응 레이어
물리 엔진

ForzaTech의 물리 엔진은 계층제 방식으로 가장 낮은 레벨에는 물리 시뮬레이션을 수행하는 물리 엔진이 있다. 2005년작 포르자 모터스포츠에서부터 ForzaTech의 물리 엔진은 초당 360프레임으로 작동했고, 게임은 60프레임으로 렌더링 되었다. 게임에 비해 물리 엔진이 매우 민감하므로 작은 변화에도 게임은 크게 반응한다. 물리 엔진의 변화와 게임 세계의 변화 사이를 완충하기 위해 버퍼 역할을 수행하는 많은 레이어(이하 적응 레이어, Adaptation Layer)가 물리 엔진 상부 계층에 있다. 포르자 모터스포츠와 포르자 호라이즌의 적응 레이어엔 서로 차이가 있으며, 이 차이 때문에 포르자 모터스포츠포르자 호라이즌은 같은 게임 엔진을 사용하지만 물리 특성에서 큰 차이를 보인다.

포르자테크의 가장 큰 특징 중 하나는 어시스트 레이어가 존재한다는 점인데, 이 레이어는 AI 컨트롤러 레이어와 카 컨트롤러 레이어 사이의 간극을 좁히는 역할을 담당한다. 2005년작 포르자 모터스포츠를 개발하는 과정에서 개발자들은 두 가지 선택을 두고 큰 고민을 했다.

디지털 기반의 비디오 게임 본질에 맞게 물리 엔진을 기초부터 아케이드스럽게 만들거나, 아니면 물리 엔진을 게임에 어울리지 않게 실제 레이서 훈련용 시뮬레이터처럼 구축하고 어시스트 시스템을 경유해 현실성과 조작 난이도를 플레이어의 재량에 맡기자는 방안이 있었다. 개발자들은 토의 끝에 "물리 엔진은 신성하다"라는 결론에 이르렀고 결국 후자의 방법을 택했다. 때문에 포르자테크는 물리 엔진 구현의 수준을 높게 잡고, 각종 주행 보조 기능을 함께 제공하여 플레이어가 직접 입맛에 맞게 물리 엔진의 속성과 세부 사항을 조절하도록 만들었다.#

'카 컨트롤러'는 현실 세계의 Xbox 컨트롤러 트리거와 스틱이 자동차 운전에 매핑되는 레이어다. AI 컨트롤러 레이어는 현재 물리 시뮬레이션을 기반으로, 주어진 상황에서 자동차를 가장 이상적으로 운전해 최대 효율성으로 차량을 컨트롤하는 AI 레이어다. 이 AI 컨트롤러의 움직임을 수정해가며 Drivatar를 훈련한다.

어시스트는 카 컨트롤러와 AI 컨트롤러의 간극을 메꾸며, 설정 창에 들어가 플레이어가 세부적인 부분 하나까지 주행 어시스트 기능을 활성화하거나 비활성화할 수 있다. 주행 어시스트 기능을 활성화할 때마다 게임플레이 경험은 카 컨트롤러 레이어보다는 AI 컨트롤러 레이어에 가까워지고 자동차는 자율 주행 자동차에 가까워진다. 그리고 자동차의 움직임은 게임의 물리 시뮬레이션이 계산해낸 가장 이상적인 드라이빙에 가까워진다.

AI 컨트롤러 레이어 상부에는 AI 제어 레이어가 있으며, AI 제어 레이어는 드라이바타를 통제해 공격성을 억압한다.#

3. 사용 게임


[1] 공식적인 답변은 다음과 같다. 포르자 모터스포츠 6 질의응답 답변에 따르면, "Forza 프랜차이즈는 우리가 Forzatech라고 부르는 엔진, 렌더링 및 물리 엔진을 기반으로 하며 두 게임 모두 동일한 플랫폼에 구축되었으며 시간이 지남에 따라 두 스튜디오 사이에서 이를 발전시킵니다."라 밝혔다.[2] 유저 한참 뒤에서 추격중인 차량이나 플레이어 차량이 아닌 AI차량의 내부 렌더링 등.[3] FS2020이 포르자테크를 사용하지 않는 것으로 알려져 있으나 과거 인터뷰 내용에 따르면 포르자테크의 커스텀 버전을 사용하는게 맞는 것으로 보인다.

분류