크로스 플랫폼 엔진으로 구축 된 게임이 때때로 Windows 전용 게임 인 이유는 무엇입니까?


99

엔진이 Windows, OS X 및 Linux를 지원하는 경우 Space Hulk : Deathwing 과 같은 이러한 엔진을 사용하는 게임이 Windows로만 제한된 경우가 종종 있습니다 .


25
크로스 플랫폼을 구축 할 수 있다는 것을 의미하며 추가 노력이 필요하지는 않습니다.
marsh

간단한 이유는 대부분의 게임 유형이 PC에 있기 때문입니다.
Fattie

답변:


150

기술적 이유 :

  • 구체적으로 게임 제작 플랫폼 : 일부 개발자가 게임을 제작할 때 플랫폼 특정 기능에 의존 할 수 있습니다. 게임 엔진이 여러 플랫폼에 대한 게임을 빌드 할 수는 있지만 게임 이외의 코드는 다른 플랫폼에 존재하지 않거나 게임의 어려운 부분을 다시 만들어야하는 Windows 고유의 호출을 할 수 있습니다 (라이센스 서비스, 파일 저장 시스템 등).
  • 유능한 머신의 부족 : 오랫동안, 대부분의 Apple 컴퓨터에는 대부분의 게임을 실행하기에 충분한 그래픽 성능이 없었습니다. 그렇다면 사용자가 나쁜 경험을 할 가능성이 가장 높은 곳에서 출시해야하는 이유는 무엇입니까? 더 나은 통합 그래픽 덕분에 이것은 느리게 변화하고 있지만 일부는 Windows 만 사용하는 이유 일 수 있습니다.
  • 플러그인 / 라이브러리 호환성 : 게임 개발자는 타사 라이브러리를 사용하여 개발 속도를 높이거나 업계 표준 / 검증 된 코드 (SSL, 직렬화 라이브러리 등)를 사용할 수 있습니다. 플랫폼 X를 지원하지 않으면 게임이 안정적으로 실행되지 않으므로 제외됩니다.
  • QA 향상 : 게임 개발 중에 버그가없고 게임이 성능 표준을 충족하는지 확인하는 작은 하위 섹션이 있습니다. 플랫폼을 추가하면 게임을 반드시 두 번 테스트해야합니다! 게임의 일반적인 부분은 단독으로 남겨 둘 수 있지만 출시 전에 더 많은 테스트가 필요합니다. 또한 플랫폼 (Apple, Xbox, PlayStation, Phone 등)에 따라 필요한 추가 시간뿐만 아니라 특수한 하드웨어로 인해 비용이 증가 할 수 있습니다.
  • 지원 확대 : 게임이 출시되면 버그가 생길 수 있습니다 (일부 게임은 다른 게임보다 더 큼). 더 많은 플랫폼을 추가할수록 개발자가 수행해야하는 출시 후 지원의 양이 증가합니다. 플랫폼 별 버그는 손상된 플랫폼에 대한 버그를 수정하고 영향을받지 않는 플랫폼에 영향을주지 않는 방식으로 수정해야합니다. 플랫폼이 변경되면 (예 : Windows 7 ~ 8 또는 OSX 반복) 최신 버전에 버그가 없는지 확인하려면 일정 수준의 QA가 있어야합니다. 그리고 있다면, 그것은 이전 버전과 함께 지원되어야하는 또 다른 플랫폼입니다. 이는 출시 후 3-6 개월 후에 게임이 시작된 후 (게임에서 많은 돈을 벌지 못했음) 비용에 큰 영향을 줄 수 있습니다.

