Y a-t-il une raison d'ajouter des options pour ne pas utiliser des technologies avancées dans un moteur de jeu?

22

J'ai développé un moteur de jeu, et j'ai découvert et lu des technologies de jeu telles que le filtrage anisotrope, l'occlusion ambiante, l'anticrénelage, etc.

Habituellement, dans les jeux, vous pouvez activer ou désactiver ces paramètres. Cependant, si ces paramètres n'ajoutent que des éléments positifs, y a-t-il une raison d'ajouter des valeurs de bascule pour ceux-ci dans un moteur de jeu pour le développeur?

Je comprends que les performances sont un facteur majeur, mais y a-t-il une autre raison pour laquelle ces paramètres sont toujours disponibles pour changer?

Java Man Tea Man
la source
69
La performance seule n'est-elle pas une raison suffisante? Si le matériel d'un joueur ne peut pas prendre en charge toutes ces fonctionnalités à une fréquence d'images jouable, cela sonne à lui seul comme une raison impérieuse de leur permettre d'en désactiver certaines.
DMGregory
3
SI votre matériel ne peut pas gérer certains des effets, alors ils ne sont pas du tout positifs comme vous le dites ... En étant flexible sur ce que votre moteur peut et ne peut pas faire, plus de gens peuvent jouer à vos jeux / utiliser votre moteur. Réduire les graphismes tout en conservant le gameplay de base est pratique pour certaines personnes.
rlam12
3
Quake avait une option pour désactiver presque complètement les textures et les graphiques au minimum, de sorte que seuls les éléments de gameplay principaux soient rendus aussi rapidement que possible, offrant le gameplay le plus fluide au prix des visuels. Il y avait certainement une très bonne raison à cela.
user1306322
9
Le bobbing et le flou de mouvement peuvent littéralement me rendre malade dans certains jeux. De toute évidence, beaucoup de gens pensent qu'ils sont bons, car ils semblent être activés dans presque tous les jeux, mais je retournerais votre jeu avec une mauvaise critique si vous ne donniez pas la possibilité de les désactiver.
Patrick M
2
@PatrickM Affordances pour les joueurs qui souffrent de la maladie de la simulation sonne comme si cela ferait une autre bonne réponse à part entière. :)
DMGregory

Réponses:

49

Les performances sont généralement la principale raison pour laquelle ces fonctionnalités peuvent être activées et désactivées par l'utilisateur. Généralement, ils sont chers et en permettant aux utilisateurs de les désactiver, un développeur élargit l'ensemble des machines qui exécutent efficacement le jeu pour inclure davantage de machines bas de gamme. Cela se traduit par potentiellement plus de joueurs, et donc potentiellement plus de ventes (en supposant que ces joueurs puissent vivre avec la fidélité visuelle diminuée).

Ces fonctionnalités avancées peuvent également entraîner un impact plus important sur la durée de vie de la batterie ou la sortie du ventilateur, comme l'a souligné @Artelius, et les utilisateurs peuvent donc vouloir les désactiver pour ces raisons.

Enfin, il s'agit simplement de donner aux utilisateurs le choix de ce qu'ils préfèrent. Certaines personnes peuvent ne pas aimer l'apparence de l'anticrénelage ou la désactivation de v-sync peut provoquer un déchirement de l'écran. Ou pour un exemple plus pratique, considérez Pillars of Eternity, qui a une option pour activer ou désactiver les ligatures de police. Ceux -ci ne coûtent probablement pas beaucoup en termes de performances d'exécution, mais certains utilisateurs peuvent trouver le texte plus difficile à lire avec eux. Ou (comme le souligne @SeanMiddleditch), on peut vouloir désactiver une fonctionnalité car elle est boguée sur une machine individuelle. Ou on peut vouloir désactiver une fonctionnalité pour obtenir un avantage concurrentiel (par exemple en désactivant des effets visuels bruyants qui distraient de la mécanique).


