(번역)게임 엔진 - 위키피디아
게임 엔진이란, 비디오 게임 개발을 위해 만들어진 소프트웨어 프레임워크를 말한다. 그리고 관련 라이브러리와 보조 프로그램을 통틀어 일컫기도 한다. ‘엔진'이라는 말은 소프트웨어 업계의 ‘소프트웨어 엔진'이라는 말과 비슷한 의미로 쓰였다. 게임 개발자들은 콘솔이나 PC 등 다양한 기기에서 작동하는 게임을 개발하는 데 게임 엔진을 사용한다. 게임 엔진이 제공하는 핵심 기능은 2D, 3D 그래픽을 위한 렌더링 엔진, 물리 엔진, 충돌 감지(반응), 소리, 스크립팅, 애니메이션, 인공 지능, 네트위킹, 스트리밍, 메모리 관리, 스레딩, localization 서포트, scene graph, 그리고 영화화를 위한 비디오 서포트 등이 있다. 게임 엔진 제작자들은 재사용과 적용하기를 통하여 게임 개발 과정을 효율화하곤 한다. 크게 보면, 같은 게임 엔진을 사용하는 다른 게임들이 많아지게 되고, 다양한 플랫폼에 적용되는 것을 돕게 된다.
목적
많은 경우에, 게임 엔진은 재사용 가능한 소프트웨어 컴포넌트에 더해 visual development tool의 세트를 제공한다. 이런 도구들은 일반적으로, 데이터 중심의 간단하고 빠른 개발을 위하여 IDE에 담겨 제공된다. 게임 엔진 개발자들은 복잡하지만 완성된 게임을 만드는 게임 개발자들이 필요로 할만한 많은 종류의 소프트웨어 묶음을 게임 엔진에 담는다. 많은 게임 엔진 묶음은 용이한 개발을 가능하게 하는데, 예를 들어 그래픽, 사운드, 물리 그리고 AI 기능이 있다. 이 게임 엔진들은 종종 비즈니스 용어인 ‘미들웨어'라고 불리는데 왜냐하면, 유연하고 재사용 가능한 소프트웨어 플랫폼 - 필요한 모든 핵심 기능을 제공하는 - 이, 상자에서 바로 꺼내서 비용과 복잡성, 시장에 내놓을 때까지의 시간을 절약하며 게임을 개발할 수 있도록 하는, 매우 경쟁적인 비디오 게임 업계에서 비즈니스적으로도 매우 중요하기 때문이다.
다른 종류의 미들웨어와 같이, 게임 엔진들은 보통 플랫폼 추상화를 제공하는데 이는 같은 게임이 다양한 플랫폼(콘솔과 PC 포함) 위에서 약간의 코드 수정만으로 작동하도록 하기 위함이다. 종종 프로그래머들은 컴포넌트 기반의 구조로 게임을 설계하는데 그것은 엔진의 일부 시스템이 업그레이드된 게임-미들웨어 컴포넌트로 교체 또는 확장될 수 있도록 하기 위해서이다. 어떤 게임 엔진들은 유연한 프로덕트 자체를 확장하거나 변경하는 대신 느슨하게 연결된 미들웨어 컴포넌트들을 선택적으로 조합되어 커스텀 엔진을 만들기도 한다. 어쨌든, 확장 가능성은 게임 엔진이 적용될 다양할 쓰임 때문에 높은 우선순위를 차지한다. ‘게임’ 엔진이라는 말이 무색하게 사용자들은 종종 게임 엔진의 용도를 re-purposing 해 다른 종류의 실시간 그래픽이 필요한 interactive application에 적용한다. 예를 들면 마케팅 데모, 건축 시각화, (비행 조종 연습 등의)트레이닝 시뮬레이션, 그리고 모델링 environments가 있다.
어떤 게임 엔진들은 타 엔진이 제공하는 다양한 기능들 대신에 실시간 3D 렌더링 기능만 제공한다. 이 엔진들은 게임 개발자들에게 나머지 기능 구현을 맡기거나, 다른 게임-미들웨어 컴포넌트와 조합해서 쓸 것을 권한다. 이 종류의 엔진은 보통 게임 엔진 대신에, “그래픽 엔진", “렌더링 엔진" 또는 “3D 엔진"이라고 불린다. 예를 들어 Crystal Space, Genesis3D, Irrlicht, OGRE, RealmForge, Truevision3D, 그리고 Vision Engine 등이 있다. 현대의 게임 엔진은 보통 scene graph를 제공하는데, 이는 3D 게임 세계의 객체 지향형 표현을 말한다. 게임디자인을 단순화하거나 엄청나게 큰 가상 세계를 효율적으로 렌더링하는데 쓰인다.
기술이 발전하면서(As technology ages), 엔진의 컴포넌트가 너무 오래되거나 프로젝트가 요구하는 스펙에 미치지 못하기도 한다. 그러나 아예 새로운 엔진을 도입하여 프로젝트를 진행하면 복잡성 때문에 원하지 않는 딜레이가 발생할 수 있으므로, 엔진 개발팀은 지속적인 업데이트를 제공해야 한다.
역사(생략)
게임 엔진 산업
게임 엔진 제작자들은 사용자들이 어떻게 그들의 제품을 사용할 수 있는지, 그 방식을 결정했다. 메이저 게임 엔진들은 다양한 가격과 구독 또는 라이센스 등 다양한 방식으로 제공된다. 포트나이트, 발로란트, 배틀그라운드, 라이프 이즈 스트레인지 2와 같은 대형 게임을 돌아가게 하는 언리얼 엔진 4는 무료 사용, 그러나 게임 판매시 로열티를 붙이는 정책을 가지고 있다. 현재 많은 수익을 벌어들이고 있는 또달은 엔진인 유니티 엔진은 언리얼 엔진과 비슷한 모델을 가지고 있다.