기술적이지 않은 이유 :

  • 출판사 계약 : 일부 개발자는 플랫폼 보유자와 계약을 맺고 플랫폼에 구체적으로 공개 할 것입니다. 콘솔에서 더 많이 발생하지만 PC 플랫폼 (예 : Windows)의 경우에도 마찬가지입니다.
  • 자사 개발자 : 일부 개발자는 플랫폼 소유자가 소유하고 있으며 특정 플랫폼에서 게임을 출시 할 수 없습니다. PS4에서는 Halo가, Mac에서는 Forza가 보이지 않을 것입니다.
  • 청중 부족 : 개발자는 특정 플랫폼에서 특히 소비자가 많은 데이터를 보유한 대규모 게시자를 보유한 경우 소비자 트렌드에 대한 통계가 많이 있습니다. 대상 고객의 90 %가 Windows를 사용하고 있다는 정보가있는 경우 잠재적 인 버그를 시도하거나 줄이거 나 마케팅 자료에 계속 초점을 맞추기 위해 다른 플랫폼에서 릴리스하지 않아도됩니다.
  • 플랫폼 요구 사항을 충족하지 않음 : Apple의 App Store와 같은 일부 플랫폼에는 게시하기 위해 따라야하는 레이아웃 및 디자인에 대한 엄격한 요구 사항이 있습니다. 게임이 특정 배포 플랫폼에 대한 이러한 요구 사항을 충족하지 않으면 예상 판매량이 충분하지 않으면 게임을 조정하고 출시하는 데 엔지니어링 시간이 가치가 없을 수 있습니다.
  • 플랫폼 경험 부족 : 개발자가 Windows만으로 작업 한 경우 (다른 시스템에 대한 경험이없는 사람은 거의 없음) 개발 후반에 문제를 일으킬 수있는 작은 차이점을 배우는 데 많은 노력이 필요할 수 있습니다. Linux / OSX 빌드를 담당 할 새 직원을 고용 할 예산이 충분하지 않을 수 있습니다.
  • 마케팅 비용 : 두 플랫폼의 잠재 고객 또는 연령 그룹이 크게 다른 경우 하나의 마케팅 자료가 다른 마케팅 자료에 도달하지 못할 수 있습니다. 두 그룹이 서로 다른 마케팅을 요구하는 경우 새로운 대상 고객을 염두에두고 모두 다시 작성해야합니다. 특히 대규모 릴리스에서는 마케팅이 매우 비쌀 수 있으며, 플랫폼이 많을수록 비용이 더 빨리 증가합니다.

나는 더 많은 것이 확신합니다. 이들은 내 머리 꼭대기의 일부입니다. 도움이 되었기를 바랍니다.


26
이것은 좋은 대답이지만 테스트 비용 / QA와 같은 다른 중요한 요소를 놓친 것 같습니다. 크로스 플랫폼 엔진은 플랫폼 차이를 숨기는 완벽한 작업을 수행하지 않으므로 모든 대상 플랫폼에서 테스트해야합니다. 하나의 플랫폼에서만 나타나는 버그 또는 다른 플랫폼에서의 다른 구현과 관련된 중요한 성능 차이가있을 수 있습니다. 플랫폼 간 기능에 차이가있을 수 있습니다. QA 시간을 늘리고 테스터에게 추가 하드웨어를 제공해야합니다. 일부 개발자는 추가 하드웨어 및 소프트웨어가 필요합니다.
mattnewport

2
나는 경험이 부족한 부분에서 그것을 다루었다고 생각했다.… 그러나 나는 그것을 추가 할 수있다 :) 항상 그래도 낫다
user3797758

5
@mattnewport에 동의합니다. 비용 이 여기에 과소 평가되어 있습니다. 여러 플랫폼에서 개발, 빌드, 테스트, 디버깅, 헹굼 및 반복을 수행하는 데 상당한 노동력 이 소요될 수 있습니다. 단일 플랫폼에 대한 다양한 하드웨어 구성을 적절히 테스트하기에는 충분하지 않습니다!
AC

3
또한 "지원"이 과장된 경우가 있습니다. 많은 엔진이 Windows를 "지원"하지만 실제로는 실제로 사용하려면 Visual Studio, Python 및 Perl, Cygwin 및 Msys와 5 가지의 MinGW 및 기가 바이트 라이브러리를 설치해야합니다.
AndreKR

2
"개발자는 특정 플랫폼의 소비자 트렌드에 대한 많은 통계를 가지고 있습니다"-물론 기술적으로 지원할 플랫폼을 결정하는 데 약간의 자체 영속적 인 예언이 있습니다.
또는 매퍼