la source
12
Une autre raison pour laquelle les utilisateurs souhaitent désactiver les effets de calcul coûteux est de conserver la durée de vie de la batterie ou de réduire la chaleur et le bruit du ventilateur.
Artelius
14
En tant que note de bas de page, il est important de se rappeler quels paramètres peuvent être désactivés lorsque vous concevez un équilibre / des fonctionnalités de jeu critiques. Pendant un certain temps, les grenades fumigènes ennemies dans BF4 pourraient être annulées en désactivant une option graphique. Oops.
Jon
26
Une autre raison est de permettre des solutions de contournement pour les bogues. Le matériel particulier d'un utilisateur peut planter ou mal interpréter une scène avec la mise en œuvre du jeu d'un certain effet de post-traitement, par exemple, ou une utilisation accrue de la mémoire de paramètres plus élevés peut entraîner des plantages sur certaines machines et pas seulement une perte de performance. J'ai eu un cas de GPU qui surchauffait facilement et qui était en mesure de réduire les paramètres jusqu'à ce que j'obtienne un nouveau GPU pour éviter les plantages / réinitialisations de pilotes de GPU.
Sean Middleditch
1
The Witcher 3 est un excellent exemple avec HairWorks. Mis à part les performances, il y a beaucoup de gens qui voudraient l'activer pour tout sauf Geralt (le personnage du joueur). Ils disent que HairWorks rend les animaux superbes, mais en même temps, cela rend les cheveux de Geralt horribles. Je m'en fiche de toute façon, mais je peux voir pourquoi ils se sentent de cette façon.
Nolonar
2
Je désactive de nombreux effets "fluff" pour pouvoir me concentrer sur le jeu lui-même. Souvent, les objets sont cachés au sol dans l'herbe et les arbustes. Ces herbes disparaissent ou sont plus statiques / plus minces sur les paramètres graphiques inférieurs, ce qui me permet de voir les éléments au sol. Les effets des sorts rendent également difficile de viser les petites créatures volantes, donc avoir des effets de sorts plus faibles rend le nuage de particules plus petit et se dissipe plus rapidement. Une autre raison est que l'abaissement des détails gore me donne un peu de temps tampon si mes 5 ans valsent à l'improviste.
corsiKa
11

Comme l'a déjà souligné Josh Petrie, la préoccupation la plus importante est la performance. Non seulement vous ne pouvez pas savoir à quel point le matériel des utilisateurs finaux est puissant, mais lorsque vous construisez un moteur, vous ne savez même pas comment les gens vont l'utiliser. Peut-être que les développeurs de jeux veulent créer un jeu qui met tellement de polygones à l'écran que même le meilleur matériel ne peut pas le rendre en temps réel sans désactiver les effets? Mais gérer cela automatiquement n'est peut-être pas une bonne idée non plus: peut-être que les développeurs veulent décider quels effets désactiver sur quels objets.

Mais en plus de la performance, elle peut aussi être un souci esthétique.

Par exemple, passer d'un filtrage anisotrope à une interpolation du plus proche voisin et utiliser des textures basse résolution ou des images-objets à l'échelle conduit à un look pixel art nostalgique. Un exemple populaire d'un jeu qui fait cela est Minecraft. Et bien sûr les nombreux jeux qui copient son esthétique. Non pas parce qu'ils ne savent pas faire mieux, mais parce qu'ils ne le veulent pas.

Philipp
la source
3
Mais si un jeu était conçu pour être pixélisé ... pourquoi donneriez-vous à l'utilisateur la possibilité de changer cela? Est-ce que Minecraft a réellement un moyen d'activer le filtrage linéaire?
Nicol Bolas
6
@NicolBolas La question demandait "y a-t-il une raison d'ajouter des valeurs de bascule pour celles-ci dans un moteur de jeu pour le développeur ". Dans interprété cela comme une question sur la perspective des développeurs.
Philipp
1
Pour moi, la question semble clairement centrée sur l' utilisateur face à des "valeurs de bascule", pas sur les paramètres réels des paramètres in-OpenGL / D3D / etc. C'est-à-dire «pour le développeur» fait référence aux développeurs qui ajoutent l'option orientée utilisateur, et non aux développeurs utilisant les API.
Nicol Bolas
5

Bien sûr, la performance. Certains effets tels que les rayons crépusculaires, la profondeur de champ et la floraison sont très éprouvants pour les fps, en particulier dans les anciens GPU. Un autre bon moyen de gagner des fps supplémentaires est de réduire ou de désactiver les reflets et les ombres. Aussi - pour répéter le point Artelius - les effets visuels affecteront également la durée de vie de la batterie.

