블리자드는 어떻게 게임에서 Mac OS와 Windows를 지원합니까? [닫은]


22

저는 항상 Windows 용 Direct X를 사용하는 것이 오늘날 현대적인 그래픽으로 게임을 만드는 가장 강력하고 쉽고 현대적인 방법이라고 생각했습니다. 그것이 Windows 뿐이라는 것을 알면 다른 플랫폼에서 비슷한 것을 만드는 것이 매우 어렵다고 생각합니다. 정확하게 Mac OS. 그러나 Blizzard는 어떻게 든 Mac OS 용 Starcraft 2를 제공했으며 Diablo 3도 Mac에서도 사용할 수있게되었습니다.

그래서 내가 관심있는 것은 다음에 대한 정보입니다.

  • 게임 엔진에 어떤 기술을 사용하고 있습니까?
  • 두 게임 (Starcraft 2 및 Diablo 3)에 하나의 엔진을 사용하고 있습니까, 아니면 각 게임에 대한 맞춤형 엔진을 개발합니까?
  • Mac OS 지원에 대해 시간과 비용으로 지불하는 비용은 무엇입니까?


1
우리는 "이 게임은 어떻게 만들어 졌는가"또는 "이 게임은 어떻게 했는가"라는 질문을지지하지 않기 때문에이 질문을 논외 주제로 마무리하려고합니다. 이러한 질문은 대부분 추측 적이며 건설적인 것이 아닙니다. 우리는 일반적으로 질문을 편집하여 "이 기능을 어떻게 수행 할 수
있습니까

답변:


17

블리자드는 매우 맞춤형 기술 중심입니다. 기사에 대한 링크는 없지만 멀티 플랫폼 호환성 및 이전 버전과의 호환성을 위해 게임당 수천 개의 커스텀 셰이더를 개발 한 것을 기억합니다.

멀티 플랫폼 지원은 새로운 것이 아닙니다. 많은 소프트웨어가 Linux, Mac OS 및 Windows를 지원합니다. 위에서 언급했듯이 중요한 부분은 플랫폼 별 특성에서 벗어나 추상화하는 것입니다.

모든 최신 게임 엔진은 멀티 플랫폼을 처리하며 플랫폼에 따라 OpenGL과 DirectX간에 전환 할 수 있습니다.

블리자드는 대부분의 전문적인 대규모 개발자와 마찬가지로 C ++ 하우스입니다. 그러나 S.gfx에서 언급했듯이 쉬운 솔루션을 찾고 있다면 jMonkeyEngine 또는 LWJGL을 포함한 많은 비 C ++ 솔루션이 있습니다.

C ++ 측면에서 Glut 및 Glu를 사용하여 OpenGL을 사용하는 동안 다른 운영 체제를 쉽게 처리하거나 특정 OS 호출에 대한 고유 한 추상화를 작성할 수 있습니다.

더 구체적으로 글 머리 기호에 대답하려면 다음을 수행하십시오.

게임 엔진에 어떤 기술을 사용하고 있습니까? 블리자드는 아마 말하지 않을 것입니다. 그러나 엔진이 C ++로 작성되었으며 OpenGL 또는 OpenGL 및 DirectX를 사용하는지 확인할 수 있습니다. OpenGL은 Windows에서 실행됩니다.

스타 크래프트 2와 디아블로 3 두 게임 모두에 하나의 엔진을 사용하고 있습니까? 아니면 각 게임에 대한 사용자 정의를 개발합니까? 블리자드는 여러 엔진을 유지 관리하는 것으로 알려져 있습니다. 디아블로 3은 처음부터 와우 코드의 포크였습니다. 그러나 일단 프로젝트를 마치면 와우와 같지 않을 것입니다. 블리자드는 프로젝트 당 많은 코드를 작성하는 것을 두려워하지 않습니다.

Mac OS 지원에 대한 시간과 비용으로 지불하는 비용은 무엇입니까? 올바르게 완료되면, Mac OS 지원 비용이 "너무"크지 않아야합니다. 누구나 추측 할 수 있습니다. 앞에서 언급했듯이 블리자드는 커스텀 셰이더를 작성하는 경향이 있으므로 모든 것이 "정확하게"보입니다. 그래서 다른 집들이 지불하는 것보다 많을 수 있습니다.


감사합니다. 귀하의 답변이 내가 찾은 답변과 가장 가까운 것 같습니다. 저는 일반적인 멀티 플랫폼 개발에 익숙합니다. 블리자드의 작동 방식에 대한 정보를 원했습니다. 개발 과정에 대한 추가 정보에 대한 링크를 게시하면 감사하겠습니다.
begray

9

DirectX 및 OpenGL 위에 추상 레이어를 제공하는 그래픽 엔진이 있습니다 ( 예를 들어 Ogre3D 사용). 따라서 개발자는 프레임 워크를 사용하기 때문에 기본 GPU-API에 신경 쓸 필요가 없습니다. 셰이더와 같은 일부 특수한 내용은 HLSL GLSL 로 작성해야 하지만 두 API 모두에서 실행 / 컴파일 할 수있는 고급 셰이더 언어도 있습니다.

필자는 Blizzard가 사용하는 엔진 (자체적으로 작성)도 기본 그래픽 API를 쉽게 교체 할 수있는 추상화 계층을 제공하므로 Mac 포트에 대한 모든 그래픽 코드를 다시 작성할 필요가 없습니다.


2

나는 그들이 실제로 무엇을 사용하는지 확실하지 않습니다 (각각 강력한 솔루션을 가지고있을 것입니다). 아마 이미 입증되고 사용 된 게임 엔진은 해당 플랫폼에서 게임을 성공적으로 출시하거나 자체 맞춤형 솔루션을 출시 할 것입니다. 그러나 나에게 그것은 대부분 opengl, shader 등 일 것입니다. 인디 개발자이거나 AAA가 아닌 상용 게임을 계획하고 있다면 jMonkeyEngine 3 은 훌륭한 무료 솔루션입니다. 그것은 자바 기반이므로 OSX에 포함 된 JRE (아주 최신 jre를 사용하지 않으면 기능을 절단 할 수 있음)에 대한 신뢰를 배치하거나 사용 가능한 무료 또는 상업용 솔루션. OSX 및 기타 플랫폼으로 컴파일하는 다른 엔진이 있지만 OSA 및 기타 플랫폼 용으로 출력되는 완전히 'AAA'는 아닙니다., C4 엔진 등, 또는 다른 오픈 소스 또는 상업적 멀티 플랫폼 엔진을 사용하는 경우, 당신은 같은 크로스 플랫폼 설치 사용 할 수도 있습니다 InstallBuilder를 .

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