Au départ, les jeux sont plus difficiles à faire sur une console que sur un PC. De plus, les consoles ont des spécifications très différentes et un matériel différent entre nintendo, sony et microsoft, ce qui entraîne non seulement des performances différentes, mais aussi des problèmes de goulot d'étranglement différents.
Habituellement, le jeu ajustera simplement son moteur pour maximiser la qualité et les performances sur chaque console.
Lors de l'adaptation au PC, il y a d'autres problèmes. Les consoles sont homogènes, ce qui signifie que toutes les consoles ont le même matériel (toutes les PS3 ont les mêmes performances matérielles). Lorsque vous créez votre jeu pour PC, vous ciblez une spécification minimale, mais vous permettez également à l'utilisateur d'augmenter la qualité pour des PC plus puissants. Les jeux destinés aux PC sont moins optimisés, mais plus faciles à réaliser pour les programmeurs.
La programmation sur console a un avantage, elle permet aux programmeurs de maximiser les performances, donc tout jeu sur console fonctionnera toujours bien.
Sur un PC, c'est pire, car il y a beaucoup de matériel, mais d'accord, c'est plus de liberté, le meilleur jeu résultant sera toujours sur PC, car le PC est toujours à la pointe, à un coût.
Le portage d'un jeu de la console au PC peut être délicat, car la console est conçue pour les performances du jeu, contrairement au PC, mais dans l'ensemble, il est beaucoup plus facile de porter un jeu de la console au PC que l'inverse, car la console a beaucoup moins de mémoire, quelque chose comme 2 ou 4 fois moins.
Changer le code pour l'adapter à cette restriction de mémoire signifie généralement toujours une re-programmation complète.
Je ne pense pas qu'il soit difficile de porter un jeu de la console au PC, c'est juste une question d'API. Les entreprises et les programmeurs qui travaillent uniquement avec des consoles auront du mal à porter sur PC, car ils n'y sont pas habitués, mais aussi parce qu'ils s'adaptent constamment à l'API de la console, ce qui signifie que leur code répondra souvent à la restriction du compilateur de console, et pas nécessairement prendre soin des apis PC.
Bien sûr, les moteurs peuvent être programmés pour fonctionner sur toutes les consoles et tous les PC, une fois que c'est fait, c'est plus facile que de dire à vos programmeurs de porter le moteur sur PC après qu'on leur ait dit que cela n'a jamais été prévu pendant 3 ou 4 ans.
Les consoles TL; DR sont homogènes et représentent la dernière génération de console, les PC sont hétérogènes et le matériel et l'API évoluent constamment. Les coûts sont répartis entre la programmation et la construction matérielle, qui sont des compromis.
Une bonne chose serait de permettre à tout le matériel de tout faire fonctionner, mais les prix des consoles sont compensés parce que les sociétés de jeux payent une licence aux fabricants de consoles, de sorte qu'ils verrouillent leur matériel pour ne faire fonctionner que les sociétés de jeux qui paient. C'est désordonné.