Par ailleurs:

  • Certains effets peuvent être glitchy. Toutes les machines ne sont pas égales, et certains GPU peuvent mal gérer votre code ... avoir un moyen de désactiver les effets est bon pour les joueurs souffrant de tels cas, et est bon pour les développeurs pour faciliter le débogage.
  • Certains effets peuvent handicaper le gameplay. En particulier des effets qui masquent des détails, tels que la profondeur de champ, le flou de mouvement et, dans une moindre mesure, le filtrage anisotrope et l'anticrénelage.
  • Certains effets peuvent être gênants / distrayants. Cela m'arrive avec la profondeur de champ, lorsque le focus change, cela attire littéralement l'attention.
  • Certains effets doivent être pris en compte pour les options d'accessibilité. C'est le cas de View Bobbing et Motion Blur, ceux-ci peuvent rendre certaines personnes malades, sans blague.
  • Certains effets doivent être pris en compte pour le contrôle parental. Désactiver les effets des particules sanguines et similaires - au moins cela aide avec les revues de jeu parentales.

Modded Minecraft est vraiment un bon terrain de jeu pour cela. Minecraft rend des morceaux entiers, donc son nombre de polygones est supérieur à ce qu'il semble être. Ajoutez à cela les complications de la suppression de morceaux sur une poubelle collectée et dépourvue de langage de pointeur tel que Java [1], et vous pouvez vous attendre à des problèmes de performances - en particulier, dans l'ancien matériel, comme toujours. Certaines personnes exigeaient de meilleurs graphismes, tandis que d'autres souhaitaient de meilleures performances. Et donc, des mods tels que GLSL Shaders Mod et Optifine ont vu le jour, ajoutant des options graphiques supplémentaires - bien qu'à des fins différentes - ils sont compatibles [2], si vous avez la possibilité de les utiliser, vous pouvez expérimenter sur les effets de performance du effets visuels.

[1]: Microsoft a créé un port C ++ de Minecraft pour Windows 10 - basé sur l'édition de poche - il fonctionne beaucoup mieux que les anciennes versions de Java. Cela ne signifie pas que Java ne peut pas fonctionner, ce n'est pas seulement un symptôme d'être C ++ mais aussi d'être Microsoft.

[2]: En fait, ces mods ont fusionné avec Minecraft 1.8.9 - Optifine absorbé GLSL Shaders Mod .


Et vous dites que vous développez un moteur de jeu , vous vous attendez donc à ce que votre code ait une chance d'être réutilisé pour de nombreux jeux différents. C'est une bonne idée de permettre au développeur du jeu de décider s'il souhaite utiliser ces effets et s'il souhaite fournir des options pour les désactiver ou non. Tous les effets peuvent ne pas avoir de sens pour tous les jeux, et certains jeux peuvent dépendre de certains effets.

Considérez que certains jeux utiliseront ces effets pour créer une ambiance, pour transmettre des informations au joueur, ou tout simplement pour une licence artistique.

En particulier, il est difficile d'utiliser des effets visuels pour essayer de donner l'apparence d'une caméra à la place de l'œil humain. Ceci est tenté en utilisant des effets tels que les aberrations chromatiques, les reflets de l'objectif, le grain du film et d'autres effets "cinématiques". Ceux-ci ne conviennent pas à tous les jeux et ne doivent donc pas être imposés par le moteur de jeu.

On peut dire que la plupart de ces opérations, sinon toutes, sont effectuées dans des shaders, laissez votre moteur de jeu permettre au développeur de télécharger leurs shaders.


Remarque sur les options d'accessibilité: de nombreux jeux vidéo ne tiennent pas compte des personnes sourdes. Fournir des informations uniquement de manière auditive peut ne pas être suffisant. Ajouter des effets visuels pour refléter des choses telles que la direction du tir entrant ou la présence d'ennemis proches (que vous "pouvez entendre") est une bonne idée [3]. Et bien sûr, sous-titrage. Aussi, sachez qu'il y a des personnes daltoniennes ... ces articles qui ne se distinguent que par la couleur ... oui, considérés comme une refonte.

[3]: Vous ne savez tout simplement pas quelle douleur sont ces lianes dans Minecraft, quand vous ne pouvez même pas entendre un sifflement. Ils deviennent aléatoires instadeath.

