Por que os jogos criados em mecanismos de plataforma cruzada às vezes são exclusivos do Windows?

99

Se um mecanismo suporta Windows, OS X e Linux, por que às vezes vemos jogos usando esses mecanismos, como Space Hulk: Deathwing , restrito apenas ao Windows?

Nathan
fonte
25
Isso significa que pode ser construído em várias plataformas, não significa que não exija nenhum esforço adicional.
pântano
O motivo simples é que a grande maioria desse tipo de jogo está no PC.
Fattie

Respostas:

150

Razões técnicas:

  • Plataforma feita pelo jogo especificamente : quando alguns desenvolvedores estão criando seus jogos, eles podem, em algum momento, confiar em funções específicas da plataforma. Embora o mecanismo do jogo possa criar o jogo para várias plataformas, o código não relacionado ao jogo pode fazer uma chamada específica do Windows que não existe em outras plataformas ou exigiria refazer uma parte difícil do jogo (serviços de licenciamento, Sistemas de economia de arquivos, etc.).
  • Falta de máquinas capazes : Durante muito tempo, a maioria dos computadores Apple não possuía energia gráfica suficiente para executar a maioria dos jogos. Então, por que lançar em algum lugar onde os usuários provavelmente só terão uma experiência ruim? Isso está mudando lentamente, graças aos melhores gráficos integrados, mas ainda pode ser uma razão pela qual alguns usam apenas o Windows.
  • Compatibilidade com plug-in / biblioteca : os desenvolvedores de jogos podem usar bibliotecas de terceiros para ajudar a acelerar o desenvolvimento ou usar código padrão / validado do setor (SSL, bibliotecas de serialização, etc.). Se eles não suportam a plataforma X, o jogo provavelmente não será executado com segurança e, portanto, serão excluídos.
  • Maior controle de qualidade : durante o desenvolvimento do jogo, há uma pequena subseção da equipe que garante que não haja bugs e que o jogo atenda aos padrões de desempenho. Depois de adicionar uma plataforma, o jogo deve ser essencialmente testado duas vezes! As partes genéricas do jogo podem ser deixadas em paz, mas ainda há muito mais testes a serem feitos antes do lançamento. Isso também pode levar ao aumento do custo, não apenas com o tempo adicional necessário, mas também com hardware especializado, dependendo da plataforma (Apple, Xbox, PlayStation, Telefones etc.).
  • Maior suporte : À medida que os jogos são lançados, eles apresentam bugs (alguns jogos mais que outros). À medida que você adiciona mais plataformas, a quantidade de suporte pós-lançamento que o desenvolvedor precisa fazer aumenta. Os erros específicos da plataforma precisarão ser corrigidos de forma a corrigi-lo para a plataforma quebrada e não afetar as plataformas que não são afetadas. Se uma plataforma mudar, digamos, no Windows 7 para 8 ou em uma iteração OSX, será necessário algum nível de controle de qualidade para garantir que não haja erros na versão mais recente. E, se houver, essa é outra plataforma que deve ser suportada juntamente com a versão mais antiga. Isso pode ter um grande efeito no custo, especialmente após o lançamento do jogo (caso o jogo não ganhe muito dinheiro), de 3 a 6 meses após o lançamento.

Razões não técnicas:

  • Contrato do editor : alguns desenvolvedores terão acordos com o proprietário da plataforma para lançar especificamente em sua plataforma. Embora isso aconteça mais com os consoles, também pode ser o caso das plataformas de PC (por exemplo, Windows).
  • Desenvolvedor primário : alguns desenvolvedores são de propriedade do detentor da plataforma e não têm permissão para lançar seus jogos em plataformas específicas. Você provavelmente não verá Halo no PS4 ou Forza no Mac.
  • Falta de público-alvo : os desenvolvedores têm muitas estatísticas sobre tendências de consumidores em plataformas específicas, principalmente se tiverem grandes editores com muitos dados disponíveis. Se eles tiverem informações que dizem que 90% de seu público-alvo estão no Windows, talvez não se preocupem em liberar em outras plataformas para tentar reduzir possíveis bugs ou / e manter o material de marketing focado.
  • Não atende aos requisitos da plataforma : algumas plataformas, como a App Store da Apple, têm requisitos rígidos de layout e design que precisam ser seguidos para serem publicados. Se um jogo não atender a esses requisitos para uma plataforma de distribuição específica, pode não valer a pena o tempo de engenharia para adaptar o jogo e lançá-lo se não houver vendas previstas suficientes.
  • Falta de experiência com uma plataforma : se o desenvolvedor trabalhou apenas com o Windows (e não há poucas pessoas com experiência em outros sistemas), pode ser muito trabalhoso aprender as pequenas diferenças que podem causar problemas no final do desenvolvimento ou pode não haver orçamento suficiente para contratar uma nova equipe para ser responsável por uma compilação Linux / OSX.
  • Custo de marketing : se duas plataformas têm públicos ou faixas etárias significativamente diferentes, o material de marketing de uma pode não atingir a outra, o que significa que mais dinheiro deve ser gasto em marketing. Se os dois grupos exigirem marketing diferente, todos deverão ser recriados com o novo público-alvo em mente. O marketing pode ficar extremamente caro, especialmente em grandes lançamentos, quanto mais plataformas precisam de marketing, mais rápido o custo aumenta.

