게임 엔진

Game engine


게임 엔진은 주로 비디오 게임의 개발을 위해 고안된 소프트웨어 프레임워크로, 일반적으로 관련 도서관 및 지원 프로그램을 포함한다.[1]"엔진" 용어는 소프트웨어 산업에서 사용되는 "소프트웨어 엔진" 용어와 유사하다.

게임 엔진은 또한 이 프레임워크를 활용하는 개발 소프트웨어를 언급할 수 있으며, 일반적으로 게임을 개발하기 위한 도구와 기능들을 제공한다.[2][3]

개발자들게임 엔진을 사용하여 비디오 게임기와 다른 종류의 컴퓨터를 위한 게임을 만들 수 있다.게임 엔진에서 일반적으로 제공하는 핵심 기능에는 2D 또는 3D 그래픽용 렌더링 엔진("렌더러"), 물리 엔진 또는 충돌 감지(및 충돌 반응), 음향, 스크립팅, 애니메이션, 인공지능, 네트워킹, 스트리밍, 메모리 관리, 스레딩, 로컬리제이션 지원, 장면 그래프, 비디오 수포 등이 포함될 수 있다.영화음악을 좋아하다게임 엔진 구현자는 대개 같은 게임 엔진을 재사용/적용하여 다른 게임을[4] 생산하거나 여러 플랫폼에 게임을 포팅하는 데 도움을 줌으로써 게임 개발 과정에서 절약하는 경우가 많다.

목적

많은 경우에, 게임 엔진은 재사용 가능한 소프트웨어 구성 요소 외에도 시각적 개발 도구 세트를 제공한다.이러한 도구는 일반적으로 데이터 기반 방식으로 게임을 단순화하고 신속하게 개발할 수 있도록 통합 개발 환경에서 제공된다.게임 엔진 개발자들은 종종 게임 개발자가 게임을 만드는 데 필요할 수 있는 많은 요소들을 포함하는 강력한 소프트웨어 제품군을 개발함으로써 시행자가 필요로 하는 것을 예방하려고 시도한다.대부분의 게임 엔진 스위트는 그래픽, 음향, 물리학, 인공지능(AI) 기능 등 개발을 용이하게 하는 시설을 제공한다.이러한 게임 엔진은 용어의 비즈니스 감각과 마찬가지로, 비용, 복잡성, 출시 시간 등 모든 주요 요소들을 절감하면서 게임 애플리케이션을 개발하는 데 필요한 모든 핵심 기능을 즉시 제공하는 유연하고 재사용 가능한 소프트웨어 플랫폼을 제공하기 때문에 "미들웨어"라고도 불린다.y의 경쟁적인 비디오 게임 산업.[5]

다른 종류의 미들웨어와 마찬가지로, 게임 엔진은 대개 플랫폼 추상화를 제공하므로, 동일한 게임이 다양한 플랫폼(게임 콘솔과 개인용 컴퓨터 포함)에서 실행될 수 있으며, 게임 소스 코드의 변경은 거의 없다.프로그래머들은 종종 보다 전문화된(그리고 종종 더 비싼) 게임 미들웨어 컴포넌트로 엔진의 특정 시스템을 대체하거나 확장할 수 있는 컴포넌트 기반 아키텍처로 게임 엔진을 설계한다.일부 게임 엔진은 일련의 느슨하게 연결된 게임 미들웨어 컴포넌트로 구성되는데, 유연한 통합 제품을 확장하거나 커스터마이징하는 더 일반적인 접근 방식 대신 선택적으로 결합하여 맞춤형 엔진을 만들 수 있다.그러나 게임 엔진의 적용 범위가 넓기 때문에 확장성은 여전히 높은 우선순위로 남아있다."게임 엔진"이라는 이름의 특수성에도 불구하고, 최종 사용자는 종종 마케팅 데모, 아키텍처 시각화, 훈련 시뮬레이션모델링 환경과 같은 실시간 그래픽 요구사항으로 다른 종류의 대화형 애플리케이션에 대한 게임 엔진을 재목적으로 사용한다.[6]

