Pourquoi les jeux construits sur des moteurs multiplateformes sont-ils parfois exclusifs à Windows?

99

Si un moteur prend en charge Windows, OS X et Linux, pourquoi voyons-nous parfois des jeux utilisant ces moteurs, comme Space Hulk: Deathwing , restreint à Windows?

Nathan
la source
25
Cela signifie qu'il peut être construit multi-plateforme, cela ne signifie pas qu'il ne nécessite aucun effort supplémentaire.
Marsh
La simple raison est que la grande majorité de ce type de jeu se fait sur PC.
Fattie

Réponses:

150

Raisons techniques:

  • Plate-forme spécialement conçue pour le jeu : lorsque certains développeurs créent leurs jeux, ils peuvent parfois compter sur des fonctions spécifiques à la plate-forme. Bien que le moteur de jeu puisse créer le jeu pour plusieurs plates-formes, le code non spécifique au jeu peut émettre un appel spécifique à Windows qui n'existe pas sur d'autres plates-formes ou qui nécessite de refaire une partie difficile du jeu (services de licence, etc.). Systèmes de sauvegarde de fichiers, etc.).
  • Manque de machines capables : Pendant longtemps, la plupart des ordinateurs Apple n’avaient pas assez de puissance graphique pour exécuter la plupart des jeux. Alors, pourquoi publier quelque part où les utilisateurs auront probablement une mauvaise expérience? Cela évolue lentement, grâce à une meilleure intégration des graphiques, mais cela pourrait quand même expliquer pourquoi certains utilisent uniquement Windows.
  • Compatibilité plugin / bibliothèque : les développeurs de jeux peuvent utiliser des bibliothèques tierces pour accélérer le développement ou utiliser un code standard / validé par l'industrie (bibliothèques SSL, de sérialisation, etc.). Si ceux-ci ne prennent pas en charge la plate-forme X, le jeu ne fonctionnera probablement pas de manière fiable, aussi sont-ils exclus.
  • Augmentation de l'assurance qualité : pendant le développement du jeu, une petite sous-section de l'équipe garantit qu'il n'y a pas de bugs et que le jeu respecte les normes de performance. Une fois que vous avez ajouté une plate-forme, le jeu doit essentiellement être testé deux fois! Les parties génériques du jeu pourraient être laissées seules, mais il reste encore beaucoup de tests à faire avant la sortie. Cela peut également entraîner une augmentation des coûts, non seulement avec le temps supplémentaire nécessaire, mais également avec du matériel spécialisé, en fonction de la plate-forme (Apple, Xbox, PlayStation, Téléphones, etc.).
  • Soutien accru : au fur et à mesure que les jeux sortiront, ils auront des bugs (certains jeux plus que d'autres). Au fur et à mesure que vous ajoutez de nouvelles plates-formes, la quantité de support que le développeur doit faire après la publication augmente. Les bogues spécifiques à la plate-forme devront être corrigés d'une manière qui le corrige pour la plate-forme endommagée et n'affectant pas les plates-formes qui ne sont pas affectées. Si une plate-forme change, par exemple, Windows 7 à 8 ou une itération OSX, il faudra un certain niveau d'assurance de la qualité pour s'assurer qu'il n'y a pas de bugs dans la version la plus récente. Et, s’il en existe, c’est une autre plate-forme qui doit être prise en charge parallèlement à l’ancienne version. Cela peut avoir un impact considérable sur les coûts, en particulier après le lancement du jeu (si le jeu ne rapportait pas beaucoup d’argent), 3 à 6 mois après sa sortie.

Raisons non techniques:

  • Accord de l'éditeur : Certains développeurs auront des accords avec le détenteur de la plate-forme leur permettant de publier spécifiquement sur leur plate-forme. Bien que cela se produise davantage avec les consoles, cela pourrait également être le cas pour les plates-formes PC (par exemple, Windows).
  • Premier développeur : certains développeurs appartiennent au détenteur de la plate-forme et ne sont pas autorisés à publier leurs jeux sur des plates-formes spécifiques. Vous ne verrez probablement pas Halo sur PS4 ou Forza sur Mac.
  • Absence d'audience : les développeurs disposent de nombreuses statistiques sur les tendances de consommation sur des plates-formes spécifiques, en particulier si leurs grands éditeurs disposent de nombreuses données. S'ils disposent d'informations indiquant que 90% de leur public cible est sous Windows, ils pourraient ne pas s'embêter à publier sur d'autres plates-formes pour tenter de réduire les bugs potentiels et / ou de garder le contenu marketing ciblé.
  • Ne répond pas aux exigences de la plate-forme : Certaines plates-formes telles que l'App Store d'Apple ont des exigences strictes en matière de mise en page et de conception qui doivent être suivies pour être publiées. Si un jeu ne répond pas à ces exigences pour une plate-forme de distribution particulière, le temps d'ingénierie nécessaire pour l'adapter et le publier ne vaut peut-être pas la peine d'être libéré s'il ne reste pas suffisamment de ventes prévues.
  • Manque d’expérience avec une plate-forme : si le développeur a uniquement travaillé avec Windows (et qu’il n’ya que peu d’expérience d’autres systèmes), il peut être très difficile d’apprendre les petites différences qui peuvent causer des problèmes de développement tardif ou il se peut que le budget ne soit pas suffisant pour engager du nouveau personnel et prendre en charge une compilation Linux / OSX.
  • Coût de marketing : si deux plates-formes ont des audiences ou des groupes d'âge différents, le matériel de marketing de l'une d'elles peut ne pas atteindre l'autre, ce qui signifie qu'il faut dépenser plus d'argent en marketing. Si les deux groupes nécessitent un marketing différent, vous devez tous le recréer en tenant compte du nouveau public cible. Le marketing peut devenir extrêmement coûteux, en particulier avec de grandes versions. Plus les plateformes ont besoin de marketing, plus les coûts augmentent.

Je suis sûr qu'il y en a plus. Ce ne sont que quelques-uns des points forts de ma tête. J'espère que cela t'aides.

utilisateur3797758
la source
26
C'est une bonne réponse, mais je pense qu'il vous manque un autre élément important: le coût des tests / assurance qualité. Les moteurs multiplateformes ne cachent jamais parfaitement les différences entre les plates-formes; il est donc essentiel de tester toutes les plates-formes cibles. Il peut y avoir des bogues n'apparaissant que sur une seule plate-forme ou des différences de performances significatives liées à différentes implémentations sur différentes plates-formes. Il peut également y avoir des différences de comportement dans les fonctionnalités supposées être multi-plateformes. Vous avez besoin de plus de temps d'assurance qualité et de fournir du matériel supplémentaire aux testeurs. Certains développeurs auront besoin de matériel et de logiciels supplémentaires.
mattnewport
2
Je pensais avoir couvert cela dans la section manque d'expérience .... mais je peux l'ajouter :) toujours mieux d'être bien
user3797758
5
Je conviens avec @mattnewport que le coût est sous- estimé - il peut être très fastidieux de développer, construire, tester, déboguer, rincer, répéter pour de multiples plateformes. Il est déjà assez difficile de tester correctement différentes configurations matérielles pour une seule plate-forme!
ca
3
En outre, le "soutien" est parfois grandement exagéré. De nombreux moteurs "prennent en charge" Windows, mais vous devez installer Visual Studio, Python, Perl, Cygwin et Msys et 5 versions de MinGW et des giga-octets de bibliothèques pour pouvoir l'utiliser.
AndreKR
2
"Les développeurs disposent de nombreuses statistiques sur les tendances de consommation sur des plates-formes spécifiques" - bien sûr, les utiliser pour déterminer les plates-formes à soutenir techniquement est une prophétie qui se perpétue d'elle-même.
OU Mapper
30

