콘텐츠
게임 엔진은 다양한 유형의 게임을 만드는 데 사용되는 프로그램의 일부입니다. 훌륭하고 강력한 엔진은 많은 게임에 공통적 인 작업을 수행하므로 개발자는 각 게임에 대해 동일한 부분을 다시 구현하는 대신 콘텐츠를 디자인하기 만하면됩니다. 엔진은 3D 온라인 게임, 2D 보드 게임 및 사소한 온라인 게임을 처리 할 수있을만큼 복잡 할 수 있으며 단순히 카드 게임을 구현하는 데 사용할 수도 있습니다. 엔진 모델링은 어려운 작업이 될 수 있지만 여러 게임을 구현하려는 게임 제작자에게는 매우 보람있는 작업이 될 수 있습니다.
1 단계
엔진에서 사용할 기본 도구를 만듭니다. 메모리 관리자가 필요합니다. 생성 된 각 개체가 할당하는 데 사용할 메모리 관리자가 있어야 사용을 기록하고 사용하지 않는 부분을 정리할 수 있습니다. 또한 다양한 구성 요소가 수행하는 작업을 기록하는 데 사용할 로거를 만들어야합니다. 대형 엔진의 경우 로깅은 매우 중요합니다. 게임의 메인 루프가 작동하고 다음에 수행 할 작업을 결정하는 커널이 필요합니다.
2 단계
게임 엔진 아키텍처를 모델링합니다. 주요 구성 요소는 입력 핸들러, 게임 상태 업데이트 및 렌더러입니다. 입력 핸들러는 사용자 입력을 읽고이를 엔진이 이해하는 명령으로 변환합니다. 업데이트 프로그램은 규칙, 물리 및 인공 지능을 기반으로 게임의 상태를 업데이트합니다. 렌더러는 사용자가 볼 수 있어야하는 게임의 현재 상태를 그립니다.
3 단계
입력 핸들러를 구현하십시오. 키보드, 마우스 및 조이스틱 입력을 사용하고 다른 인간 상호 작용 장치를위한 공간을 남겨두고 싶을 것입니다. 이러한 항목은 게임 상태 업데이트 프로그램에 전달 된 명령을 직관적으로 매핑해야합니다.
4 단계
게임 상태 업데이트 프로그램을 만듭니다. 사용자 입력을 받고 게임 규칙에 따라 게임 상태를 업데이트합니다. 게임의 물리학을 다루고 제작자가 규칙을 구현할 수 있도록 허용하기 때문에 가장 복잡한 구성 요소가 될 수 있습니다. 게임이 온라인 상태 인 경우 네트워크 구성 요소가 여기로 이동하므로 서버에서 수행해야하는 업데이트와 클라이언트가 수행해야하는 작업을 결정하기가 어렵습니다.
5 단계
렌더링 엔진을 설계하고 구현합니다. 이것은 또한 매우 복잡 할 수 있지만 항상 그럴 필요는 없습니다. 게임에 새로운 3D 그래픽이 필요한 경우이 구성 요소가 더 필요합니다. 렌더러에 얼마나 많은 시간과 노력을 투자해야하는지는 만들려는 게임 유형에 따라 다릅니다.
6 단계
구성 요소를 테스트하고 디버그합니다. 게임 제작자가 각 구성 요소를 사용하는 데 도움이되는 도구를 사용해보십시오. 이는 개별 부품을 테스트하는 좋은 방법이 될 수 있습니다. 또한 비교적 간단한 게임을 만들어 엔진을 사용하여 게임을 쉽게 구현할 수 있는지 확인하고 프로그램이 계획대로 작동하는지 확인할 수 있습니다.