게임 엔진이란 무엇입니까?
게임 엔진은 비디오 게임 생성을 위해 특별히 설계된 소프트웨어 개발 환경을 말합니다. 여기에는 게임에서 사용되는 핵심 함수 라이브러리가 포함되어 있지만 특정 게임 내용과 독립적으로 존재합니다. 테마와 캐릭터와 같이 게임을 독특하게 만드는 자산이 컨텐츠를 형성합니다. 게임 엔진은 자산의 상호 작용 방식을 제어하여 게임에 활기를 불어 넣는 데 사용됩니다. 이는 다양한 장르와 스타일의 게임 엔진 역할을 할 수있는 재사용 가능한 구성 요소 세트를 통해 달성됩니다.
게임 엔진의 역할은 모든 비디오 게임을 재생 가능하게 만드는 모든 비하인드 스토리를 수행하는 것입니다. 중심 구성 요소에는 그래픽 렌더링 엔진, 물리 엔진 및 충돌 감지가 포함됩니다. 렌더링 엔진은 장면 파일에서 2 차원 또는 3 차원 이미지를 생성하여 시점, 조명 및 텍스처와 같은 요소를 정의합니다. 물리 엔진은 플레이어에게 친숙한 방식으로 실제 모션을 근사하지만 게임의 맥락에서도 의미가 있습니다. 충돌 감지는 게임이 두 개 이상의 렌더링 된 오브젝트의 교차점을 감지, 표시 및 반응하는 방법을 포함합니다.
네트워킹 기능, 인공 지능 및 사운드 생성과 같은 다른 리소스도 종종 게임 엔진의 구성 요소입니다. 일반적으로 구성 요소는 게임 빌드를 단순화하는 시각적 통합 개발 환경 (IDE)을 통해 개발자에게 제공됩니다. 예를 들어 IDE를 떠나지 않고도 렌더링 엔진으로 장면 파일을 프로토 타입하고 테스트 할 수 있습니다. 이러한 접근 방식은 구성 요소 재사용을 장려하여 작성 프로세스를보다 간단하고 효율적으로 만듭니다.
대부분의 초기 게임 엔진은 독점 디자인으로 단일 게임 제작에 사용하도록 개발되었습니다. 선호하는 구성 요소를 선택하고 특수한 인터페이스를 구축함으로써 얻을 수있는 유연성이 중요했습니다. 이러한 접근 방식을 통해 개발자는 게임의 모양과 느낌을 제어 할 수 있었지만 개발주기는 크게 연장되었습니다. 비용 제약으로 인해 대부분의 프로젝트에서 독점 게임 엔진을 사용할 수 없습니다.
독점 디자인의 모든 기능을 제공하는 완벽하고 즉시 사용 가능한 게임 개발 제품군을 사용할 수 있습니다. 많은 제품이 상용 제품이지만 비슷한 품질의 오픈 소스 게임 엔진을 찾기가 어렵지 않습니다. 이들은 선호하는 프로그래밍 스타일 또는 도구를 수용하기 위해 코드를 조정할 수 있습니다. 게임 제작자는 독점 엔진의 유연성을 갖지 못할 수도 있지만 개발에 절약되는 시간과 비용은 일반적으로 문체 자유의 손실보다 훨씬 큽니다.