Parce qu'être disponible ne veut pas dire être gratuit et instantané.

La prise en charge d’un système d’exploitation supplémentaire, dans sa forme la plus simpliste, signifie une plate-forme de plus à laquelle fournir un support technique.

Plus vous prenez en charge de plates-formes = Plus vous avez besoin de plates-formes de soutien = Consacrez plus de temps à l'assistance = Perdez du temps de travail qui aurait pu être consacré à l'amélioration de votre jeu.

Soutenir une plate-forme revient à croire que si votre jeu peut attirer suffisamment de joueurs sur cette plate-forme cible, il compense le temps que vous passez à fournir du support à cette plate-forme.

S. Tarık Çetin
la source
2
De plus, le développement de places de marché (App store, Steam, Google Play) et d’intégrations spécifiques à une plate-forme, en particulier dans le département social, représente une perte de travail. (amis, partage, authentification)
CostelloNicho
18

Il y a de bonnes réponses jusqu'à présent, mais allons au fond des choses.

Selon l'enquête sur le matériel réalisée par Steam en juin 2017, 96,24% des utilisateurs de l'échantillon utilisaient Windows. Parmi les utilisateurs de Windows, 87,37% sont soit Windows 10, soit 7, 64 ou 32 bits. Les variantes OSX représentent 2,95% des utilisateurs et les variantes Linux, 0,72%.

Le temps, c'est de l'argent. Sauf si votre marché est un créneau ciblant spécifiquement OSX ou Linux, vous devez vendre beaucoup de jeux avant que <4% du marché en vaille la peine, d'autant plus que les développeurs de jeux sont généralement à court de ressources pour compléter la fonctionnalité de leurs produits.

