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.
Respostas:
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
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
technique
nos.fx
arquivos 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.
fonte
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.
fonte
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).
fonte