Os desenvolvedores de jogos independentes devem ter como alvo o hardware mais antigo?

25

Um desenvolvedor com quem trabalho me diz que os desenvolvedores independentes devem direcionar para hardware com cerca de seis anos ou mais (nas configurações máximas). Eu tenho a ideia de que alguém deve permitir que todos que jogam seu jogo em uma taxa de quadros executável, independentemente da idade do seu hardware, mas os desenvolvedores independentes devem limitar-se a usar um estilo de arte com poucos recursos ou fazer seus jogos com hardware mais antigo em mente, principalmente porque "a maioria das pessoas que joga jogos independentes tem hardware antigo?"

Existe algum motivo para permitir que seu jogo seja executado nas configurações máximas de hardware muito antigo, mesmo que isso diminua as possibilidades gráficas para pessoas com hardware mais novo?

Existem estatísticas que mostram que os jogos que atingem seus limites gráficos facilmente com facilidade em hardware mais antigo são mais bem-sucedidos do que os jogos que aumentam seus limites gráficos mais altos com o custo de uma experiência 'menos que a melhor' para jogadores com hardware mais antigo ?

Qualquer visão sobre isso será muito apreciada.

eu'-
fonte
12
Isso depende do seu mercado-alvo
Vaughan Hilts
11
Você também deve pensar em hardware fraco, mas novo, além do antigo: tablets / netbooks. O modo de baixa qualidade pode atingir ambos os grupos e também ser portado para telefones. E lembre-se de que mesmo jogos com poucos recursos podem ser lentos se o código for lento (PC Minecraft, por exemplo). Código nunca é muito rápido;)
PTwr
@PTwr Lembra dos jogos para PC-AT e similares sem tempo? Aqueles ficaram muito rápidos com o hardware mais recente: D
Luaan
11
Meu PC tem 8 anos. A única atualização que ele viu foi adicionando um SSD de 40 GB há 4 anos. Eu ainda jogo WoW muito bem. O DayZ é executado em 1080p com a maioria das configurações ativadas. Eu tenho alguns mods gráficos para o Skyrim e ele ainda roda ~ 40-50 FPS a 1080p. Na verdade, tudo o que isso significa neste momento é que seu jogo independente não deve ter um desempenho pior do que os jogos AAA modernos.
11
Suspeito que "a maioria das pessoas que joga jogos independentes tenha hardware antigo" seja a afirmação mais facilmente reprovável feita por seu colega. De qualquer forma, porém, esta é uma decisão de negócios para o desenvolvedor, e nada mais: codificar para hardware mais antigo / mais lento é geralmente mais difícil e, portanto, custa mais para entregar. Eu diria que a declaração do seu colega está na mesma categoria que "todos os sites devem funcionar no IE6". É uma boa idéia, mas nem sempre é prática e muitas vezes dispendiosa para ser cumprida.
Dan Puzey

Respostas:

21

Nesta era, o hardware antigo tornou-se um nome impróprio. O hardware antigo não é necessário lentamente. 6 anos é 2009 e o DirectX11 já existia. Ainda não temos muitas novidades hoje.

Você precisa considerar duas coisas:

  • características
  • poder

características

Este é o nível de instruções que o hardware suportará, DirectX9,10,11 ou OpenGL, algo (isso depende dos drivers). E o conjunto de instruções da CPU: SSE4, AVX ..

Essa é a maior dor de cabeça geralmente no desenvolvimento, a escalabilidade enfrentada por aqueles é mais difícil do que a escalabilidade enfrentada pelo poder. O DirectX9 tinha algo chamado techniquenos .fxarquivos para retornar, para ambos os pontos. Mas, para instruções da CPU, você precisa de vários executáveis ​​ou grandes seções de ramificação no seu programa. Ou não os use.
Felizmente hoje, mesmo 6 anos é um período curto e você terá acesso a tudo o que precisa, mesmo em hardware "antigo".

poder

Este é o ponto que deve ser dimensionado, na máquina de hoje , e não na máquina de legados. O final de 2009 potencialmente apresenta uma geForce GTX280, é muito poderosa e muito mais poderosa do que a APU AMD A6-3650 da AMD ou algo assim.

É preciso entender a gigantesca lacuna de desempenho entre as máquinas low end e high end da máquina atual. Porque excede largamente a diferença de desempenho das suas máquinas de 6 anos na escala mais alta.

Portanto, não é uma consideração do mercado em relação à renovação, é uma consideração do mercado em relação ao orçamento de compra original. E se você precisar direcionar os laptops de hoje ou os desktops de ponta, precisará escalar de qualquer maneira e muito mais do que pensa.