code inapproprié
la source
3
... et cela suppose également que tous ces utilisateurs paient une somme comparable pour les jeux en moyenne. Je me souviens des statistiques pour Android par rapport à Windows Phone, où, alors qu'Android disposait d'un partage d'appareil beaucoup plus important, les revenus directs (sans publicité) étaient à peu près les mêmes - et les deux étaient minuscules par rapport à iOS. Si vous vendez un jeu, vous devez savoir combien de personnes sont disposées à payer. Fabriquer un jeu pour un segment de marché de 0,7% qui achète rarement des jeux est un véritable penchant: D Cela ne vaudrait probablement pas la peine, même si le moteur était parfaitement multi-plateforme (pas de pièges bizarres sur les différentes plateformes).
Luaan
1
@Luaan Selon Humble Bundle, les revenus de Linux sont légèrement inférieurs à ceux de Mac, même si Mac est trois fois plus populaire. Cela s'explique peut-être par le fait que les ordinateurs Linux haut de gamme ont tendance à avoir de bien meilleures cartes graphiques que les Mac du même prix, car les compromis de ces machines sont ailleurs.
Stommestack
1
@JopV. Le paquet humble est un peu délicat à cause du facteur paquet. Si je ne me soucie que d’un seul jeu du lot, je ne suis pas enclin à payer davantage simplement parce que j’ai des jeux supplémentaires que je ne jouerai pas (ou des jeux pour lesquels j’ai déjà payé, parfois plusieurs fois; oui, je suis un peu fou: P). Le fait que Linux ait été largement ignoré des jeux jusqu’à relativement récemment pourrait également avoir un effet, de sorte que les utilisateurs de Mac ou de Win pourraient déjà disposer de certains jeux, alors qu’il pourrait s’agir de la première version pour Linux. Peut être. Ont-ils également des statistiques du magasin Humble?
Luaan
2
@Luaan Chaque fois qu'il y a un Humble Indie Bundle, des statistiques apparaissent au bas de la page, notamment le montant total et moyen des contributions versées par OS. Ils restent assez cohérents à chaque paquet.
Stommestack
14

Les autres réponses ici sont bonnes, mais en voici une qui n’a pas été mentionnée.

J'ai ce problème en ce moment. Mon équipe est sur le point de lancer un jeu créé sous Unity pour Windows / Mac. Nous avons beaucoup de questions sur la raison pour laquelle notre jeu n'est pas sur mobile. Il y a 2 réponses principales:

1) Les téléphones ne sont tout simplement pas assez puissants pour suivre le rythme. Peut-être pourrions-nous réduire la fidélité de l’art (moins de polygones dans les modèles, moins de pixels dans les textures, etc.), mais cela ne va pas très loin. La majeure partie du jeu devrait être réécrite afin d'être suffisamment optimisée pour qu'un téléphone puisse l'exécuter. Nous l'avons essayé, mais nous n'avons obtenu qu'environ 0,5 image par seconde. Évidemment, pas jouable.

2) entrée. Toute l'interface utilisateur a été conçue autour d'une souris et une partie du jeu dépend de la localisation de la souris à un moment donné. Tout notre mécanisme de saisie devrait être réécrit pour que le jeu fonctionne toujours sans savoir où se trouve la souris, et traduire diverses actions "tactiles" à l'écran en actions "souris" pour obtenir les mêmes fonctionnalités. Comme pour l'utilisateur 3797758 mentionné dans sa réponse, il faudra réécrire les éléments pour que les entrées "souris" et "tactile" puissent être introduites dans le même système, et qu'un bogue dans l'un n'affectera pas l'autre, et qu'une correction de ce bogue aussi n'affectera pas l'autre. Cela nécessite plus de ressources que ne le fait mon équipe.

Également mentionné dans la réponse de user3797758, nous ne prenons même pas en charge Linux car l'un de nos packages se bloque sur les machines Linux, mais fonctionne sous Windows / Mac. Ce n'est pas parce que le moteur est multiplateforme que tout ce qui l'utilise est efficace.

Cody
la source
1
Mon téléphone peut jouer à GTA Vice City sans problème. On dirait que votre moteur de rendu est inefficace! :)
Courses de légèreté en orbite
2
Quoi qu'il en soit, cette réponse concerne davantage le portage de jeux sur différentes plates-formes / paradigmes matérielles et moins les systèmes d'exploitation sur un PC
Courses Lightness en orbite
2
@ LightnessRacesinOrbit et bien, c’est l’Unité ... Vraiment, nous avons un effet particulier qui est au cœur du jeu et qui est vraiment inefficace. Le gars qui a écrit ça a disparu et nous n'avons pas réussi à trouver un moyen de l'améliorer. Telle est la vie ...
Cody
3
@JopV. Umm, non. L'histoire est un petit peu plus compliqué que cela. Mais il n'y a vraiment aucun intérêt à discuter de cela ici. Je noterai simplement qu'OpenGL est une API de rendu 3D. DirectX est beaucoup plus large que cela. Si vous devez vous engager dans un débat inutile, comparez au moins OpenGL à Direct3D :) OpenGL a été conçu pour le travail professionnel en 3D ("ouverture" du logiciel propriétaire IrisGL). Quelle autre plate-forme supportait OpenGL à cette époque? Il n'y avait aucune "entrave au développement multi-plateforme" - Windows avait un support OpenGL natif. OpenGL n'a tout simplement jamais été destiné à autre chose qu'un travail professionnel de haut niveau.
Luaan
2
Les téléphones gpus sont beaucoup moins puissants que les graphiques même intel car ils ont des limites thermiques et de taille. de plus, de nombreuses personnes ont des téléphones qui ne prennent pas en charge OpenGL es 3.0. Seules quelques personnes pourront utiliser votre application, à moins que vous ne réécriviez votre jeu pour une version primitive
Open