Lors de la Visual;Conference qui s’est tenue le 23 janvier dernier, Tom Rothamel, surtout connu comme Pytom et créateur de Ren’Py, a présenté les dernières nouveautés du moteur de visual novel. Je vous propose un petit point sur ces nouveautés, et celles prévues à l’avenir !

Vous pouvez retrouver l’intervention complète ici, sur la chaîne YouTube de la Visual;Conference:

Les nouveautés de la 7.4.X

Et en parlant de nouveautés, on pouvait difficilement faire plus récent, car Pytom a mis en ligne la version 7.4.1 en direct, pendant sa présentation ! C’est la première version « patch » qui vient corriger les problèmes introduits lors de la 7.4.0.

En effet, la 7.4.0 a apporté énormément de changements dans le fonctionnement internes de Ren’Py, mais les dernière fonctionnalités avaient causé quelques problèmes aux développeurs. Mais c’était un travail nécessaire, puisque cela prépare le moteur à de plus grands changements à l’avenir.

La principale nouveauté de cette série de mise à jour est l’introduction du “model-based renderer“. Souvenez-vous, on vous en parlait déjà en septembre 2019 dans un autre résumé de conférence ! Depuis, beaucoup de travail a été fait pour rendre cette fonctionnalité utilisable de manière stable.

Ce que signifie ce terme, c’est que Ren’Py passe, si l’on active l’option, d’un affichage d’image “brut” à l’affichage de plans en “3D” sur lequel s’affiche les images, mais en gardant le même aspect. Mais quel est l’intérêt me direz-vous ?

Premièrement, cela permet d’utiliser l’accélération matérielle des cartes graphiques, mais aussi de ce qu’on peut trouver sur beaucoup de téléphones aujourd’hui.

Deuxièmement, cela ouvre énormément de possibilités en terme d’effets visuels. On peut par exemple recolorer et flouter nos images dynamiquement, en une ligne de code ! Et il est aussi possible, pour les plus techniques d’entre vous, d’écrire vos propres shaders pour vraiment personnaliser totalement l’apparence de votre jeu !

Une autre fonctionnalité attendue de très longue date est le support pour les modèles Live2D, un logiciel permettant de déformer et d’animer de manière interactive des illustrations.

Exemple de personnage animé avec Live2D

Toutes ces nouveautés viennent tout de même au prix de devoir déprécier certaines plateformes : notamment, Ren’Py ne fonctionne plus sur Windows XP, et la version minimale de MacOS est maintenant 10.10 (inclue).

Vous pouvez retrouver plus d’informations à ce sujet sur la page de la release.

Et pour l’avenir ?

Dans un avenir relativement proche, nous verront tout d’abords de nouveaux effets et transitions qui utilisent les nouvelles capacités de Ren’Py.

On peut par exemple s’attendre à voir arriver différentes variations d’utilisation de la 3D, comme par exemple des effets de parallaxe ou des mouvements de caméra dynamique : ce sont des fonctionnalités très demandées, et qui ont été bricolées par les utilisateurs avec les outils à leur disposition. Ces effets seront ainsi disponibles facilement et proprement dans le moteur, tout en utilisant l’accélération matérielle.

Et on peut par la suite espérer pouvoir intégrer directement des décors en 3D (d’autant que beaucoup d’artistes les utilisent), et voir apparaitre ce que Pytom appel le “3D Stage“, où l’on pourra placer les personnages 2D dans un espace 3D.

Dans un avenir plus proche, on peut espérer un support pour l’Apple Silicon et son fameux processeur M1, et peut être la possibilité d’intégrer des SVG directement en jeu.

Ren’Py 8 sera là plus tôt que vous ne le pensez…

L’un des changements qui n’ont pas encore été faits pour préparer le moteur à l’avenir est le passage à Python 3.

En effet, jusqu’à récemment l’intégralité du moteur et des jeux l’utilisant était écrite en Python 2, qui est considérée comme une version « en fin de vie ».

Ainsi, des travaux ont été commencer pour convertir partiellement le moteur en Python 3 (une sorte de Python 3/4 pour reprendre l’expression de Pytom), mais un version entièrement en Python 3 arrivera bientôt.

Pour autant, elle ne remplacera pas vraiment l’ancienne. Les versions de Ren’Py 7.2.x continueront de sortir en parallèle de la version 8, pour que les développeurs, travaillant parfois depuis des années sur leurs projets, n’aient pas à réécrire tout leur code ou se retrouvent avec des bugs inattendus.

Mais pourquoi passer à Python 3 poserait autant de problèmes ?

Les différences entre Python 2 et 3 ne sont pas significatives pour une utilisation basique du langage, mais certaines peuvent particulièrement affecter les développeurs Ren’Py.

C’est le cas par exemple du résultat des divisions : dans Ren’Py, positionner un objet avec un nombre entier sert à le positionner de manière absolue (30 pixels sur la gauche par exemple), tandis que les nombres à virgule, ou flottants, les positionnent de manière relative (0.3 c’est 33 % de l’écran, soit le premier tiers).

Ainsi, dans Python 2, diviser 1 par 2 donne 0, parce que le résultat reste un entier, tandis que la même opération en Python 3 donne 1/2 = 0.5. Le résultat devient donc un nombre à virgule, et Ren’Py l’interprètera de manière totalement différente !

C’était une petite parenthèse technique, mais vous comprenez maintenant pourquoi Pytom tient à garder cette compatibilité encore quelques temps.

Conclusion

Voilà ce qui attends les développeurs de Visual Novel pour l’avenir: la 7.2, le résultats de plus d’un an de travail, est enfin là, et plus de travaux sont encore à venir pour moderniser le moteur qui fête cette année ses 17 ans !

Vous pouvez télécharger la dernière version de Ren’Py sur le site officiel, et soutenir Pytom sur Patreon et le remercier pour son beau travail depuis 2004 !


Merci d’avoir lu cet article ! N’oubliez pas que les votes du concours de fiction interactive francophone sont ouverts jusqu’au 22 février ; vous avez quelques jours pour tester et noter les dix super jeux spécialement créés pour l’occasion !

A bientôt sur fiction-interactive.fr 🙂