게임 엔진으로 간주되는 XNA가 무엇인지 궁금합니다. 그것은 게임 엔진이해야 할 모든 것을합니다 (물리 부분 제외). 또한 게임 엔진 에 대한 Wikipedia 기사에 정의 된 모든 측면을 지원합니다 .
XNA는 왜 게임 엔진으로 간주되지 않습니까?
게임 엔진으로 간주되는 XNA가 무엇인지 궁금합니다. 그것은 게임 엔진이해야 할 모든 것을합니다 (물리 부분 제외). 또한 게임 엔진 에 대한 Wikipedia 기사에 정의 된 모든 측면을 지원합니다 .
XNA는 왜 게임 엔진으로 간주되지 않습니까?
답변:
Microsoft XNA는 컴퓨터 게임 개발 및 관리를 용이하게하는 Microsoft가 제공하는 관리 런타임 환경을 갖춘 도구 세트입니다 . XNA는 게임 개발자가 "반복적 인 상용구 코드"를 작성하지 못하도록 하고 게임 제작의 다양한 측면을 단일 시스템으로 가져 오려고합니다.
XNA는 프레임 워크로 설계되었습니다. 실제로 XNA는 Microsoft XNA Framework이므로 기술적으로 이름이 엔진이 아닙니다.
'엔진'은 없습니다. 알아 차리면 XNA.Framework.Game에서 메인 클래스를 파생시키고 그리기 및 업데이트 기능을 직접 재정의해야합니다. 즉시 사용 가능한 중앙 렌더링 시스템, 입력 시스템 또는 오디오 시스템이 없습니다. SpriteBatch와 정점 클래스가 있고 KeyboardState가 있으며 일부 오디오 클래스가 있습니다. 그러나 저수준 그리기 코드에 대한 추상화 일뿐입니다.
편집 : 유용성을 위해 엔진, 프레임 워크, 라이브러리 또는 도구 세트로 레이블이 지정된 경우 왜 중요한가?
다소 정리하기 위해 : XNA에서 엔진을 개발하고 있습니다. 분명히 나는 조나단이 언급했듯이 언리얼과 같은 방식으로는 그렇게 할 수 없습니다. 그러나 XNA에는없는 몇 가지 중요한 사항이 있습니다.
Plug-n-play : 일종의 템플릿을 만들 수 있기를 원합니다.이 HP,이 메시,이 애니메이션 및 BOOM을 사용하십시오! 게임에 NPC가 있습니다.
숨겨진 저수준-XNA는 이미이 작업을 수행하지만 GameServiceProviders를 사용하고 싶지 않습니다. 나는 단지 물건을 함께 밀고 싶다.
엔진과 분리 된 게임- '게임'클래스가있을 수 있지만 기본 시스템에서 논리와 코드를 분리하고 싶습니다. if(player.hasitem(Item.SECRET_SWORD_OF_SECRETNESS)
그래픽 렌더러의 버퍼 업데이트와 혼합 하고 싶지 않습니다 .
what makes an sdk to be called a GameEngine?
프레임 워크는 특정 유형의 응용 프로그램을 위해 구축 된 최소 아키텍처를 제공합니다. 명시된 아키텍처 목표를 넘어 구현 세부 사항에 대한 가정을 최소화합니다. 크로스 플랫폼 게임 개발 프레임 워크는 "플랫폼에 관계없이 모든 컴퓨터 게임에 공통적 인 것"을 제공하는 목표를 가질 수 있지만 타이밍 및 엔티티 관리와 같은 추상적 요소만을 XNA 프레임 워크 (암시 적으로) 구현할 수 있습니다. "XNA CLR에서 실행되도록 작성된 거의 모든 컴퓨터 게임에 공통적 인 것"을 제공한다는 목표를 가지고 있습니다. 이 초점이 너무 좁다는 것을 감안할 때 엔진 기능에 불명예를 포함시킬 수있었습니다. "프레임 워크"라는 제목 아래에 모두 번들로 묶습니다. 이는 게임 개발자가 즐길 수있는 특정 구현의 자유를 나타냅니다.
대략적으로 말하면, 프레임 워크는 유용한 토대를 제공하면서 가능한 한 제한이 없어야합니다. 반면에 엔진은 일반적으로 특정 기능에보다 중점을두고 있으며 엔진을 사용함에있어 특정 제한이 있음을 인정합니다.
나는 '게임 엔진'을 사용한 적이 없지만 이것에 대한 이해는 특정 유형의 게임 개발을 위해 사전 정의 된 골격 게임 구조와 번들로 제공되는 사전 정의 된 도구 세트에 가깝습니다. 그리고 특정 유형의 게임 개발을위한 구조는 게임 엔진의 주요 정의 요소이며, 분명히 언급 된 Wikipedia 기사가 좋아하는 것 같습니다. 나에게 XNA 프레임 워크는 기존 베어 본 프로그래밍 언어에 사전 빌드 된 루틴을 추가한다는 점에서 AJAX와 같은 타사 라이브러리 세트와 더 유사합니다. 프로그래머가 이러한 라이브러리 루틴으로 수행 할 수있는 작업과 수행 할 수없는 작업에 대한 제한이나 지침은 없습니다. 내 마음에 그것은 어떤 식 으로든 엔진과 유사하지 않습니다. 그런 다음 비즈니스 소프트웨어 / 웹 중심 배경에서 왔습니다.
XNA를 사용하여 게임 아이디어에 대한 프레임 워크를 구축했으며 C #을 통해 다른 라이브러리를 사용하는 것처럼 보입니다. 테스트 프로그램에서 해킹 한 프로세스를 사용하여 Windows 및 가능한 Xbox 용 게임을 2 ~ 3 개 제작합니다.
내가 말했듯이 내 마음에 이것은 이것이 '게임 엔진'으로 이해 한 것과 거리가 멀기 때문에이 게시물을 보았을 때 누군가가 왜 그 비교를 할 것인지 전혀 몰랐습니다. 내가 잘못?