기술을 향상시키고 새로운 것을 시도하고 3D부터 시작하고 싶습니다. C ++로 3D 프로그래밍 시작 을 읽었 지만 엔진에 대한 질문이 있습니다.
- 엔진은 어떻게해야합니까? 3D API (예 : OpenGL 또는 DirectX) 이상의 추상화 계층이라는 것을 알고 있지만 정확히 어떻게해야합니까?
기술을 향상시키고 새로운 것을 시도하고 3D부터 시작하고 싶습니다. C ++로 3D 프로그래밍 시작 을 읽었 지만 엔진에 대한 질문이 있습니다.
답변:
게임 엔진이 낮은 수준의 그래픽 API에서 추상화되고 있지만 본격적인 게임 엔진이 더 많은 기능을 수행하고 있습니다.
게임 엔진은 게임 개발과 관련된 모든 것을보다 쉽게 만들어줍니다. 각각 고유 한 기능을 가지고 있지만 일반적으로 그래픽, 오디오, 입력, 장면 관리, 충돌 감지, 수학 및 일반적인 유용한 유틸리티를위한 쉬운 추상화 계층을 제공합니다. 일부는 물리 API를위한 래퍼 및 플러그인을 제공하고 일부는 AI 지원 (대부분 FSM, 경로 찾기 및 현재 추세-동작 트리로 제한됨)도 제공합니다. 많은 사람들이 크로스 플랫폼 기능을 지원하고 자부심을 가지고 있습니다.
게임 엔진의 목적은 게임을 처음부터 새로 만들거나 전체 라이브러리를 설치하고 자신의 래퍼를 작성하는 데 필요한 작은 성가심을 처리하지 않고도 사용자가 게임을 쉽게 만들 수 있도록하는 것입니다. 경기.
엔진은 많지만 그래픽 엔진과 게임 엔진의 차이점에주의하십시오 (예 : Unity는 게임 엔진, Ogre는 그래픽 엔진).
주제에 관한 두 권의 책이 있지만 주제에 대한 좋은 개요를 제공합니다.
David H Eberly의 3D 게임 엔진 아키텍처
Mike McShaffry의 게임 코딩 완료
완전하고 전문적인 게임 엔진을 만드는 데 필요한 지식의 깊이를 얻으려면 각 구성 요소에 대해 여러 권의 책이 필요하므로 깊이는 없지만 개념을 잘 설명합니다.
게임 개발을 시작하는 경우 엔진을 만들지 마십시오. 다음 페이지를 참조하십시오 : http://geometrian.com/programming/tutorials/write-games-not-engines/
엔진은 까다로운 일입니다. 많은 게임을 작성하는 경우 잠시 후에 재사용 할 수있는 많은 코드가 있다는 것을 알게 될 것입니다. 그리고 벨트 아래에 많은 (완전한) 게임을하는 것은 단일 엔진보다 훨씬 인상적입니다.
희망이 도움이됩니다.
레이
Ray의 대답에 추가 : 엔진 (게임, 그래픽, 오디오 등 ...)은 기본 API와의 상호 작용을 쉽게 할뿐만 아니라 게임에 고유 한 기능을 구현합니다 (예 : 음영 모델, 3D 사운드).
특히 게임 엔진 : 게임 개체, 리소스 (메모리, 스레드, 다른 모든 엔진) 및 모듈 간 통신을 관리합니다. 그들은 사소한 프로젝트에 필수적인 게임 구조, 확장 성 및 유연성을 제공합니다.
게임 엔진이 무엇인지에 대한 자세한 자습서를 작성했습니다. 특히 iPhone 및 Android 플랫폼의 맥락에서 그렇습니다. UI, 그래픽, 사운드, 물리, 입자 효과 등 게임 엔진의 다양한 부분에 대한 예제와 함께 자세한 설명을 포함 시켰습니다. 튜토리얼은 여기에서 볼 수 있습니다 : 게임 엔진이란 무엇입니까? . 도움이 되길 바랍니다.