Plus vous en savez ★

Theraot
la source
2
+1 pour la note sur les options d'accessibilité! J'ai moi-même une bonne audition, mais à l'époque où je commençais avec les jeux vidéo, je ne parlais pas bien l'anglais. Avoir du texte écrit en plus des sons peut être extrêmement utile lorsque vous n'êtes pas sûr de ce qui se passe.
AndrejaKo
5

Quelque chose qui n'a pas encore été mentionné par d'autres:

La désactivation des fonctionnalités graphiques peut être une solution de contournement valide pour les problèmes avec une certaine configuration , sans rapport avec les performances.

Juste un exemple, certaines options graphiques ne fonctionnent tout simplement pas correctement avec un moteur de rendu donné lors de l'exécution d'un jeu Windows sur Wine (la couche de compatibilité Windows pour Linux).

Pour un certain jeu (intentionnellement anonyme), je dois réduire le filtrage à trilinéaire et désactiver les réflexions. Non pas parce que ma plate-forme n'est pas à la hauteur (c'est certainement le cas), mais à cause des problèmes de rendu et des plantages si je ne le fais pas.

Dans un autre jeu, vous deviez désactiver les effets de «brouillard» pour toute plate-forme exécutant des cartes nVidia (même sur Windows natif), car elles rendaient toujours le brouillard 100% opaque.


Quelque chose qui est mentionné dans d'autres réponses / commentaires, mais qui est en fait une raison pour ne pas rendre certains paramètres (comme la densité du feuillage, gras) facultatifs:

Visibilité des adversaires dans les jeux compétitifs.

Si les joueurs peuvent obtenir un avantage concurrentiel en définissant le "look" de votre jeu sur "vraiment mauvais", vous blessez l'expérience de jeu de deux manières:

  • les joueurs compétitifs ne verront qu'un jeu de "mauvaise apparence";
  • les joueurs récréatifs seront désavantagés (potentiellement significatifs) sans rapport avec les compétences, simplement parce qu'ils préfèrent un beau jeu.

Évitez cela si possible. Faites en sorte que le gras et le feuillage soient maladroits pour les plates-formes à faible performance, mais assurez-vous que les paramètres inférieurs ne donnent pas d'avantage au gameplay.

DevSolar
la source
4

Clarté de vue dans les jeux compétitifs

Les joueurs des jeux en ligne compétitifs peuvent préférer une vue plus simple ou plus claire à une vue plus belle même si les performances ne sont pas un problème - de nombreuses options visuelles ajoutent du réalisme visuel mais obscurcissent les choses que les joueurs veulent réellement voir.

Il se peut facilement que dans votre jeu, il soit plus facile de remarquer ou de cibler un ennemi si vous configurez le client de jeu pour désactiver toutes sortes d'herbe ou de feuilles supplémentaires, les effets spéciaux, la fumée / le brouillard / le feu, etc. Cela place les joueurs qui permettent une telle désavantages.

Peter est
la source
2
Ça me rappelle la rouille: Éteignez l'herbe et il n'y a plus de place pour se cacher!
Gigala
3
Cette réponse donne une très bonne raison de ne pas rendre ces paramètres facultatifs. Je ne devrais pas avoir à choisir entre "beau" et "compétitif". La compétitivité ne doit pas être ajustable, et certainement pas par le même curseur qui décide des looks.
DevSolar
@DevSolar ne le rendant pas optionnel ne le rend pas possible cependant (par exemple wallhacking)
Joel Bosveld
@JoelBosveld: Éviter le wallhacking etc. n'a rien à voir avec la question du PO, cependant. Rendre le feuillage facultatif ...
DevSolar
-1

Les autres réponses sont bonnes, mais je pense qu'elles manquent de bons exemples d'effets réels que vous voudrez peut-être désactiver.

Pour moi, le "flou de mouvement" vraiment bon marché et horrible que, par exemple, GTA3 avait, a rendu le jeu pire. Heureusement, je pouvais l'éteindre.

Je ne l'ai pas joué, mais ce que j'ai vu de GTA5 est une autre solution assez hacky que je désactiverais si j'essayais GTA5. (voir https://www.youtube.com/watch?v=VjIhl8hbO18 )

NiklasJ
la source