Desenvolvo um mecanismo de jogo e tenho descoberto e lido sobre tecnologias de jogos como filtragem anisotrópica, oclusão ambiental, anti-aliasing, etc.
Geralmente em jogos, você pode ativar e desativar essas configurações. No entanto, se essas configurações adicionarem apenas positivos, há um motivo para adicionar valores de alternância para eles em um mecanismo de jogo para o desenvolvedor?
Entendo que o desempenho é um fator importante, mas há alguma outra razão pela qual essas configurações estão sempre disponíveis para alteração?
graphics-programming
scalability
Java Man Tea Man
fonte
fonte
Respostas:
O desempenho é geralmente o principal motivo pelo qual esses recursos podem ser ativados e desativados pelo usuário. Geralmente, eles são caros e, ao permitir que os usuários os desativem, um desenvolvedor amplia o conjunto de máquinas que executam o jogo efetivamente para incluir mais máquinas de gama baixa. Isso se traduz em potencialmente mais jogadores e, portanto, potencialmente mais vendas (supondo que esses jogadores possam viver com a fidelidade visual reduzida).
Esses recursos avançados também podem afetar a vida útil da bateria ou a saída do ventilador, como apontou o @Artelius, e os usuários podem querer desativá-los por esses motivos.
Por fim, é simplesmente fornecer aos usuários uma escolha sobre o que eles preferem. Algumas pessoas podem não gostar da aparência do anti-aliasing ou de como desativar o v-sync pode causar rasgos na tela. Ou, para um exemplo mais prático, considere Pilares da Eternidade, que tem uma opção para ativar ou desativar as ligaduras de fontes. Isso provavelmente não custa muito em termos de desempenho em tempo de execução, mas alguns usuários podem achar o texto mais difícil de ler com eles. Ou (como o @SeanMiddleditch aponta), pode-se querer desativar um recurso porque é um bug em uma máquina individual. Ou pode-se querer desativar um recurso para obter uma vantagem competitiva (como desativar efeitos visuais ruidosos que desviam a atenção da mecânica).
fonte
Como Josh Petrie já apontou, a preocupação mais importante é o desempenho. Você não apenas pode saber o quão poderoso é o hardware dos usuários finais, quando você está construindo um mecanismo, nem sabe como as pessoas o usarão. Talvez os desenvolvedores de jogos desejem criar um jogo que coloque tantos polígonos na tela que nem o melhor hardware possa renderizá-lo em tempo real sem desligar os efeitos? Mas lidar com isso automaticamente também pode não ser uma boa ideia: talvez os desenvolvedores desejem decidir quais efeitos serão desabilitados em quais objetos.
Mas, além da performance, também pode ser uma preocupação estética.
Por exemplo, alternar da filtragem anisotrópica para a interpolação do vizinho mais próximo e usar texturas de baixa resolução ou sprites de alta escala leva a uma aparência nostálgica de pixel art. Um exemplo popular de um jogo que faz isso é o Minecraft. E, claro, os muitos jogos que copiam sua estética. Não porque eles não sabem como melhorar, mas porque não querem.
fonte
Claro, desempenho. Alguns efeitos, como Raios crepusculares, Profundidade de campo e Bloom, exigem muito dos fps, principalmente nas GPUs mais antigas. Também uma boa maneira de obter alguns fps extras é reduzir ou desativar reflexos e sombras. Além disso - para repetir o ponto Artelius - os efeitos visuais também atingem a duração da bateria.
Além disso:
O Minecraft modificado é realmente um bom playground para isso. O Minecraft renderiza pedaços inteiros, portanto, sua contagem de polígonos é maior do que parece ser. Acrescente a isso as complicações de descartar pedaços em um lixo coletado e desprovido de linguagem de ponteiro como Java [1], e você pode esperar alguns problemas de desempenho - em particular no hardware antigo, como sempre. Algumas pessoas exigiam melhores gráficos, enquanto outras queriam melhor desempenho. E assim, mods como GLSL Shaders Mod e Optifine surgiram, ambos adicionando opções gráficas extras - embora para fins diferentes - eles são compatíveis [2], se você tiver a chance de usá-los, poderá experimentar os efeitos de desempenho do efeitos visuais.
[1]: A Microsoft criou uma porta C ++ do Minecraft para Windows 10 - com base na edição de bolso - e tem um desempenho muito melhor que as versões Java mais antigas. Isso não significa que o Java não possa executar, isso não é apenas um sintoma de ser C ++, mas também de ser Microsoft.
[2]: Na verdade, esses mods foram mesclados para o Minecraft 1.8.9 - Optifine absorveu o GLSL Shaders Mod .
E você diz que está desenvolvendo um mecanismo de jogo ; portanto, espera que seu código seja reutilizado em muitos jogos diferentes. É uma boa idéia permitir que o desenvolvedor do jogo decida se deseja usar esses efeitos e se deseja fornecer opções para desativá-los ou não. Nem todos os efeitos podem fazer sentido para todos os jogos, e alguns podem depender de alguns efeitos.
Considere que alguns jogos usarão esses efeitos para criar um clima, transmitir informações ao jogador ou apenas para uma licença artística.
Em particular, há a tentativa de usar efeitos visuais para tentar parecer com uma câmera em vez do olho humano. Isso é feito usando efeitos como Aberrações cromáticas, reflexos de lente, granulação de filme e outros efeitos "cinematográficos". Eles não são adequados para todos os jogos e, portanto, não devem ser impostos pelo mecanismo do jogo.
Provavelmente, a maior parte disso - se não tudo - é feita em shaders, deixe seu mecanismo de jogo permitir que o desenvolvedor faça o upload de shaders.
Uma observação sobre as opções de acessibilidade: muitos videogames desconsideram os surdos. Fornecer informações apenas de maneira auditiva pode não ser bom o suficiente. Adicionar efeitos visuais para refletir coisas como a direção do fogo recebido ou a presença de inimigos próximos (que você "pode ouvir") é uma boa idéia [3]. E, claro, legenda. Além disso, lembre-se de que existem pessoas com daltonismo ... aqueles itens que apenas se distinguem pela cor ... sim, considerados um redesenho.
[3]: Você simplesmente não sabe que dor são essas trepadeiras no Minecraft, quando você não consegue ouvir nem um silvo. Eles se tornam instadicamente aleatórios.
Quanto mais você sabe ★
fonte
Algo ainda não mencionado por outros:
Desabilitar os recursos gráficos pode ser uma solução válida para problemas com uma determinada configuração , não relacionada ao desempenho.
Apenas um exemplo, algumas opções gráficas simplesmente não funcionam corretamente com um mecanismo de renderização especificado ao executar um jogo do Windows no Wine (a camada de compatibilidade do Windows para Linux).
Para um determinado jogo (intencionalmente sem nome), preciso ajustar a filtragem para trilinear e desativar os reflexos. Não porque meu equipamento não é adequado (certamente), mas por causa de falhas e falhas de renderização, se não o fizer.
Em outro jogo, você precisava desativar os efeitos de "neblina" para qualquer plataforma que execute placas nVidia (mesmo no Windows nativo), porque elas sempre tornavam a neblina 100% opaca.
Algo que é mencionado em outras respostas / comentários, mas é realmente um motivo não para fazer algumas configurações (como densidade de folhas, GRAS) opcional:
Visibilidade dos adversários em jogos competitivos.
Se os jogadores puderem obter uma vantagem competitiva definindo a "aparência" do seu jogo como "muito ruim", você estará prejudicando a experiência do jogo de duas maneiras:
Evite isso, se possível. Faça gras e folhagem parecerem desajeitadas para equipamentos de baixo desempenho, mas verifique se as configurações mais baixas não oferecem uma vantagem de jogo.
fonte
Clareza de visão em jogos competitivos
Jogadores em jogos on-line competitivos podem preferir uma visão mais simples ou clara a uma visão mais bonita, mesmo que o desempenho não seja uma preocupação - muitas opções visuais acrescentam realismo visual, mas obscurecem o que os jogadores realmente querem ver.
Pode ser que, no seu jogo, seja mais fácil notar ou direcionar um inimigo se você configurar o cliente para desativar todos os tipos de grama ou folhas extras, efeitos especiais, fumaça / névoa / fogo, etc. Isso coloca os jogadores que habilitam tais efeitos em desvantagem.
fonte
As outras respostas são boas, mas acho que elas não têm bons exemplos de efeitos reais que você pode querer desativar.
Para mim, o "borrão de movimento" realmente barato e horrível que, por exemplo, o GTA3 fez, piorou o jogo. Felizmente eu poderia desligá-lo.
Ainda não joguei, mas o que eu vi no GTA5 é outra solução bastante hacky que eu desativaria se tentasse o GTA5. (consulte https://www.youtube.com/watch?v=VjIhl8hbO18 )
fonte