Oui c'est bien mieux !
:ccool::ccool::ccool:
Version imprimable
Bonjour à tous,
Pas trop d'améliorations directes sur le jeu, je travaille pour l'instant sur le moteur pour le we 7.
Les améliorations suivantes sont en cours:
-Support complet des shaders vertex et fragment (GLSL seulement),
L'utilisation est assez simple:
mais également le support des objets dynamiques dans le moteur physique:Code:
1
2
3
4
5
6
7
8
9
10
11
12 FragmentShader fs = engine .getMaterialManager() .createFragmentShader("orange", "orange.glsl"); Material m = engine.getMaterialManager() .loadSimpleTexture("1.JPG"); .disableLight() .setFragmentProgram(fs); // et pour passer des params(l'API est encore à simplifier un peu): m.getTechnique(0).getPass(0) .setFragmentProgramParameterAuto("myLightColor", ShaderConstantType.AMBIENT_LIGHT_COLOUR) .setFragmentProgramParameter(new ShaderParamColor("myColor", Color.rgb(255, 127, 0)));
Une API particulièrement simple également:
-Enfin, pour lier les objets des différents modules (graphique, physique, audio) de manière découplée pour les implémentations natives, un nouveau module a vu le jour, common-native, c'est une librairie java-c++(header only) qui expose des interfaces partageables entre les modules natifs, ainsi, on peut désormais lier un objet graphique Ogre3D à un objet physique bulletphysics sans avoir à connaitre le lien entre les 2.Code:
1
2
3
4
5 PhysicWorld world = physicEngine.createPhysicWorld(); world.createObject() .atPosition(Point3D.valueOfY(50)) .buildDynamic();
https://bitbucket.org/yildiz-engine-team/common-native
La conséquence, est qu'en plus de l’extension de fonctionnalité et l’élévation du niveau d'abstraction, les performances seront améliorée vu la réduction d'appel natifs nécessaires pour synchroniser les composants.
Ceci a été rendu possible seulement par l'utilisation d'une implémentation header only, cependant, avec quelques ajustements, on devrait pouvoir inclure des librairies statiques ou dynamiques.
-Coté réseau, "petite" (niveau code) amélioration permettant d'ajouter au client une stratégie de retry lors d'échec ou de perte de connexion.
Voilà, c'est tout pour aujourd'hui, maintenant je voudrais modifier le launcher pour qu'il soit capable de gérer plusieurs jeux, mais je sais pas si je pourrais boucler ça en une semaine.
Bon week-end à tous
Bonjour à tous,
L'implémentation de la liaison inter-module natifs est assez avancée pour être utilisable, le jeu se lance donc désormais en utilisant ce principe, et comme prévu il y a une amélioration certaine de la fluidité avec un nombre réduit d'appels au garbage collector.
Bonsoir à tous,
Quelques nouvelles avec plusieurs chantiers en cours:
-Le support de plusieurs jeux par le launcher progresse bien.
-Le déploiement du serveur supportant les missions se rapproche également, il est opérationnel, et le test de déploiement préliminaire avec la migration DB est satisfaisant.
-Extinction gracieuse du serveur de jeu après un kill (sauf pour un kill -9 évidemment)
-Coté client, j'aurais aimé ajouter le shader atmosphérique, mais ça me prend un peu de temps pour le boucler, donc je vais le garder pour une prochaine release.
-Au niveau du moteur, ajout de nouveaux sous projets permettant de compiler les librairies dépendantes(ogre3d, openal, bullet, ...) et ainsi avoir plus simplement des mise à jour des libs. (et également avoir une version win64)
-Révision de l'app web pour intégrer le frontend angular dans le projet java spring du backend, afin d'avoir l’entièreté dans un conteneur Docker et donc, sous peu, avoir un déploiement dans downtime du site.
-Toujours au niveau de l'uptime, mise en place du live update pour supprimer les reboots du serveur après une mise à jour du kernel
Voilà, à bientôt pour des nouvelles moins techniques et plus ludiques!
Je trouve super que le nouveau frontend du site soit passé à Angular2, avec une mise à jour du backend en prime. Bien sûr, il y a quelques petits bugs qui persistent, mais c'est normal, surtout si tu n'es pas encore très familier avec Angular et TypeScript. Merci pour le partage du code sur GitHub, j'irai jeter un coup d'œil. Bon courage pour résoudre les problèmes restants et amuse-toi bien avec le serveur de jeu.