Tenho certeza que existem mais. Estes são apenas alguns dos meus pensamentos. Espero que isto ajude.

user3797758
fonte
26
Essa é uma boa resposta, mas acho que você sente falta de outro elemento importante: o custo dos testes / controle de qualidade. Os mecanismos de plataforma cruzada nunca fazem um trabalho perfeito para ocultar as diferenças de plataforma, por isso é essencial testar em todas as plataformas de destino. Pode haver erros que aparecem apenas em uma plataforma ou diferenças significativas de desempenho relacionadas a diferentes implementações em plataformas diferentes. Também pode haver diferenças de comportamento na funcionalidade que deveria ser multiplataforma. Você precisa aumentar o tempo de controle de qualidade e fornecer hardware adicional aos testadores. Alguns desenvolvedores precisarão de hardware e software extras.
18717
2
Eu pensei que eu cobri isso na seção falta de experiência .... mas eu posso adicioná-lo :) sempre é melhor ser embora #
user3797758
5
Concordo com o @mattnewport que o custo é subestimado aqui - pode ser bastante trabalhoso desenvolver, criar, testar, depurar, enxaguar, repetir para várias plataformas. Já é bastante difícil testar adequadamente várias configurações de hardware para uma única plataforma!
AC
3
Além disso, o "suporte" às ​​vezes é muito exagerado. Muitos mecanismos "suportam" o Windows, mas na verdade você teria que instalar o Visual Studio e Python e Perl e Cygwin e Msys e 5 versões do MinGW e gigabytes de bibliotecas para realmente usá-lo.
21417 AndreKR
2
"Os desenvolvedores têm muitas estatísticas sobre as tendências dos consumidores em plataformas específicas" - é claro, usando isso para determinar quais plataformas tecnicamente dar suporte é uma profecia que se autoperpetua.
OR Mapper
30

Porque estar disponível não significa ser gratuito e instantâneo.

O suporte a mais um sistema operacional, em sua forma mais simplista, significa mais uma plataforma para fornecer suporte técnico.

Quanto mais plataformas você suporta = Quanto mais plataformas você precisa fornecer = Gastar mais tempo com suporte = Perder o tempo de trabalho que poderia ter gasto para melhorar seu jogo.

O suporte a uma plataforma se resume à confiança de que, se o seu jogo puder atrair uma base de jogadores suficiente nessa plataforma de destino, isso compensará o tempo que você gasta fornecendo suporte à plataforma.

S. Tarık Çetin
fonte
2
Também se perde mais trabalho no desenvolvimento do mercado (App Store, Steam, Google play) e integrações específicas da plataforma, particularmente no departamento social. (amigos, compartilhamento, autenticação)
CostelloNicho
18

Até agora, existem boas respostas, mas vamos ao que interessa.

De acordo com a pesquisa de hardware de junho de 2017 da Steam, 96,24% dos usuários da amostra usavam Windows. Dos usuários do Windows, 87,37% são do Windows 10 ou 7, 64 ou 32 bits. As variantes OSX representam 2,95% dos usuários e as variantes do Linux totalizam 0,72%.

Tempo é dinheiro. A menos que seu mercado seja um nicho e atinja especificamente o OSX ou Linux, você teria que vender muitos jogos antes que menos de 4% do mercado valha o seu tempo, especialmente porque os desenvolvedores de jogos costumam se esforçar por um tempo para completar o recurso do produto.