Tente se preocupar com resolução, taxa de preenchimento de pixels e largura de banda da memória gráfica. Você joga com esses fatores, graças ao número de passes na tela, à largura do seu Gbuffer se tiver adiado o sombreamento (muito caro em máquinas de baixo custo), à resolução de suas texturas e à quantidade presente na tela a qualquer momento .. A riqueza de polígonos não será um problema, a menos que você esteja visando o hardware de 2002. A complexidade da shader ALU / FPU também não será um problema, a menos que você tenha como alvo o hardware 2005/2006.

v.oddou
fonte
4
No entanto, observe que o público-alvo alvo que compra cartões de vídeo de alta qualidade como o GTX280 é rico o suficiente para comprar um novo cartão desde então. As pessoas que hoje ainda usam uma placa de vídeo da era de 2009 provavelmente compraram um modelo de orçamento naquela época.
MSalters
3
Além disso, não se esqueça que seu jogo indie intenso e gráfico pode não estar disponível por um ano ou dois, para que você possa segmentar um hardware ainda menos antigo.
Valmond
10

Não me lembro onde a ouvi pela primeira vez, mas essa é uma regra prática antiga que não sustenta muitos pensamentos críticos. Na verdade, tudo se resume aos objetivos de negócios. Se você não planeja vender o jogo, não importa.

O fato é que quanto mais hardware você suportar, maior será o seu mercado potencial. No entanto, a maioria dos desenvolvedores independentes não terá os recursos para oferecer suporte a hardware de ponta, porque, para tirar proveito desse hardware, eles terão que gastar uma quantia justa em conteúdo . Qualquer desenvolvedor independente que precise se preocupar com isso geralmente tem os recursos para descobrir quais especificações do sistema precisam atingir e essas são as informações que você provavelmente pode comprar. O Steam, por exemplo, coleta essas estatísticas e provavelmente as revende para os desenvolvedores.

jzx
fonte
3
Eu fiz uma conta aqui apenas para comentar: O Steam não divulga essas informações livremente para todos?
Lamento
O @Regret jzx provavelmente está se referindo a um grupo demográfico mais direcionado e, portanto, restrito. Presumivelmente, as estatísticas brutas são distorcidas por sistemas secundários, jogos independentes, etc. O Steam provavelmente vende pacotes de informações para desenvolvedores que desejam verificar o hardware de sua demonstração de destino.
Lilienthal
Eu imagino que eles forneceriam gratuitamente se você estiver na plataforma Steamworks. Portanto, você teria acesso a esses dados se estiver lançando um jogo via Greenlight.
Topperfalkon
2

Como regra geral, quanto maior a variedade de hardware em que qualquer programa será executado, mais oportunidades você terá para vender uma cópia. Quanta variedade você pode suportar depende muito do jogo. Um jogo como o Dwarf Fortress pode ser facilmente escalável, tanto em termos de requisitos de processamento quanto de gráficos. Um FPS com física realista como Amnesia nem tanto. Minha sugestão seria escrever seu jogo para que ele possa ser executado na maior variedade possível de hardware e ainda assim proporcionar uma boa experiência. Você não precisa necessariamente suportar tudo isso imediatamente, mas ser capaz de reconfigurá-lo para um hardware mais novo / mais antigo / com uma simplicidade diferente facilmente pagará dividendos à medida que sua base de fãs cresce e à medida que a tecnologia avança.

Há duas coisas que facilitarão sua vida quando se trata de rodar o jogo em uma ampla variedade de dispositivos, e elas têm pouco a ver com a idade do hardware que você almeja (pelo menos diretamente):

1) Se possível, divida o back-end do front-end. Se a parte que faz as contas sobre quais peças estão fazendo o quê, onde tem uma interface bem definida para passar essas informações para a parte que as exibe na tela e recebe a entrada do usuário, você pode ajustar mais facilmente uma delas (geralmente o frontend ) para o novo hardware sem ter que mexer com o outro. Se escritos dessa maneira, muitos tipos de jogos podem receber frontends que variam de gráficos 3D de primeira linha, sprites animados em uma página da Web a caracteres de texto ASCII puros. Nesse ponto, você pode escolher qual implementar com base em quem você acha que comprará o jogo agora. E você pode expandir para novos esquemas de saída, pois as pessoas demonstram interesse - sem ter que mexer com o âmago do jogo.

2) Escreva o código portátil, tanto quanto possível. Dependendo do comportamento específico do DirectX 9.3c ou de qualquer outra coisa, você pode fazê-lo com mais rapidez, mas quando perceber que deve lançar uma versão para o Android, precisará refazer muito trabalho. Escolher bibliotecas e idiomas que não dependem de um único fornecedor e que seguem padrões abertos e bem definidos reduzirá seriamente sua carga de trabalho a longo prazo. Lembre-se: escrever um programa é geralmente uma pequena parte do trabalho em comparação com a manutenção do programa. (A menos que você esteja adotando o modelo de negócios da "obsolescência planejada", mas não é provável que você tenha uma grande base de fãs no longo prazo).

Perkins
fonte