human
Pourquoi des entreprises comme Sony/Microsoft n'ajoutent-elles pas la rétrocompatibilité pour leurs consoles ? C'est sûrement juste une question d'ajouter le code pour exécuter les jeux de console précédents sur le nouveau logiciel ? Explique comme si j'avais cinq ans.
gpt
> Sûrement c'est juste une question d'ajouter le code pour exécuter les jeux de console précédents sur le nouveau logiciel ? Euh ... parfois . Mais c'est beaucoup plus compliqué que cela. Pourquoi les jeux mac ne fonctionnent-ils pas sur un PC ? Eh bien .. parce que OSX est différent de Windows , il existe donc une énorme collection de bibliothèques que vous devez utiliser . Vous devez écrire des programmes différemment pour chaque système d'exploitation. Avec la Xb2 et la PS3, ils ont utilisé une architecture matérielle différente de celle de la PS4 et de la XB3 (qui utilisent toutes deux des pièces d'ordinateurs portables AMD glorifiées). Ainsi, non seulement vous avez de nouveaux problèmes de système d'exploitation, mais vous devez également faire face à des différences matérielles. Maintenant, dans l'espace de programmation PC ou mac ou similaire où un programme que j'ai écrit pour Windows XP fonctionnera toujours sur Windows 8, c'est parce que vous avez écrit le programme, et cela dépend des bibliothèques qui le forcent à être général. Les jeux sur console sont étroitement ( très étroitement ) optimisés pour exactement le matériel dont ils disposent . Il n'est pas question d'avoir peut-être 32 octets de mémoire ici, ou 16, ou 64, sur une console vous avez exactement ce que vous avez, et elle fonctionne exactement comme elle le fait. Sony a en fait bâclé l'une de ses séries de PS2 et ils n'ont pas tout à fait fonctionné avec tous les jeux pour cette raison. Windows (et mac) exigent que vous acceptiez les inefficacités de votre programme, par exemple directX et OpenGL par défaut, car pour une petite baisse de performances, ils fonctionneront sur toutes sortes d'appareils et sur les nouveaux à l'avenir. Y a-t-il donc des solutions à cela ? Oui... un peu. Autre que pour simplement mettre l'ancienne console dans la nouvelle (la PS3 d'origine faisait essentiellement cela, elle avait une PS2 matérielle à l'intérieur) Les deux sont à des degrés divers de mauvais. Ce que vous devez savoir, c'est que lorsque vous écrivez un programme (en particulier un jeu), vous comptez sur un tas de bibliothèques fournies avec le système d'exploitation sur lequel il va s'exécuter, et vous le compilez dans des instructions d'assemblage spécifiques à ce système d'exploitation et à ce matériel. - c'est ce qu'est la compilation en général mais tout n'est pas compilé. La compilation rend les choses rapides cependant. La première option est ce qu'on appelle la traduction binaire - en gros, vous pouvez prendre le programme et mapper les instructions de niveau binaire d'un type de matériel vers un nouveau type de matériel. C'est comme ça que le XB2 a essayé d'être compatible avec le XB1 - mais ça, euh... n'a fonctionné que la plupart du temps, de temps en temps. Et cela venait du PC, qui est l'architecture standard autour de laquelle toutes les autres sont mesurées. L'autre option est l'émulation - vous pouvez télécharger des émulateurs gratuits pour votre PC pour les anciennes consoles, ils sont d'une légalité douteuse, mais ils fonctionnent pour la plupart. L'idée ici est que bien faire un émulateur est vraiment très très difficile, et peut nécessiter des dizaines à des centaines de fois plus de puissance de traitement que l'appareil que vous émulez, et même alors, cela peut encore être nul. La nouvelle 3ème option est ce que Sony va faire - ils vont avoir un cluster géant de Playstation 3 pour exécuter des jeux sur le web (comme netflix pour les jeux PS3). Cela a quelques problèmes avec le réseautage, mais c'est probablement "assez bon". Ils ne résolvent pas le problème 1 ou 2 - ils vous permettent simplement de louer du temps sur une PS3 à distance. Ou du moins ils prévoient de le faire. Donc, pour résumer, c'est qu'il est VRAIMENT difficile d'émuler un autre appareil - il existe des émulateurs Android gratuits (légaux) pour le développement avec lesquels vous pouvez essayer d'émuler toutes sortes d'appareils - et beaucoup d'entre eux sont lents comme de la mélasse et encore sucer. La traduction binaire est incroyablement difficile à faire correctement. Les options sont donc limitées et ils préfèrent vous vendre une PS3 ou une XB2 plutôt que d'augmenter le prix de la PS4 ou de la XB3.