일부 게임 엔진은 게임에 필요한 광범위한 기능 대신 실시간 3D 렌더링 기능만 제공한다.이 엔진들은 게임 개발업자에게 이 기능의 나머지 부분을 구현하거나 다른 게임 미들웨어 부품에서 조립할 것을 의존한다.이러한 유형의 엔진은 일반적으로 "게임 엔진"이라는 용어가 아닌 "그래픽 엔진", "렌더링 엔진" 또는 "3D 엔진"으로 불린다.많은 완전한 기능을 갖춘 3D 게임 엔진을 단순히 "3D 엔진"이라고 부르기 때문에 이 용어는 일관성 없이 사용된다.그래픽 엔진의 예는 다음과 같다.Crystal Space, Genesis3D, Irlicht, OGRE, RealmForge, Truevision3D, Vision Engine.현대의[when?] 게임이나 그래픽은 일반적으로 장면 그래프를 제공하는데, 이것은 종종 게임 디자인을 단순화하고 방대한 가상 세계를 보다 효율적으로 렌더링하는 데 사용될 수 있는 3D 게임 세계를 객체 지향적으로 표현한 것이다.

기술이 노후화됨에 따라 엔진의 구성요소는 특정 프로젝트의 요구사항에 대해 구식이 되거나 불충분해질 수 있다.완전히 새로운 엔진 프로그래밍의 복잡성으로 인해 원치 않는 지연이 발생할 수 있으므로(또는 프로젝트 처음부터 다시 시작해야 할 필요), 엔진 개발 팀은 새로운 기능이나 구성 요소로 기존 엔진을 업데이트하기로 선택할 수 있다.[citation needed]

역사

일부 게임 엔진은 시간이 지남에 따라 진화를 경험하고 패밀리 트리를 개발한다. 예를 들어 id의 Quake 엔진id Tech 제품군을 낳았다.

게임 엔진 이전에 게임은 일반적으로 단일한 실체로 쓰여졌다. 예를 들어, Atari 2600용 게임은 디스플레이 하드웨어를 최적으로 사용하기 위해 아래에서 위로 설계되어야 했다. 이 핵심 디스플레이 루틴은 오늘날 구형 시스템용 게임 개발자들에 의해 커널이라고 불린다.다른 플랫폼은 여유가 더 많았지만 디스플레이가 문제가 되지 않을 때에도 메모리 제약은 대개 엔진이 필요로 하는 데이터 집약적인 설계를 생성하려는 시도를 방해했다.좀 더 수용 가능한 플랫폼에서도 게임 간에는 거의 재사용할 수 없었다. 당시 시장의 선두주자였던 아케이드 하드웨어의 급속한 발전은, 후세대의 게임들이 여분의 자원을 이용하는 완전히 다른 게임 디자인을 사용하게 될 것이기 때문에, 어쨌든 대부분의 코드들은 이후에 폐기되어야만 할 것이라는 것을 의미한다.따라서 1980년대까지의 대부분의 게임 디자인은 소수의 레벨과 그래픽 데이터를 가진 하드 코딩된 규칙 세트를 통해 설계되었다.아케이드 비디오 게임의 황금시대 이후, 비디오 게임 회사들은 일차적인 소프트웨어와 함께 사용할 수 있는 사내 게임 엔진을 개발하는 것이 일반화되었다.

1980년대 중반 가정용 콘솔에서 사내 게임 엔진의 눈에 띄는 예는 닌텐도 엔터테인먼트 시스템(NES)을 위해 미야모토 시게루씨 팀이 개발한 부드러운 측면 스크롤링 엔진이었다.그들이 사이드 스크롤 레이싱 게임인 익사이즈바이크(1984)를 위해 개발한 엔진은 나중에 스크롤링 플랫폼 선수 슈퍼 마리오 브라더스(1985)에 고용되었다.이는 마리오가 이전 플랫폼퍼들처럼 일정한 속도로 움직이는 것이 아니라 볼넷에서 런으로 부드럽게 가속할 수 있도록 하는 효과가 있었다.[7]

1990년대 3D 컴퓨터 그래픽이 등장하기 전까지는 타사 게임 엔진이 보편화되지 않았던 반면, 1980년대에는 독자적인 비디오 게임 개발을 위해 제작된 2D 게임 창조 시스템이 여럿 있었다.이러한 핀볼 건설 세트(1983년), 아스키의 전쟁 게임 건설 키트(1983년)[8]선더 포스 건설(1984년)[9]어드벤처 건설 세트(1984년), 개리 키친의 GameMaker(1985년), Wargame 건설 세트(1986년), Shoot-'Em-Up 건설 키트(1987년), 아케이드 게임 건설 키트(1988년), 그리고 가장popularly 아스키의 RPG 만들기 엔진을 포함한다.sfro1998년 이후.Klik & Play(1994)는 여전히 이용 가능한 또 다른 레거시 오퍼링이다.[10]

