Ceux qui me connaissent vont encore me dire que je me pointe avec mes gros sabots, mais tant pis...
Je crois qu'il y a un espoir au niveau langage :
Si les développeurs de jeux disposent d'un langage puissant (plus haut niveau que Javouille), aussi rapide que C(donc bien plus que c++) disposant d'une librairie dédiée au jeu évolué, se spécialisant pour chaque OS (s'appuyant donc sur directX sou windows, OpenGL/SDL sous linux (voir plus bas niveau), et je ne sais quoi sous mac), on aurait peut être la possibilité d'avoir des jeux naturellement multiplateforme dans laquelle une simple recompilation suffirait.
C'est possible mais assez complexe actuellement.
Dans la pratique, à l'heure actuelle on ne peut écrire un jeu qu'en C ou C++, tout au moins pour le coeur graphique/réseau/son (par exemple Civilization est écrit en python pour sa partie IA/gestion du jeu).
Faire une lib multiplateforme qui soit utilisable en C++ est possible mais pas évidente :
- On préfère compiler avec Visual C++ (ou intel C++ ?) sous Windows et GCC ailleurs, je passe sur le jonglage entre compatibilité de langage.
- utiliser autre chose que directX sous windows est quasiment impossible, cf. le non support d'OpenGL sous Vista.
- [subjectif]C++ étant un langage immondément merdique, faire une lib qui soit multiplateforme, en passant au dessus de DirectX sous win et autre chose ailleurs, tout en étant aussi complète que DirectX, est d'une part très difficile à réaliser (beaucoup de travail) et cause des ralentissements.
[/subjectif]
En effet, les compilateurs C/C+++ ne savent pas faire de l'analyse de flot, c'est à dire d'analyser les possibilités d'exécution du code, ce qui signifie qu'une couche d'abstraction écrite tel quel dans le code, va le rester, et ça implique de la lenteur.
Je pense donc qu'un langage comme Lisaac (ca y est j'ai posé mes sabots) pourrait permettre à certains jeux d'être réellement multiplateforme en ce contentant de recompiler le code.
Il faudrait pour cela disposer d'une librairie complète, puissante, simple à travailler, sous double licence proprio/libre (pour pas obliger une boite de production de devoir libérer sons code, ce qu'elle n'acceptera pas) qui puisse attirer les développeurs.
Il faut aussi disposer d'un environnement de travail efficace, type Eclispe (ou Kdevelop ;-) ) , un debugger puissant...
C'est jouable, mais c'est très difficile.
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
[^] # Re: Mon avis...
Posté par Ontologia (site web personnel) . En réponse au journal Portage de jeux sous Linux ? Votre avis ?. Évalué à -3.
Je crois qu'il y a un espoir au niveau langage :
Si les développeurs de jeux disposent d'un langage puissant (plus haut niveau que Javouille), aussi rapide que C(donc bien plus que c++) disposant d'une librairie dédiée au jeu évolué, se spécialisant pour chaque OS (s'appuyant donc sur directX sou windows, OpenGL/SDL sous linux (voir plus bas niveau), et je ne sais quoi sous mac), on aurait peut être la possibilité d'avoir des jeux naturellement multiplateforme dans laquelle une simple recompilation suffirait.
C'est possible mais assez complexe actuellement.
Dans la pratique, à l'heure actuelle on ne peut écrire un jeu qu'en C ou C++, tout au moins pour le coeur graphique/réseau/son (par exemple Civilization est écrit en python pour sa partie IA/gestion du jeu).
Faire une lib multiplateforme qui soit utilisable en C++ est possible mais pas évidente :
- On préfère compiler avec Visual C++ (ou intel C++ ?) sous Windows et GCC ailleurs, je passe sur le jonglage entre compatibilité de langage.
- utiliser autre chose que directX sous windows est quasiment impossible, cf. le non support d'OpenGL sous Vista.
- [subjectif]C++ étant un langage immondément merdique, faire une lib qui soit multiplateforme, en passant au dessus de DirectX sous win et autre chose ailleurs, tout en étant aussi complète que DirectX, est d'une part très difficile à réaliser (beaucoup de travail) et cause des ralentissements.
[/subjectif]
En effet, les compilateurs C/C+++ ne savent pas faire de l'analyse de flot, c'est à dire d'analyser les possibilités d'exécution du code, ce qui signifie qu'une couche d'abstraction écrite tel quel dans le code, va le rester, et ça implique de la lenteur.
Je pense donc qu'un langage comme Lisaac (ca y est j'ai posé mes sabots) pourrait permettre à certains jeux d'être réellement multiplateforme en ce contentant de recompiler le code.
Il faudrait pour cela disposer d'une librairie complète, puissante, simple à travailler, sous double licence proprio/libre (pour pas obliger une boite de production de devoir libérer sons code, ce qu'elle n'acceptera pas) qui puisse attirer les développeurs.
Il faut aussi disposer d'un environnement de travail efficace, type Eclispe (ou Kdevelop ;-) ) , un debugger puissant...
C'est jouable, mais c'est très difficile.
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker