ACTU
Jai & Silent Blow Strike Back
par CBL,
email @CBL_Factor
Il y a plus de deux ans sortait The Witness sur PC et PS4. Plus tard le jeu est sorti sur XO, iOS, macOS et Nvidia Shield. Entre deux portages, Jonathan Blow bossait à mi-temps sur un nouveau langage de programmation, Jai. Il bosse désormais dessus à plein temps et compte même l'utiliser pour son prochain jeu. Il a expliqué sa démarche à Games Industry.
La raison pour laquelle Jonathan bosse sur Jai s'appelle C++. Le langage objet est un standard dans l'industrie du JV quand il s'agit de créer des moteurs de jeu, mais selon le créateur de Braid, c'est une vraie horreur. A la base, le C++ a été créé comme une extension du C mais n'a pas forcément été bien conçu. Puis au fur et à mesure des années ses créateurs ont tenté de réparer les dégats. Depuis 2011, une nouvelle version du C++ sort tous les trois ans. Du coup le C++ est devenu un joyeux bordel aussI bien à apprendre qu`à programmer.
Le but de Jai est de faciliter la vie des développeurs et d'augmenter la productivité. Blow mise sur un boost de 15% au début mais pense atteindre 50 à 80% de boost de productivité comparé à un jeu développé en C++. Une beta fermée du langage sera dispo à la fin de l'année. Pour ceux qui se posent la question : oui c'est compliqué d'écrire un langage mis à part si on le fait pour la déconne. Non seulement il faut créer le langage en lui-même mais aussi le compilateur. Au passage, le compilateur d'un langage est écrit dans le langage qu'il compile. Voilà qui devrait faire tourner les têtes des philosophes/théologistes/physiciens en herbe.
Comme le C++, Jai est fondé sur le C et sera interopérable avec ce dernier. La raison est simple : la majorité des SDKs modernes ont une API écrite en C y compris les API graphiques type OpenGL et Vulkan. En clair, on pourra coder en Jai tout en utilisant les mêmes outils. C'est assez logique : on voit mal le Khronos Group réécrire l'API de Vulkan en Jai rien que pour le plaisir du créateur de The Witness.
La raison pour laquelle Jonathan bosse sur Jai s'appelle C++. Le langage objet est un standard dans l'industrie du JV quand il s'agit de créer des moteurs de jeu, mais selon le créateur de Braid, c'est une vraie horreur. A la base, le C++ a été créé comme une extension du C mais n'a pas forcément été bien conçu. Puis au fur et à mesure des années ses créateurs ont tenté de réparer les dégats. Depuis 2011, une nouvelle version du C++ sort tous les trois ans. Du coup le C++ est devenu un joyeux bordel aussI bien à apprendre qu`à programmer.
Le but de Jai est de faciliter la vie des développeurs et d'augmenter la productivité. Blow mise sur un boost de 15% au début mais pense atteindre 50 à 80% de boost de productivité comparé à un jeu développé en C++. Une beta fermée du langage sera dispo à la fin de l'année. Pour ceux qui se posent la question : oui c'est compliqué d'écrire un langage mis à part si on le fait pour la déconne. Non seulement il faut créer le langage en lui-même mais aussi le compilateur. Au passage, le compilateur d'un langage est écrit dans le langage qu'il compile. Voilà qui devrait faire tourner les têtes des philosophes/théologistes/physiciens en herbe.
Comme le C++, Jai est fondé sur le C et sera interopérable avec ce dernier. La raison est simple : la majorité des SDKs modernes ont une API écrite en C y compris les API graphiques type OpenGL et Vulkan. En clair, on pourra coder en Jai tout en utilisant les mêmes outils. C'est assez logique : on voit mal le Khronos Group réécrire l'API de Vulkan en Jai rien que pour le plaisir du créateur de The Witness.