게임엔진이라는 용어는 1990년대 중반 특히 1인칭 슈팅 엔진을 장착한 1인칭 슈팅어 등 3D 게임과 연관지어 생겨났다.개발자 팀 스위니가 설립한 에픽게임즈는 1998년 언리얼 엔진에 데뷔했다.

[11]ID Software의 Doom and Deez 게임들이 인기를 끌면서, 처음부터 일하기보다는 다른 개발자들이 소프트웨어의 핵심 부분에 라이센스를 부여하고 "게임 콘텐츠"나 "게임 자산" 같은 자신만의 그래픽, 캐릭터, 무기 및 수준을 설계했다.게임별 규칙과 데이터를 충돌 감지 및 게임 엔티티와 같은 기본 개념과 분리하는 것은 팀이 성장하고 전문화할 수 있다는 것을 의미했다.[10]

id Software의 Deegin III Arena, Epic Games의 1998년 Unreal과 같은 후기 게임은 이러한 접근방식을 염두에 두고 설계되었으며 엔진과 콘텐츠는 별도로 개발되었다.고급 상업용 게임 엔진에 대한 하나의 라이센스는 1만 달러에서 수백만 달러까지 다양할 수 있고, 언리얼 엔진에서 볼 수 있는 것처럼 수십 개의 회사에 라이센스 개수가 도달할 수 있기 때문에 이러한 기술을 라이센싱하는 관행은 일부 게임 개발자들에게 유용한 보조 수익원이라는 것이 입증되었다.최소한 재사용 가능한 엔진은 게임 속편을 더 빠르고 쉽게 개발하게 하고, 이것은 경쟁적인 비디오 게임 산업에서 중요한 장점이다.2000년경 에픽과 id의 경쟁이 치열했지만, 이후 에픽의 언리얼 엔진은 id Tech 4와 그 후속 id Tech 5보다 훨씬 더 인기가 있었다.[12]

현대의 게임 엔진은 가장 복잡한 애플리케이션 중 하나로, 정밀하게 제어된 사용자 환경을 보장하기 위해 수십 개의 미세 조정된 시스템이 상호 작용하는 경우가 많다.게임 엔진의 지속적인 발전은 렌더링, 스크립팅, 아트워크, 레벨 디자인 사이의 강력한 분리를 만들어냈다.예를 들어, 일반적인 게임 개발 팀이 실제 프로그래머보다 몇 배나 많은 아티스트를 보유하는 것은 이제 흔한 일이다.[13]

1인칭 슈터 게임은 제3자 게임 엔진의 지배적인 사용자로 남아 있지만, 현재는 다른 장르에서도 사용되고 있다.예를 들어 롤플레잉 비디오 게임 The Elder Scrolls III: MorrowindMMORPG Dark Age of CamelotGambryo 엔진을 기반으로 하며, MMORPG Lingine II는 언리얼 엔진을 기반으로 한다.게임 엔진은 홈 콘솔용으로 원래 개발된 게임에도 사용된다. 예를 들어 렌더웨어 엔진은 그랜드 세프트 오토번아웃 프랜차이즈에서 사용된다.

스레딩은 현대의 멀티 코어 시스템(: 셀)과 현실주의에서의 수요 증가로 인해 더욱 중요해지고 있다.대표적인 스레드는 렌더링, 스트리밍, 오디오, 물리학을 포함한다.레이싱 게임은 일반적으로 다른 핵심 서브시스템이 이동되기 훨씬 전에 별도의 스레드에서 작동하는 물리 엔진과 함께 스레딩의 최전선에 있었다. 부분적으로는 렌더링 및 관련 작업은 30-60Hz에서만 업데이트가 필요하기 때문이다.예를 들어 플레이스테이션 3에서 물리학은 니드 스피드 100Hz에서 Forza 모터스포츠 2 360Hz에서 실행되었다.

이 용어는 1990년대에 처음 사용되었지만 1980년대에는 시에라의 어드벤처 게임 인터프리터(AGI)와 SCI 시스템, 루카스아츠 SCUM 시스템, 인센티브 소프트웨어프리즈케이프 엔진(1986년[14]) 등 게임 엔진으로도 간주되는 몇 가지 초기 시스템이 있다.대부분의 현대적인 게임 엔진과는 달리, 이러한 게임 엔진은 제3자 제품에서는 전혀 사용되지 않았다(휴먼구스 엔터테인먼트가 허가하고 사용한 SCUM 시스템 제외).

