게임 엔진은 어떻게해야합니까? [닫은]


20

기술을 향상시키고 새로운 것을 시도하고 3D부터 시작하고 싶습니다. C ++로 3D 프로그래밍 시작 을 읽었 지만 엔진에 대한 질문이 있습니다.

  • 엔진은 어떻게해야합니까? 3D API (예 : OpenGL 또는 DirectX) 이상의 추상화 계층이라는 것을 알고 있지만 정확히 어떻게해야합니까?

책 추천을 위해이 질문이 도움이 될 것입니다 : gamedev.stackexchange.com/questions/455/…
Tetrad

답변:


27

게임 엔진이 낮은 수준의 그래픽 API에서 추상화되고 있지만 본격적인 게임 엔진이 더 많은 기능을 수행하고 있습니다.

게임 엔진은 게임 개발과 관련된 모든 것을보다 쉽게 ​​만들어줍니다. 각각 고유 한 기능을 가지고 있지만 일반적으로 그래픽, 오디오, 입력, 장면 관리, 충돌 감지, 수학 및 일반적인 유용한 유틸리티를위한 쉬운 추상화 계층을 제공합니다. 일부는 물리 API를위한 래퍼 및 플러그인을 제공하고 일부는 AI 지원 (대부분 FSM, 경로 찾기 및 현재 추세-동작 트리로 제한됨)도 제공합니다. 많은 사람들이 크로스 플랫폼 기능을 지원하고 자부심을 가지고 있습니다.

게임 엔진의 목적은 게임을 처음부터 새로 만들거나 전체 라이브러리를 설치하고 자신의 래퍼를 작성하는 데 필요한 작은 성가심을 처리하지 않고도 사용자가 게임을 쉽게 만들 수 있도록하는 것입니다. 경기.

엔진은 많지만 그래픽 엔진과 게임 엔진의 차이점에주의하십시오 (예 : Unity는 게임 엔진, Ogre는 그래픽 엔진).

주제에 관한 두 권의 책이 있지만 주제에 대한 좋은 개요를 제공합니다.

  • David H Eberly의 3D 게임 엔진 아키텍처

  • Mike McShaffry의 게임 코딩 완료

완전하고 전문적인 게임 엔진을 만드는 데 필요한 지식의 깊이를 얻으려면 각 구성 요소에 대해 여러 권의 책이 필요하므로 깊이는 없지만 개념을 잘 설명합니다.

게임 개발을 시작하는 경우 엔진을 만들지 마십시오. 다음 페이지를 참조하십시오 : http://geometrian.com/programming/tutorials/write-games-not-engines/

엔진은 까다로운 일입니다. 많은 게임을 작성하는 경우 잠시 후에 재사용 할 수있는 많은 코드가 있다는 것을 알게 될 것입니다. 그리고 벨트 아래에 많은 (완전한) 게임을하는 것은 단일 엔진보다 훨씬 인상적입니다.

희망이 도움이됩니다.

레이


1
블로그 기사의 경우 +1 그것은 내가 그 문제에 대해 말할 것입니다.
Tetrad

5
예, 게임을하기 전에 아무도 게임 엔진을 만들지 않아야합니다. 코드가 아직 사용 가능한지 모른다면 코드를 재사용 할 수 있다는 것을 어떻게 알 수 있습니까?
Kylotan

@Kylotan 나는 이것이 매우 늦다는 것을 알고 있지만, 나는 끊임없이 다른 사람들에게 그것을 인용하면서 그 의견에 감사드립니다. :)
Ray Dey

@RayDey "엔진이 아닌 게임 작성"링크가 종료되었습니다. 나는 그것을 읽고 기대하고 있었다 :(
DrewJordan

5

Ray의 대답에 추가 : 엔진 (게임, 그래픽, 오디오 등 ...)은 기본 API와의 상호 작용을 쉽게 할뿐만 아니라 게임에 고유 한 기능을 구현합니다 (예 : 음영 모델, 3D 사운드).

특히 게임 엔진 : 게임 개체, 리소스 (메모리, 스레드, 다른 모든 엔진) 및 모듈 간 통신을 관리합니다. 그들은 사소한 프로젝트에 필수적인 게임 구조, 확장 성 및 유연성을 제공합니다.


구조, 확장 성 및 유연성면에서 +1이며 메모리 관리를 추가하는 것을 잊었습니다.
Ray Dey

1

게임 엔진이 무엇인지에 대한 자세한 자습서를 작성했습니다. 특히 iPhone 및 Android 플랫폼의 맥락에서 그렇습니다. UI, 그래픽, 사운드, 물리, 입자 효과 등 게임 엔진의 다양한 부분에 대한 예제와 함께 자세한 설명을 포함 시켰습니다. 튜토리얼은 여기에서 볼 수 있습니다 : 게임 엔진이란 무엇입니까? . 도움이 되길 바랍니다.


0

모든 게임 엔진에는 게임 엔진의 기능이 약간 다릅니다.

그러나 이미 게임 엔진이 너무 많기 때문에 엔진이 아닌 게임을 만드는 것이 좋습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.