inadequadoCode
fonte
3
... e isso também pressupõe que todos esses usuários paguem dinheiro comparável por jogos em média. Lembro-me das estatísticas para Android e Windows Phone, onde enquanto o Android tinha um compartilhamento de dispositivo muito maior, a receita direta (sem anúncios) era praticamente a mesma - e ambas eram pequenas em comparação com o iOS. Se você está vendendo um jogo, precisa saber quanto as pessoas estão dispostas a pagar. Fazer um jogo para um segmento de 0,7% do mercado que raramente compra jogos é uma loucura: D Provavelmente não valeria a pena, mesmo que o mecanismo fosse perfeitamente multiplataforma (sem truques estranhos nas diferentes plataformas).
Luaan 12/07/19
1
@Luaan De acordo com o Humble Bundle, a receita do Linux é um pouco menor que o Mac, embora o Mac seja três vezes mais popular. Talvez explicado pelo fato de que computadores Linux de ponta tendem a ter placas gráficas muito melhores do que os Macs do mesmo preço, porque os trade-offs dessas máquinas estão em outros lugares.
Stommestack
1
@JopV. O pacote humilde é um pouco complicado por causa do fator do pacote. Se eu me preocupo apenas com um jogo do pacote, não estou inclinado a pagar mais só porque recebo jogos extras que não jogarei (ou jogos pelos quais já paguei antes, às vezes várias vezes; sim, estou um pouco louco: P). Também pode haver um efeito do fato de o Linux ter sido amplamente ignorado para jogos até relativamente recentemente, portanto, alguém com um computador Mac ou Win pode já ter alguns dos jogos, embora possa ser o primeiro lançamento para Linux. Talvez. Eles também têm estatísticas da Humble Store?
Luaan 12/07/19
2
@Luaan Sempre que há um Humble Indie Bundle, existem algumas estatísticas na parte inferior da página, incluindo a quantidade total e média de dinheiro contribuído por sistema operacional. Eles permanecem razoavelmente consistentes em cada pacote.
Stommestack
14

As outras respostas aqui são boas, mas aqui está uma que não foi mencionada.

Estou com esse problema agora - minha equipe está prestes a lançar um jogo feito no Unity para Windows / Mac. Recebemos muitas perguntas sobre por que nosso jogo não está no celular. Existem 2 respostas principais:

1) Os telefones simplesmente não são poderosos o suficiente para acompanhar o jogo. Talvez possamos reduzir a fidelidade da arte (menos polígonos nos modelos, menos pixels nas texturas etc.), mas isso só vai tão longe. A maior parte do jogo precisaria ser reescrita para ser otimizada o suficiente para um telefone executá-lo. Tentamos, mas obtivemos apenas 0,5 quadros por segundo. Obviamente, não é jogável.

2) Entrada. Toda a interface do usuário foi projetada usando um mouse, e parte do jogo depende de saber onde o mouse está a qualquer momento. Todo o nosso mecanismo de entrada teria que ser reescrito para que o jogo ainda funcionasse sem saber onde está o mouse e convertendo várias ações de "toque" na tela em ações de "mouse" para obter a mesma funcionalidade. Como o usuário3797758 mencionado na resposta, isso exigirá que as coisas sejam reescritas para que as entradas "mouse" e "touch" possam ser alimentadas no mesmo sistema, e um bug em um não afetará o outro, e uma correção desse bug também não afetará o outro. Isso requer mais recursos do que minha equipe tem disponível no momento.

Também mencionado na resposta do usuário3797758, nem sequer temos suporte para Linux porque um de nossos pacotes falha nas máquinas Linux, mas funciona no Windows / Mac. Só porque o mecanismo é multiplataforma, não significa tudo o que é usado.

Cody
fonte
1
Meu telefone pode jogar o GTA Vice City sem problemas. Parece que seu mecanismo de renderização é ineficiente! :)
Lightness Races in Orbit
2
De qualquer forma esta resposta é mais sobre portar jogos para diferentes plataformas de hardware / paradigmas, e menos sobre OSs em um PC
Leveza raças em órbita
2
@LightnessRacesinOrbit bem, é Unity ... Realmente, porém, temos um efeito específico que é central para o jogo e realmente ineficiente. O cara que escreveu o livro se foi e não conseguimos encontrar uma maneira de torná-lo melhor. Assim é a vida ...
Cody
3
@JopV. Umm não. A história é uma pequena pouco mais complicado do que isso. Mas não há realmente nenhum ponto em discutir isso aqui. Vou apenas observar que o OpenGL é uma API de renderização 3D; O DirectX é muito mais amplo que isso. Se você precisar se engajar em um debate inútil, compare pelo menos o OpenGL com o Direct3D :) O OpenGL foi projetado para trabalhos 3D profissionais ("abrindo" o IrisGL proprietário). Que outra plataforma suportava o OpenGL naquela época? Não havia "dificultando o desenvolvimento de plataforma cruzada" - o Windows tinha suporte nativo ao OpenGL. O OpenGL nunca foi destinado a nada além de um trabalho profissional de ponta.
Luaan 13/07/19
2
os gpus de telefone são muito menos poderosos que os gráficos intel, pois possuem limites térmicos e de tamanho. Também muitas pessoas têm telefones que não suportam es OpenGL 3.0 para que apenas poucas pessoas serão capazes de usar seu aplicativo a menos que você reescrever seu jogo para OpenGL ES 2.0 primitiva
Suici Doga