게임 엔진 기술이 성숙하고 사용자 친화적이 되면서 게임 엔진의 적용 범위가 넓어졌다.그것들은 현재 시각화, 훈련, 의료 및 군사 시뮬레이션 애플리케이션과 같은 심각한 게임에 사용되고 있으며, 크라이엔진이 한 예다.[15]이러한 접근성을 용이하게 하기 위해, 새로운 하드웨어 플랫폼은 현재 휴대전화(예: Android 폰, iPhone)와 웹 브라우저(: WebGL, Shockwave, Flash, Trinigy의 WebVision, Silverlight, Unity Web Player, O3D, 순수 DHTML)를 포함한 게임 엔진의 표적이 되고 있다.[16]

게다가, 더 많은 게임 엔진들이 자바C#/와 같은 더 높은 수준의 언어로 만들어지고 있다.NET(예: 토크X, Visual3D).NET), Python(Panda3D) 또는 Lua Script(Leadwerks).현재 대부분의 3D 리치 게임은 대부분 GPU로 제한되어 있기 때문에(즉, 그래픽 카드의 힘에 의해 제한됨) 상위 언어의 번역 오버헤드로 인한 잠재적 감속은 무시할 수 있는 반면, 이러한 언어들이 제공하는 생산성 향상은 게임 엔진 개발자들의 이익에 작용한다.[17]이러한 최근의 트렌드는 마이크로소프트와 같은 회사들이 인디 게임 개발을 지원하기 위해 추진하고 있다.마이크로소프트는 Xbox와 관련 제품에 출시된 모든 비디오 게임의 SDK로 XNA를 개발했다.여기에는 게임을 소매 판매대에 판매하기 위해 필요한 광범위한 자원을 가지고 있지 않은 소규모 개발자들을 위해 특별히 설계된 Xbox Live Indie Games[18] 채널이 포함된다.관리형 프레임워크를 지원하는 플랫폼용 게임 엔진 개발이 어느 때보다 쉽고 저렴해지고 있다.[19]

산업으로서의 게임 엔진

게임 엔진의 생산자들은 사용자들이 그들의 제품을 어떻게 활용할 수 있도록 허락하는지를 결정한다.게임이 산업인 것처럼, 그것들은 엔진도 만들어진다.주요 게임 엔진은 구독료나 라이선스 지불의 형태에 상관없이 다양한 가격으로 나온다.[20]

주요 게임 엔진 중 하나로 포트나이트, 발레란트, 플레이어와 같은 몇 가지 주목할 만한 게임을 만들곤 했던 언리얼 엔진 4언노운스 배틀그라운드삶은 낯설다2는 이 엔진을 사용하는 모든 게임 판매에 로열티가 있는 무료 이용 구조를 채택했다.[21]비록 게임 제작 과정에서 서로 다른 게임 엔진들 간의 차이점들이 그것들이 만들어지면서 모호해지지만, 다른 게임 개발자들은 너무 시스템에 익숙해져서 변경하지 못하거나 페이월(pay-wall)과 상관없이 그러한 엔진의 엄청난 혜택에 끌릴 수 있다.

현재 주목할 만한 수입을 올린 또 다른 게임 엔진은 언리얼 엔진과 유사한 수익화 모델을 활용한 유니티 엔진이다.[22]이 엔진은 러스트, 수브나우티카, 라이프 이즈 스트레인지와 같은 게임 뒤에 있다. 폭풍전야.

일부 게임 엔진은 시각적 스크립팅을 채택하고 있으며, 이 중에는 게임메이커: Studio, Construct 3, GDevelop, Pixel Game Maker MV와 같은 도구가 있다.

게임 미들웨어

보다 넓은 의미에서 게임 엔진 자체는 미들웨어라고 할 수 있다.그러나 비디오 게임의 맥락에서, "미들웨어"라는 용어는 종종 게임 엔진 내의 기능성의 하위 시스템을 가리키는 말로 사용된다.일부 게임 미들웨어는 한 가지 일만 할 뿐 범용 미들웨어보다 더 설득력 있게 또는 더 효율적으로 한다.

가장 널리 사용되는 4가지 미들웨어 패키지는[23] RAD 게임 툴의 Bink, Firelight FMOD, Havok, Scaleform GFx이다. RAD 게임 툴은 마일즈 오디오, Granny 3D 렌더링과 함께 기본적인 비디오 렌더링을 위한 Bink를 개발한다.Firelight FMOD는 저가의 견고한 오디오 라이브러리 및 툴셋이다.Habok은 애니메이션 및 동작 애플리케이션과 함께 강력한 물리 시뮬레이션 시스템을 제공한다.스케일폼은 고성능 플래시 UI와 고품질 비디오 재생을 위한 GFx와 게임 내 아시아 채팅 지원을 위한 IME(Input Method Editor) 애드온을 제공한다.

