Sortie de V-Play 1.4, le moteur de jeu en QML

V-Play est un moteur de jeu multiplateforme basé sur le framework C++ Qt. Il supporte ainsi toutes les plateformes compatibles avec ce dernier (Windows, OS X, Linux, mais aussi MeeGo, Symbian, iOS, Android ou Blackberry 10), soit des plateformes fixes ou mobiles de type smartphone ou tablette.

Au niveau du code, il utilise la plateforme Qt Quick et le langage déclaratif QML, combiné avec JavaScript. Il fonctionne sur Qt 4.8.1, soit Qt Quick 1.1. Le paradigme déclaratif permet d’écrire un code très succinct, mais l’interface réalisée s’adaptera sans peine à toutes les résolutions d’écran et à tous les ratios. Le développement se passe dans Qt Creator, l’EDI spécifiquement créé pour Qt.

Tous les composants QML sont implémentés en C++, ce qui devrait ainsi fournir un bon niveau de performances. Il intègre le moteur physique Box2D, également entièrement accessible en QML. Il fournit une série de services bien utiles actuellement, comme les achats intégrés dans le jeu, une intégration avec les réseaux sociaux (Facebook) et des publicités, en plus de services d’analyse (Flurry). Il laisse toujours un accès à la plateforme sous-jacente, notamment pour afficher des notifications natives, utiliser un accéléromètre ou ouvrir une page Web.

La version 1.4 ajoute le support de Blackberry 10, du téléchargement de paquets depuis le jeu (afin de proposer aux magasins d’applications des binaires plus légers). L’EDI se complète d’une série d’assistants pour créer des maquettes de jeux fréquents plus facilement. L’utilisateur peut également prendre des captures d’écran depuis le jeu et a droit à de meilleurs retours haptiques.

Il faut cependant remarquer qu’il n’est pas entièrement gratuit, mais qu’une telle version existe. Le support des plateformes est limité aux desktop, Symbian et MeeGo (soit aux systèmes d’exploitation mobiles morts : dommage, pour un moteur prévu spécialement pour les jeux type mobile). Dans tous les cas, il est possible de compiler le jeu en local. Un service de test à distance pour toutes les plateformes est fourni ; dans l’édition gratuite, il est limité à trente essais par mois. Il est nécessaire de s’enregistrer pour ne fut-ce que télécharger le SDK.

Sources : http://devblog.blackberry.com/2013/08/getting-started-with-the-v-play-gaming-engine/ et http://v-play.net/.

APEX Hair/Fur

APEX, le framework de simulations physiques basé sur PhysX, verra bientôt l’ajout d’un nouveau module pour les cheveux et autres poils. Actuellement, le module APEX Clothing propose la simulation de tissus qui suivent le personnage qui les porte, comme dans BioShock Infinite.

The Witcher 3: Wild Hunt, attendu en 2014, profitera du module APEX Hair/Fur, qui proposera le même type de fonctionnalités – mais pour des cheveux et des poils, humains ou non.

Ces simulations utilisent des dizaines de milliers de cheveux inextensibles en temps réel pour atteindre cet objectif de réalisme, ce qui requiert une grande puissance de calcul, offerte par les derniers GPU de la marque. Auparavant, ce genre d’effets était limité aux films, puisqu’il n’y avait pas besoin de temps réel.

Pour une simulation aussi rapide, il faut effectuer très peu d’itérations pour chaque image. La technique utilisée, nommée follow the leader (FTL) est géométrique et ne requiert qu’une seule itération, sans pour autant avoir des poils qui s’étirent. L’amélioration apportée par les équipes de NVIDIA est l’extension de cette technique à des cas non statiques.

Chaque poil est constitué d’une série de particules liées les unes aux autres par des distances au repos. À chaque itération, ces particules se meuvent et il faut restaurer l’espacement entre deux (pour éviter l’étirement desdits poils). La version statique de l’algorithme FTL parcourt les positions de tous les points, l’un après l’autre, en modifiant les positions de telle sorte que la particule se situe sur une sphère centrée sur la précédente. La nouvelle position est donnée par le point le plus proche sur la sphère de l’ancienne position.

La nouveauté consiste à améliorer cet algorithme pour le rendre plus dynamique, sortir des hypothèses de quasistaticité. Il faut alors stocker, en plus de la position, la vitesse de chaque particule de chaque poil. L’itération corrigera tant la position que la vitesse, en utilisant la technique de dynamique basée sur les positions (aussi utilisée pour la simulation de fluides). La correction est en général basée sur l’inverse de la masse de chaque particule, mais cela génère un comportement relativement chaotique (exposé dans la vidéo ci-dessous), corrigé par un terme d’amortissement numérique. (Tous les détails sont donnés dans l’article Fast Simulation of Inextensible Hair and Fur, voir plus loin.)

Sources : How NVIDIA Delivered Hairier Effects for Your Favorite Games, Fast Simulation of Inextensible Hair and Fur.