Sous Windows, tu ne compiles qu'avec MinGW? Pourquoi pas Visual C++?
Sous Windows, tu ne compiles qu'avec MinGW? Pourquoi pas Visual C++?
Je ne compile pas sous windows, je cross compile sous linux
C'est plus facile à gérer et ça permet de faire le build via un outil de CI.
A quand une version pour jouer en solo ?
Et pourquoi utiliser du C++ alors qu'on peut tous faire en java avec des bonnes perfs ?
Pourquoi pas un site plus claire avec un lien évident pour télécharger ...
A oui tu a combien de personne qui joue a ton jeux ???
@super_navide : on a bien compris que tu n'avais pas aimé les interventions de yildiz sur ton topic mais même moi j'arrive à voir que certaines questions n'ont aucun intérêt (comme la question d'un langage par rapport à un autre, même si parfois la question peut être légitime, dans l'amateur/indépendant cela fait longtemps qu'on voit des discussions comme quoi ce qui importe avant toute chose c'est de bosser avec le langage qui nous est le plus simple à exploiter).
Et je trouve que pour quelqu'un qui n'a pas aimé les haters de steam, tu commences à te comporter comme eux. S'il te plaît ne te rabaisse pas à ça...
Edit : yildiz online ... une version solo ? Vraiment ? Ce n'est pas Diablo III tu sais ...
@super navide
Au niveau des perfs, si on en croit ce que tu dis sur ton topic tu as besoin d'un I7 et d'une gtx pour faire tourner ton jeu de cubes
http://www.developpez.net/forums/d15...e-moteur-jeux/
Yildiz-online tourne à 60FPS+, constant, sur un GPU intégré intel...
Le code open source est le moteur, le code du jeu n'est pas dévoilé, je vois mal comment je pourrais arriver à ce résultat si le code n'était pas clairement séparé.
La séparation des module est faite en fonction des responsabilités fonctionnelles, chacun ayant forcément un cycle de distinct.
C'est ce qui permet de développer des applications modulaires en fonction des besoins: avec ou sans réseau || physique || persistance || scripting || graphique || audio.
Chacun ayant un niveau d'abstraction pour changer l'implémentation sous-jacente sans impacter les applications les utilisant.
Ces choix ont été faits en fonction des standards de bonnes pratiques, à savoir le principe de responsabilité unique et d'abstraction.
Quels sont tes griefs vis à vis de ces pratiques reconnues et recommandées?
Au niveau de la communication par contre, du fait de l'importance des deux projets, une séparation pourrait avoir du sens mais serait un overhead certain.
C'est un jeu multijoueur.
Parce que le jeu n'est plus en phase de test publique pour l'instant, ça reviendra quand j'estimerais que le moment sera opportun.
Il y a également comme prérequis, pour le site et la mise en prod publique l'intégration de oauth dans le module d'authentification/authorization.
Le futur site est en phase d'étude technologique, probablement basé un container spring boot, avec notifications temps réel via un broker alimentant des web socket, afin de fournir une interface directement avec le serveur de jeu en ayant une couche d'isolation et pour le ui, un front end SPA angular.
L'alimentation persistante j'hésite entre un système classique et une approche event sourcing.
En tant que dev java, tu aurais une meilleure proposition?
J'ai eu 300 inscrits lors des phases publiques.
Le jeu n'est pas en phase d'équilibrage, mais de développement.
Merci pour ces interventions, dont je ne jugerais pas les motivations, mais qui m'ont au moins donné l'occasion de communiquer un peu sur le projet, je vais vraiment finir par ajouter la com dans les sprints pour être sur de le faire.
Pour en venir à des choses plus intéressantes, sur le moteur le mécanisme de continuous deployement fonctionne désormais parfaitement en cross compilation windows/linux avec déploiement sur maven central.
Une intégration récente a été faite avec Coverity, en sus de Sonarqube, les projets java sont parfaitement analysés, les hybrides java/c++ nécessiteront une adapation des scripts de build pour travis CI.
Pour ceux qui veulent voir le flux de la chaine de déploiement c'est ici:
https://yildiz.atlassian.net/wiki/di...IL/Build+chain
Coté gameplay, je peaufine l'intégration de la gestion des missions, le module s'est parfaitement et facilement intégré à l'architecture existante, dans un joli bounded context, même si je lorgne de plus en plus vers un paradigme réactif fonctionnel qui s'agence bien dans un contexte réseau asynchrone plutôt que de l'orienté objet.
L'intégration dans le jeu se fait au moyen d'un bouton supplémentaire dans le menu qui permet d'afficher les missions, de les accepter ou non, et de voir le statut de celles en cours.
Concrètement une mission contient 1-n tâches qui sont optionnelles ou obligatoires, démarre en fonction de l'accomplissement d'un ou plusieurs prérequis, et offre une récompense variable en fonction du succès des tâches accomplies.
Merci pour tes réponse elle sont très pertinentes.
Concernant mon moteur il peux tourner sur des machines peut puissante juste en mettant une profondeur de champ plus faible, après tout dépend du décor créé avec les outils et le nombre d'objet mobile....
Pour avoir le meilleur confort il faut une GTX 950 et un i7 après le FPS change entre environnement intérieur et extérieurs
Salut à tous,
quelques nouvelles: Le système de mission étant totalement intégré, je travaille maintenant sur la scénarisation de celles-ci, et sur des améliorations visuelles.
Aux missions s'est ajouté une nouvelle fonctionnalité du moteur(du module graphique pour être précis): les widgets animés, il est désormais possible de créer facilement des animations pour n'importe quel widget via l'API de création:
Pour créer une anim:
et pour la jouer:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 this.description = builder .buildText() .atPosition(15, 55) .animate(new TextAppearing("missionDescription", 100)) .build(this.getContainer());
C'est donc on ne peut plus simple à utiliser, on peut bien sûr avoir différentes animations par widget, et également il est très facile de créer ses propres animations en implémentant une interface et en la passant à la fonction animate().
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 this.description.playAnimation("missionDescription");
Concrètement:
Le système de focus a également été revu pour être utilisé beaucoup plus simplement, il reste néanmoins quelques petits bugs dedans, je m'attache à les corriger.
A bientôt pour les premières vraies missions...
Edit: les bugs liés au focus sont fixés.
Bonjour à tous,
Un petit moment sans news et pour cause: une machine serveur est en cours de préparation:
Une fois prête, une nouvelle phase de test publique sera envisageable mais avant ça il me faut encore:
-préparer un déploiement du serveur de jeu via docker
-ajouter oauth pour le serveur d'authentification afin que de nouveaux joueurs puissent se connecter sans avoir à créer un compte sur mon système.
-mettre en place un site pour la création de compte.
Bonjour à tous,
La configuration du serveur progresse bien, le site web a été migré dessus (https://yildiz-games.be/) et est donc passé à https.
La base de donnée est également installée.
L'installation des composants se fait via docker(excepté apache qui m'a causé des soucis avec let's encrypt, mais ce n'est que partie remise), mon objectif pour aujourd'hui est de déployer automatiquement l'image docker du serveur d'authentification sur dockerhub(via maven), et ainsi de pouvoir le déployer sur la machine serveur.
Ensuite viendra le serveur de jeu, mais ce ne sera pas pour aujourd'hui je pense...
Edit: le serveur d'authentification est prêt.
Edit edit, petit soucis de vhost sur le site apparemment n'exposant pas https correctement avec le www, je fixerais ça ce soir, en attendant https://yildiz-games.be/ fonctionne correctement).
Bonjour à tous, le domaine www.yildiz-games.be passe désormais correctement par https, désolé pour ceux qui avaient eu l'affreux "ce site n'est pas sécurisé".
Je viens tout juste d'aller voir, et mon FF m'affiche une page avec entre autres :
"Les propriétaires de www.yildiz-games.be ont mal configuré leur site web. Pour éviter que vos données ne soient dérobées, Firefox ne s’est pas connecté à ce site web.". En même temps, BitDefender n'arien dit (pas eu le temps de ?) .
Il doit encore y avoir un détail de configuration ?
La configuration était bonne, par contre il manquait un reload de la config apache.
Merci pour ton retour, ça ne me serait pas venu à l'esprit de tester d'autres browser que chrome pour ça.
C'est étrange, avec chrome tout fonctionnait, par contre, comme tu as dit, firefox, (et edge également) avaient un soucis, justifié car https://www.ssllabs.com/ssltest/anal...ildiz-games.be retournait bien une erreur.
chrome serait plus permissif la dessus? pas très rassurant.
Quoi qu'il en soit, tout est bien qui fini bien (enfin j'espère, si tu peux confirmer?)
PS: c'est sans doute normal que bit defender n'ai pas donné d'alerte, firefox annonçait un danger potentiel, cependant le site n'en présente aucun(le seul JS c'est google analytics, et aucun lien vers des sources malicieuses).
Je confirme, avec mon FF 50.0.1, plus de problèmes ce soir.
Et, au fait, félicitations et encouragements !
Je verrai plus en profondeur ce we.
Merci beaucoup, pour être totalement transparent, il me restera à désactiver google analytics si do-not-track est activé, puis ça devrait être bon.
Au niveau de la web app, j'ai commencé l'analyse fonctionnelle et isolé les grands groupes du domain model, le développement commence en parallèle.
Ce sera du spring boot comme conteneur, ce qui devrait donner un proto assez rapidement, et ainsi avoir une création de compte basique pour ce week-end.
Au niveau du moteur de jeu, pas de gros changements, mise à jour des dépendances, dockerisation du module d'authentification, intégration avec sourceclear et coverity scan, et amélioration de l'API de création de fenêtre GUI, il n'est désormais plus nécessaire de les enregistrer manuellement.
Au niveau du jeu, dockerisation du serveur de jeu afin de le mettre en ligne le plus vite possible
Donc avec un peu de chance (et beaucoup de boulot), il y aura du concret pour ce week end!
Bonsoir à tous,
L'application de création de compte est fonctionnelle coté backend, elle sera déployée courant de semaine (avec un front end très basique mais suffisant), et je l'espère, également le serveur de jeu.
A bientôt pour des nouvelles.
Bonjour à tous,
Comme promis le backend de l'application web est déployé, la création de compte sera donc testée en situation durant cet après midi.
Petit résumé de l'écosystème pour s'y retrouver un peu mieux:
Le client du jeu se connecte au serveur, celui-ci est déployé sur une machine serveur, dans un conteneur docker, client et serveur communiquent via websocket.
L'application web est séparée en 2: le backend, fait en java/spring, qui contient toute la logique, également déployée dans un conteneur docker, et le front end, en html/js, déployé dans un apache, les 2 communiquent via REST
Le serveur d'authentification, exposé à la webapp, au serveur de jeu et au client, permet de gérer l'authentification/autorization via des token, il expose également son interface via websocket.
Et enfin le serveur de déploiement et le launcher, qui permet de tenir le client à jour.
D'ici demain, la création de compte devrait être rendue publique.
EDIT: typo.
Bonsoir à tous, la page de création de compte est désormais fonctionnelle, il reste quelques 'détails' à régler comme la validation serveur, mais ce que je voulais surtout pour aujourd'hui c'était le déploiement et la mise en place du reverse proxy en front du docker spring boot, ce qui est chose faite.
Sans validation serveur, il est évidemment déconseillé d'utiliser un email ou un mot de passe réel.
Ceci sera fixé d'ici mercredi.
l'adresse pour ceux qui veulent tout de même jeter un oeil: https://www.yildiz-games.be/yildiz-online
Le déploiement du serveur de jeu est en préparation.
A bientôt.
Bonjour à tous,
les dernières étapes de mise en place pour la création de compte son en cours, la validation coté serveur est fonctionnelle, il me restera donc à améliorer la sécurisation des mots de passe avec un hash plus efficace que l'actuel (ce sera sans doute bcrypt), et la mise en place du salt(random + DB) & pepper(static + property file).
Ceci devrait offrir une bonne protection aux utilisateurs contre toute personne qui pourrait avoir accès à la DB.
J'espère avoir le temps de faire ça ce soir en rentrant!
Le jeux ce joue dans un navigateur internet ?
Si oui j'ai une petite question tu utilise quel framework pour la 3D coté client ?
Non, pas du tout, c'est un client lourd java SWT avec un canvas qui abrite le contexte openGL.
Mais des interactions poussées sont prévues entre le serveur de jeu et la webapp à moyen terme.
La web app sert actuellement juste à créer des comptes.
Si je devais faire une intégration complète, j'utiliserais un canvas HTML pour le visuel, la physique et le réseau ne changerait pas, et l'audio devrait probablement être adapté.
Partager