30

사용 가능하다는 것이 자유롭고 즉각적인 의미는 아닙니다.

가장 단순한 형태로 하나 이상의 운영 체제를 지원한다는 것은 기술 지원을 제공하는 하나 이상의 플랫폼을 의미합니다.

더 많은 플랫폼을 지원할수록 = 더 많은 플랫폼을 지원 해야 할 것 = 지원에 더 많은 시간을 소비 함 = 게임을 개선하는 데 소비 할 수있는 작업 시간을 잃는 것.

플랫폼을 모두 지원한다는 것은 게임이 해당 플랫폼에서 충분한 플레이어 기반을 확보 할 수 있다면 플랫폼에 대한 지원을 제공하는 데 시간을 투자 할 것이라는 확신에 달려 있습니다.


2
또한 특히 소셜 부서에서 마켓 플레이스 개발 (App store, Steam, Google play) 및 플랫폼 별 통합에 더 많은 작업이 손실됩니다. (친구, 공유, 인증)
CostelloNicho

18

지금까지는 좋은 답변이 있지만 결론에 도달합시다.

Steam의 2017 년 6 월 하드웨어 설문 조사에 따르면, 샘플 사용자의 96.24 %가 Windows를 사용했습니다. Windows 사용자 중 87.37 %는 Windows 10 또는 7, 64 또는 32 비트입니다. OSX 변형은 사용자의 2.95 %를 나타내고 Linux 변형은 총 0.72 %입니다.

시간은 돈이다. 시장이 틈새 시장이고 OSX 또는 Linux를 구체적으로 목표로하지 않는 한, 특히 게임 개발자가 제품 기능을 완성 할 수 있도록 시간이 지남에 따라 시장의 <4 %가 가치가 있기 전에 많은 게임을 판매해야합니다.


3
... 그리고 이것은 또한 모든 사용자가 평균적으로 게임에 대해 비슷한 돈을 지불한다고 가정합니다. Android와 Windows Phone의 통계는 Android의 기기 점유율이 훨씬 높았지만 직접 (비 광고) 수익은 거의 같았으며 iOS와 비교할 때 아주 작았습니다. 게임을 판매하는 경우 사람들이 지불하고자하는 금액을 알아야합니다. 게임을 거의 사지 않는 시장의 0.7 % 세그먼트를위한 게임을 만드는 것은 명백한 일이다. : D 엔진이 완벽하게 멀티 플랫폼 이더라도 (다른 플랫폼에서는 별다른 어려움없이) 가치가 없을 것이다 .
Luaan

1
@Luaan Humble Bundle에 따르면 Linux의 수익은 Mac이 3 배 더 높지만 Mac보다 약간 적습니다. 어쩌면 고급 Linux 컴퓨터는 Mac과 비교하여 같은 가격의 그래픽 카드보다 훨씬 나은 경향이 있다는 사실에 의해 설명 될 수 있습니다.
stommestack

1
@JopV. 번들 번들로 인해 겸손 번들은 약간 까다 롭습니다. 번들에서 하나의 게임에만 관심이 있다면, 내가 플레이하지 않을 여분의 게임 (또는 전에 이미 이미 지불 한 게임, 때로는 여러 번 지불 했으므로 더 많은 돈을 지불하려는 경향이 없습니다) 미친 : P). 리눅스가 비교적 최근까지 게임에서 무시 당했다는 사실로부터 영향을받을 수 있으므로, Mac 또는 Win 컴퓨터를 가진 사람은 이미 게임 중 일부를 가지고있을 수 있지만 Linux의 첫 번째 릴리스 일 수 있습니다. 아마도. 그들은 또한 겸손한 상점에서 통계를 가지고 있습니까?
Luaan

2
@Luaan Humble Indie Bundle이있을 때마다 페이지 하단 근처에 OS 당 기여한 총 금액과 평균 금액을 포함하여 몇 가지 통계가 있습니다. 그들은 모든 번들마다 상당히 일관성을 유지합니다.
stommestack

