URL: https://linuxfr.org/users/xytovl/journaux/squarez-le-retour Title: Squarez, le retour Authors: Patrick Nicolas Date: 2014年02月07日T11:32:36+01:00 License: CC By-SA Tags: jeu_libre, jeu et firefox Score: 28 Bonjour journal, Il y a plusieurs vendredis je t'ai présenté un petit jeu pour navigateur dans ce [journal](https://linuxfr.org/users/xytovl/journaux/mon-petit-jeu-pour-navigateur-et-plus), depuis il a légèrement évolué. Finalement je n'ai pas suivi la liste que j'avais donnée pour les améliorations, j'ai tout de même créé quelques graphismes, réécrit la majorité du code de l'interface et optimisé quelque peu les performances. Suivant les conseils dans les commentaires, le jeu a été publié sur le marketplace Firefox, Mozilla m'a fourni un Geeksphone Keon pour le porter, ce qui m'a permis de voir que les performances étaient déplorables et m'a fait travailler des heures pour que ça soit acceptable. Maintenant parlons des nouveautés, je viens de terminer une version pour [jolla](http://jolla.com) qui utilise donc Qt/qml. Le jeu sera publié d'ici quelques jours au moins sur le magasin officiel. C'est mon premier développement en Qt, et le code est commun avec la version pour navigateur. Je vais donner mes impressions en tant que développeur C++ qui découvre ces outils. * Qt n'est pas du C++, pour utiliser les fonctionnalités qui le rendent intéressant il est très intrusif (des macros partout, la préférence pour les pointeurs, des contraintes sur la gestion des threads) * Qt montre ses origines historiques et n'aime vraiment pas la stl (bibliothèque standard C++ qui permet de gérer vecteurs, chaînes de caractères, entrées/sorties) * La séparation modèle/vue offerte par qml est vraiment bien pensée, la partie de logique n'a pas à faire de suppositions sur l'affichage qui en sera fait. La partie affichage réagit à des événements, présente les informations fournies par le modèle et utilise les interfaces prévues pour le modifier. * Qml est vraiment bien pensé, je ne lui reproche que le positionnement des objets qui est souvent hasardeux, plusieurs modèles sont proposés pour places les éléments et c'est difficile au moins au début de les utiliser correctement. Par rapport à la version pour navigateur, qu'est-ce que c'est fluide ! Sur le téléphone même les effets de particules ne ralentissent pas les animations. Enfin, quelques commentaires sur les autres outils que j'ai utilisé. La version html utilise emscripten pour générer le javascript. Le projet est excellent, il fait exactement ce qu'on lui demande. Mes souhaits pour qu'il soit encore meilleur sont une amélioration de la documentation (pour les bindings c++ je suis souvent allé voir les sources des templates directement), une meilleure intégration dans les outils de compilation : je n'ai pas trouvé comment compiler à la fois une version javascript et du code natif, et un compilateur plus rapide (mais j'ai vu que c'est en cours). Aucun navigateur ne m'a donné des informations utiles sur le temps consommé pour le dessin des pages. Comme le jeu utilise des éléments html pour représenter les éléments du jeu, j'ai dû trouver moi-même ce qui est rapide et ce qui ne l'est pas. Qtcreator a lui au contraire des outils de mesure de performance très intéressants, on peut savoir à quelle vitesse tournent les animations, quelles sont les fonctions qui prennent du temps à être traitées, quels signaux sont émis, ce qui ne m'a pas été vraiment utile étant donné que je n'ai pas eu de problèmes de performance. Pour ceux qui veulent juste perdre du temps sur le jeu lui-même, c'est [ici](http://squarez.meumeu.org).

AltStyle によって変換されたページ (->オリジナル) /