다른 미들웨어는 성능 최적화를 위해 사용된다. 예를 들어 'Simplygon'은 세부 메쉬의 최적화 및 생성에 도움이 되며, 'Umbra'는 3d 그래픽에 clusion culling 최적화를 추가한다.

일부 미들웨어는 전체 소스 코드를 포함하고 다른 미들웨어는 컴파일된 이진 라이브러리에 API 참조를 제공한다.일부 미들웨어 프로그램은 어느 쪽이든 라이센스를 받을 수 있으며, 보통 전체 소스 코드에 대해 더 높은 수수료를 지불해야 한다.

참고 항목

참조

  1. ^ Valencia-Garcia, Rafael; et al. (2016). Technologies and Innovation: Second International Conference, CITI 2016, Guayaquil, Ecuador, November 23-25, 2016, Proceedings. ISBN 9783319480244. Retrieved 2021-07-22.
  2. ^ "Common game development terms and definitions Game design vocabulary Unity". Unity. Retrieved 2021-07-14.
  3. ^ Tan, James. "Introduction - Unreal Engine (Canterbury Software Summit 2013 slides)" (PDF). Unreal Engine. Retrieved 2021-07-14.
  4. ^ "What is a Game Engine?". GameCareerGuide.com. Retrieved 2013-11-24.
  5. ^ O'Neill, John (January 15, 2008). "My Turn: The Real Cost of Middleware". Gamedaily.com. Archived from the original on August 30, 2009. Retrieved 2013-11-24.
  6. ^ 2013년 10월 17일 Wayback Machine보관게임 미들웨어 사용에 관한 보고서
  7. ^ Williams, Andrew (16 March 2017). History of Digital Games: Developments in Art, Design and Interaction. CRC Press. pp. 152–4. ISBN 978-1-317-50381-1.
  8. ^ "War Game Construction Kit". Oh!FM. Archived from the original on 28 July 2013. Retrieved 3 September 2012. Alt URL
  9. ^ "Thunder Force Construction". Oh!FM. Archived from the original on 28 July 2013. Retrieved 1 September 2012. Alt URL
  10. ^ a b Fiadotau, Mikhail (2019). "Dezaemon, RPG Maker, NScripter: Exploring and classifying game 'produsage' in 1990s Japan". Journal of Gaming & Virtual Worlds. 11 (3): 215–230. doi:10.1386/jgvw.11.3.215_1. S2CID 213694676.
  11. ^ Weinberger, Matt. "The CEO behind 'Fortnite' says it's 'evolving beyond being a game' and explains the company's ambitious vision". Business Insider. Retrieved 2022-02-17.
  12. ^ Bramwell, Tom (2007-08-09). "id Tech 5 Interview • Page 1 • Interviews •". Eurogamer.net. Retrieved 2013-11-24.
  13. ^ "Game Development Team Composition Study - Changes over time". Retrieved 2011-01-17.
  14. ^ "Freescape Engine". Universal Videogame List. Retrieved 2020-05-16.
  15. ^ "Video Games Starting to Get Serious". Gazette.net. 2007-08-31. Archived from the original on 2008-12-03. Retrieved 2011-01-17.
  16. ^ "Gaming: Mobile and Wireless Trends for 2008". M-trends.org. Archived from the original on 2011-01-08. Retrieved 2011-01-17.
  17. ^ Zerbst, Stefan; Düvel, Oliver (2004). 3D Game Engine Programming (book). ISBN 9781592003518. Retrieved 2011-01-17.
  18. ^ "xboxlivecommunitygames.org". xboxlivecommunitygames.org. Retrieved 2013-11-24.
  19. ^ "Microsoft to Enable User-Created XBox 360 Games". Retrieved 2017-05-05.
  20. ^ "The 10 Best Video Game Engines 2018 Edition". The Ultimate Resource for Video Game Design. 2017-03-11. Retrieved 2019-05-15.
  21. ^ Savage, Phil (2015-03-02). "Unreal Engine 4 is now free". PC Gamer. Retrieved 2019-05-15.
  22. ^ "The Two Engines Driving the $120B Gaming Industry Forward". CB Insights Research. 2018-09-20. Retrieved 2019-05-15.
  23. ^ "Gamasutra Engine and Middleware Technology Survey". Gamasutra.com. 2009-05-08. Retrieved 2011-01-17.