14

여기에 다른 답변은 좋지만 여기에 언급되지 않은 답변이 있습니다.

지금이 문제가 발생했습니다. 팀에서 Unity for Windows / Mac 용 게임을 출시하려고합니다. 우리는 왜 게임이 모바일이 아닌지에 대해 많은 질문을 받았습니다. 두 가지 주요 답변이 있습니다.

1) 전화는 단순히 게임을 따라갈만큼 강력하지 않습니다. 어쩌면 우리는 예술의 충실도 (모델의 다각형 수, 텍스처의 픽셀 수 감소 등)를 줄일 수는 있지만 지금까지만 진행되었습니다. 휴대 전화에서 실행할 수 있도록 최적화하려면 대부분의 게임을 다시 작성해야합니다. 우리는 그것을 시도했지만 초당 약 0.5 프레임 만 얻었습니다. 분명히, 재생할 수 없습니다.

2) 입력. 전체 사용자 인터페이스는 마우스를 사용하여 설계되었으며, 게임의 일부는 마우스의 위치를 ​​알고 있어야합니다. 마우스의 위치를 ​​모르고 화면의 다양한 "터치"동작을 "마우스"동작으로 변환하여 동일한 기능을 얻으려면 게임이 계속 작동하려면 전체 입력 메커니즘을 다시 작성해야합니다. 답변에서 언급 한 user3797758과 같이 "마우스"및 "터치"입력을 동일한 시스템에 공급할 수 있도록 항목을 다시 작성해야하며, 하나의 버그는 다른 하나의 버그와 해당 버그의 수정에 영향을 미치지 않습니다. 다른 쪽에도 영향을 미치지 않습니다. 현재 팀에서 사용할 수있는 것보다 더 많은 리소스가 필요합니다.

user3797758의 답변에서 언급했듯이 패키지 중 하나가 Linux 컴퓨터에서 충돌하기 때문에 Linux를 지원하지 않지만 Windows / Mac에서는 작동합니다. 엔진이 크로스 플랫폼이기 때문에 모든 것을 사용하는 것은 아닙니다.


1
휴대 전화는 문제없이 GTA Vice City를 재생할 수 있습니다. 렌더링 엔진이 비효율적 인 것 같습니다! :)
궤도에서 가벼움 레이스

2
어쨌든이 답변은 게임을 다른 하드웨어 플랫폼 / 패러다임으로 포팅하는 것에 관한 것이지 PC의 OS에 대해서는 덜합니다.
Lightness Races Orbit

2
@LightnessRacesinOrbit 글쎄, 그것은 Unity입니다 ... 실제로, 우리는 게임의 중심에 있고 실제로 비효율적 인 하나의 특별한 효과가 있습니다. 그것을 쓴 사람은 사라졌고 더 나은 방법을 찾을 수 없었습니다. 인생은 ...
Cody

3
@JopV. 음. 역사는이다 작은 조금 더 복잡한보다. 그러나 여기서는 이것에 대해 논의 할 필요가 없습니다. OpenGL은 3D 렌더링 API입니다. DirectX는 그보다 훨씬 넓습니다. 무의미한 토론에 참여해야하는 경우 OpenGL과 Direct3D를 비교하십시오. OpenGL은 전문적인 3D 작업 (독점 IrisGL을 "열기")을 위해 설계되었습니다. 그 당시 OpenGL을 지원 한 다른 플랫폼은 무엇입니까? "흥미로운 크로스 플랫폼 개발"은 없었습니다. Windows는 기본 OpenGL을 지원했습니다. OpenGL은 고급 전문 작업 이외의 용도로는 사용되지 않았습니다.
Luaan

2
phone gpus는 열 및 크기 제한이 있으므로 인텔 그래픽보다 훨씬 덜 강력합니다. 또한 많은 사람들이 opengl es 3.0을 지원하지 않는 전화를 가지고 있으므로 원시적 인 opengl es 2.0 게임을 다시 작성하지 않으면 소수의 사람들 만 앱을 사용할 수 있습니다.
Suici Doga
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.