Bonjour à tous,
Ayant eu besoin de faire un mirror des repository Bitbucket vers Github, j'en profite pour partager le processus avec vous:
https://yildiz.atlassian.net/wiki/di...thub+mirroring
Bonjour à tous,
Ayant eu besoin de faire un mirror des repository Bitbucket vers Github, j'en profite pour partager le processus avec vous:
https://yildiz.atlassian.net/wiki/di...thub+mirroring
Après un rebuild sous windows(et l'écriture des bat correspondant), j'ai pu tester le jeu, il se lance comme un charme, (quelques soucis mineurs, mais ça reste de l'ordre du bugfix, rien de dramatique)
Ce qui fait que le développement du jeu en temps que tel peut reprendre! avec une compatibilité théorique linux...
Les affaires reprennent!
Voilà un screen de l'écran de connexion, un bug m'empêche d'aller plus loin, je vais donc lui régler son compte et je poste d'autres screen dès que c'est bon
Un projet de longue haleine !!
Je me rappelle d'y avoir joué au tout début du développement, et c'était déjà impressionnant.
Même si mon message reste qu'une source d'encouragements plus que de conseils techniques vu que j'y connais pas grand chose sur les compétences qu'un tel projet exige ...
Bonne chance !
Effectivement, très long, mais ça reste très formateur vu que je profite de ce projet pour essayer m'améliorer, que ce soit au niveau technique, fonctionnel ou organisationnel.
En fait ce sont plutôt 2 projets, l'engine, qui est open source et qui concentre la majeur partie technique pour supporter le jeu, et le jeu en lui même, qui reste passionnant vu que c'est donner vie à un univers(mais ça tu le sais bien mieux que moi vu tous les projets que tu as mené à terme!)
Merci beaucoup pour tes encouragements, ça compense un peu les "bon t’arrêtes de travailler oui?" de madame à la maison!
Bonjour à tous,
Des nouvelles après ce mois de ramadan, un peu fatiguant, durant lequel je n'ai évidemment pas fait grand chose...
Heureusement, pas grand chose ne veut pas dire rien!
Donc, au niveau purement technique, pour le moteur:
-Mise en place de bitbucket pipeline pour le continuous delivery(https://bitbucket.org/product/features/pipelines), chaque commit crée automatiquement un build sur la plateforme, faisant tourner les tests unitaires et d'intégration.
-Egalement, ensuite l'artefact construit va être déployé sur maven central(uniquement en snapshot actuellement) (https://oss.sonatype.org/content/rep.../yildiz-games/), chaque module est donc facilement utilisable en tant que dépendance.
-Enfin, une batterie de test orienté qualité sont lancé avec Sonar sur la plateforme sonarqube (https://sonarqube.com/)
OpenShift online passant enfin au support Docker, il deviendra possible de faire du continuous deployment, mais on en est pas encore là!
Enfin coté jeu, voici les screens promis
La vue 'flotte' avec la liste des unités que l'on contrôle
Une des derniers feature implémentée, la possibilité de construire plusieurs colonies.
la vue 'colonie' avec un bug, les icones ne s'affichent pas correctement, je vais regarder pour fixer ça
EDIT: Fixed pour les icônes manquantes!
Bonjour à tous,
Petit update du dashboard du projet, il intègre désormais les métriques sonarqube:
http://www.yildiz-games.be
Egalement le wiki a désormais un page qui décrit les différentes sources de documentation du projet:
https://yildiz.atlassian.net/wiki/di...ntation+schema
Qu'est ce que SonarCube ? Est-ce gratuit ?
Sonarqube est une plateforme pour gérer la qualité de son code source, ça fourni un set de règles paramétrables, ensuite le code est analysé contre ces règles, les résultats sont affichés sur un dashboard.
C'est open source et gratuit pour le code java, certains plugins sont payants(c/c++ par exemple)
Ca se déploie en standalone, il suffit d'une JVM pour le faire tourner, puis d'un runner pour lancer l'analyse sur le code.
Pour Yildiz-Engine, j'utilise une plateforme déjà installée, sur sonarqube.com, utilisable pour les projets open source, l'analyse est lancée automatiquement à chaque commit via l'intégration continue(avec Bitbucket pipelines)
Pour Yildiz-Online, qui lui en sources privée, j'utilise une instance locale.
Un exemple avec le module engine-shared:
https://sonarqube.com/overview?id=be...:engine-shared
Merci pour les informations. Dommage que ce soit payant pour le C/C++, mais bon, dans mon coin, j'utilise Jenkins (et les plugins qu'il faut).
Moi j'ai une question.
Pourquoi le jeux n'est pas fait entièrement en java je trouve que c'est une erreur d'architecture pour un jeux qui ne demande pas beaucoup de puissance pour les graphismes.
Sinon y a t'il un mode solo pour jouer contre l'IA.
le projet est toujours en cours?
Tu as besoin de développeurs?
Pour diverses raisons:
1) Les librairies les plus efficaces et les plus actives sont en C++ (Ogre, OpenAL, Bullet physics), leurs pendant java sont abandonnés (Ogre4J, JBullet).
2) Le moteurs sont abstraits, rien n'empêche de créer une implémentation full java.
3) La demande de puissance est relative au moteur, pas au jeu, si elle est aujourd'hui faible pour ce jeu dans son état actuel, c'est un facteur pouvant évoluer et ne devant pas être limitatif.
4) Le process de build natif s'intègre parfaitement dans la chaine de build java.
Historiquement, au début du projet, les librairies étaient effectivement en java, ce qui s'est révélé être une erreur, au niveau maintenance et évolutivité, depuis le changement, tout se passe très bien(j'étudie d'ailleurs actuellement le guide de migration d'Ogre3D vers sa version 2).
Au niveau du jeu, il n'y a actuellement pas d'IA pour la partie gestion, mais uniquement au niveau des comportements des vaisseaux, ce n'est donc pas jouable sans un humain qui va s'occuper de sa base.
Il y a un use case qui va changer cela, c'est l'introduction de missions solo pour gagner de l'expérience, ou le joueur se trouvera dans une zone instanciée avec des unités en nombre limité et devra accomplir un ou plusieurs objectifs pour réussir sa mission. Par contre, encore aucune idée de quand je pourrais faire cela.
oui
oui
Tu peux trouver ici les sources du moteur servant à construire le jeu: https://bitbucket.org/yildiz-engine-team/
Un petit update:
Le moteur réseau va désormais supporter le protocole websocket, ceci apportera les avantages suivants:
-Moins de restriction pour le déploiement sur les plateformes de hosting, comme sur openshift par exemple qui est limité au websocket pour les transmissions réseau.
-Possibilité de créer des clients web.
-Facilité pour les tests, un simple JS suffit pour envoyer une commande.
-Assurance que le moteur est assez extensible en ayant plus d'un protocole pour un cas d'utilisation identique.
Le statut actuel est que la réception des messages coté serveur se fait correctement, reste à gérer l'envoi.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <script> var socket = new WebSocket("ws://192.168.1.5:15023/websocket"); socket.onopen = function(e){ socket.send("10_abc_azerty"); };
L'API ne change que très légèrement, mis à part ça, c'est complètement transparent pour l'utilisateur du moteur:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 this.server = NettyFactory.createServerNetty(address, port, new AuthenticationHandlerFactory(manager, DecoderEncoder.WEBSOCKET));
Bonjour à tous,
La migration vers la techno websocket étant désormais complétée, elle signe aussi la fin du sprint courant au niveau du moteur de jeu
Vous trouverez le changelog ici: https://yildiz.atlassian.net/issues/...L-79%2CYIL-80)
Au niveau du jeu, il utilise maintenant websocket, ce qui permettra bientôt de remettre le serveur en ligne, en utilisant openshift comme hébergeur.
A ce sujet, j'attend la release du support de docker pour éviter les déploiements compliqués(installation JRE, compilation bullet sous linux antédiluvien,...), une image docker m'épargnera tout ça...
2 Régressions trouvées au niveau du jeu:
-l'authentification se passe mal à cause du temps que met le hand shake, le problème est contenu via l'utilisation de messages de debug qui empêchent la race condition entre le handshake et l'envoi du 1er message, je vais chercher une solution propre.
-La nouvelle API de création des widget donne la mauvaise font pour les titres, ça devrait etre trivial à fixer.
A très bientôt donc pour de nouvelles phases de tests publiques.
Edit, le problème du handshake est fixé.
Petit update avant la fin du sprint:
-Le fix de la construction modulaire de vaisseau est en bonne voie, le système a été simplifié et il reste juste un bug au niveau du serveur de jeu à fixer, je devrais avoir fini pour ce sprint.
-Le process de build du moteur a été amélioré avec 2 nouveaux composants CI en sus de bitbucket pipeline: travis pour les test sous linux et appveyor pour ceux sous windows
-Le site portail du moteur a été amélioré avec l'introduction de badges pour le build via travis et appveyor, et également versioneye qui vérifie la version des dépendances.
http://www.yildiz-games.be
Bonjour à tous,
Quelques bonnes nouvelles:
La construction des unités est réparée dans le jeu, elle fonctionne parfaitement.
Au niveau du moteur:
La cross-compilation revient sur le devant de la scène: le moteur audio (openal) est désormais cross-compiled sous linux avec g++ et mingw-64 pour windows
C'était déjà le cas pour le moteur physique(bullet), il reste donc le moteur graphique(Ogre) pour avoir une portabilité windows-linux
J'ai également créé une image docker pour faire le build du module-audio-openal (https://hub.docker.com/r/moussavdb/yildiz-build-env/), s'ajouteront bientôt les dépendances nécessaire pour bullet et ogre.
Grâce à cette image, le build des binaires natif se fait automatiquement à chaque commit via bitbucket pipelines, et ce en sus du build java.
Enfin, une nouveauté, les binaires sont disponibles via maven central (http://search.maven.org/#search%7Cga%7C1%7Cyildiz), pas encore tous, il manque les artifact comprenant du code natif, qui seront ajoutés sous peu grâce au build g++/mingw automatisé
Bon week end à tous
Partager