IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Projets Discussion :

[WE-JV8]Y'a le feu! (titre temporaire. . .?)


Sujet :

Projets

  1. #21
    Membre expérimenté
    Homme Profil pro
    Développeur
    Inscrit en
    Juillet 2009
    Messages
    416
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Juillet 2009
    Messages : 416
    Points : 1 443
    Points
    1 443
    Par défaut
    Bonjour,

    Je suis en train de refondre complètement le code du jeu: je l'ai rendu complètement déterministe. Avant, j'updatais le jeu en fonction d'un delta time que je mesurais entre chaque frame, or chaque frame n'avait pas la même durée, et comme ça implique plein de calculs avec des floats qui dépendent de ce temps, ça accumulait plein de petites imprécisions qui faisaient qu'il était impossible de jouer deux fois la même partie. Si vous avez déjà fait tourner le jeu sans rien faire plusieurs fois d'affilée, vous avez peut-être remarqué que ça ne donne pas toujours le même score :p Bon, en fait, il y avait aussi le fait que les 1ères flammes au début de la partie apparaissaient aléatoirement qui devait jouer.
    Maintenant, l'update du jeu à chaque frame est fixe et ne dépend pas du temps, et s'il le faut je le fais plusieurs fois avant le rendu pour que le jeu semble toujours tourner à la même vitesse. J'ai banni les calculs qui dépendent vraiment du temps dans l'update, à part si ce sont des choses qui n'affectent pas le cœur du jeu, comme les mouvements des bras des persos. Ça permet de VRAIMENT pouvoir comparer les scores (avant, si quelqu'un avait 1 point de + ou de - que vous, c'était le plus probablement du à la chance.), et pourquoi pas, d'avoir des leaderboards et même des replays

    J'ai aussi amélioré le rendu de la fumée, pour l'instant de façon naïve, donc ça fait ramer le jeu quand elles apparaissent :p

    J'ai aussi corrigé le shader de texte: il y avait une erreur bête qui faisait apparaître un léger contour autour des lettres. Ça rend mieux maintenant.

    J'ai aussi complètement refait la recherche de chemin des bonshommes: avant, j'avais implémenté un petit A* qui cherchait le chemin entre le point de départ des bonshommes et la fusée, et qui s'adaptait tant bien que mal à l'apparition des flammes.
    Deux problèmes avec ça:
    ->Il n'y avait qu'un seul chemin possible pour les persos (et si je voulais mettre plusieurs points de départ pour les persos, je devrais calculer plusieurs chemins à chaque fois? Ou si je veux autoriser les bonshommes à prendre plusieurs chemins différents qui ont le même "coût", pour accentuer le côté chaotique?)
    ->Étant donné cette limitation, mon implémentation n'est pas super performante.

    Maintenant, je donne un "score" à chaque case de la map en partant de la position de la fusée: plus la case est loin de la fusée, plus son score est grand, et ça prend en compte les obstacles sur la route (on n'affecte un score à une case que si elle peut être atteinte directement par sa voisine qui a déjà un score). Du coup je couvre toute la map, je pourrai potentiellement faire popper un bonhomme n'importe où sur la carte et il pourrait trouver son chemin sans calcul supplémentaire Et avec une petite dose de pseudo-aléatoire (avec toujours la même seed, pour avoir le même comportement d'une partie à l'autre), on peut les voir prendre des chemins différents. Pour ça, je pourrais peut-être aussi prendre en compte le taux d'"occupation" d'une case pour que le perso fasse son choix.

    Désolé, je ne vous propose pas de nouvelle version: avant ça, je veux rendre le déplacement des persos plus joli si possible, et corriger les perfs de la fumée.

    À bientôt,

  2. #22
    Expert éminent sénior
    Avatar de Kannagi
    Homme Profil pro
    cyber-paléontologue
    Inscrit en
    Mai 2010
    Messages
    3 214
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cyber-paléontologue

    Informations forums :
    Inscription : Mai 2010
    Messages : 3 214
    Points : 10 140
    Points
    10 140
    Par défaut
    Citation Envoyé par Guntha Voir le message
    Avant, j'updatais le jeu en fonction d'un delta time que je mesurais entre chaque frame, or chaque frame n'avait pas la même durée, et comme ça implique plein de calculs avec des floats qui dépendent de ce temps, ça accumulait plein de petites imprécisions qui faisaient qu'il était impossible de jouer deux fois la même partie. Si vous avez déjà fait tourner le jeu sans rien faire plusieurs fois d'affilée, vous avez peut-être remarqué que ça ne donne pas toujours le même score :p Bon, en fait, il y avait aussi le fait que les 1ères flammes au début de la partie apparaissaient aléatoirement qui devait jouer.
    Maintenant, l'update du jeu à chaque frame est fixe et ne dépend pas du temps, et s'il le faut je le fais plusieurs fois avant le rendu pour que le jeu semble toujours tourner à la même vitesse. J'ai banni les calculs qui dépendent vraiment du temps dans l'update
    Depuis le temps sur ce forum que je dis qu'il faut toujours calculer en frame et non le temps
    Mais c'est une bonne chose , le code se retrouve lui aussi simplifier

  3. #23
    Membre expérimenté
    Homme Profil pro
    Développeur
    Inscrit en
    Juillet 2009
    Messages
    416
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Juillet 2009
    Messages : 416
    Points : 1 443
    Points
    1 443
    Par défaut
    Citation Envoyé par Kannagi Voir le message
    Depuis le temps sur ce forum que je dis qu'il faut toujours calculer en frame et non le temps
    Comme tous les génies, tu resteras incompris de ton vivant
    C'est le genre de choses dont on ne se rend compte que quand on a vraiment des contraintes qui nécessitent de se débarrasser de tout ce qui est plus ou moins aléatoirement variable.
    Tous mes projets précédents fonctionnaient avec un delta time, et ça "marchait" suffisamment bien. Il y avait juste une petite voix dans ma tête qui me disait que ça ne serait peut-être pas très stable si le framerate variait trop, et que mes algos devaient prendre ça en compte autant que possible.

    Citation Envoyé par Kannagi Voir le message
    Mais c'est une bonne chose , le code se retrouve lui aussi simplifier
    Ça demande quand même un temps d'adaptation pour se faire à cette façon de coder: la logique du jeu et du rendu est très découplée (avant, j'avais juste à dessiner mes objets dans leur état actuel, maintenant il y a une interpolation qui n'intervient que pendant le rendu pour que le jeu reste fluide), la logique du jeu elle-même est très différente (au lieu de déplacer un bonhomme progressivement et détecter quand il change de case, je dis qu'il reste pendant un certain nombre de frames sur une case, et c'est seulement au rendu qu'on donnera l'impression que le déplacement est "progressif", ...)

    En fait le problème de la fumée n'avait rien à voir avec mon implémentation naïve, c'est juste que je faisais une erreur bête avec leur scaling et leur "activation", qui faisait que j'avais une couche de sprites complètement transparents qui couvraient tout l'écran à partir du moment où je commençais à afficher la fumée x) Enfin il faudra quand même que je fasse un vrai système d'affichage des particules, surtout que je voudrai en avoir plus à l'avenir: des cendres incandescentes qui s'envolent, de la fumée, l'eau qui tombe des avions...

  4. #24
    Membre expérimenté
    Homme Profil pro
    Développeur
    Inscrit en
    Juillet 2009
    Messages
    416
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Juillet 2009
    Messages : 416
    Points : 1 443
    Points
    1 443
    Par défaut
    Bonjour!

    Comme promis, une nouvelle version avec:
    • Le jeu est complètement déterministe
    • Les déplacements des bonshommes sont plus jolis: ils ne suivent pas tous le même chemin, le trajectoire est smoothée dans les virages, et ils ne se déplacent pas tous à la même vitesse, pour rendre le tout plus chaotique.
    • La fumée a été légèrement améliorée
    • Un bug de rendu de texte corrigé




    Le lien vers la nouvelle version: https://lhuillia.iiens.net/wejv8/liv...t_Biiscuit.zip

    J'ai aussi commencé à ajouter du son, je les ai désactivés pour cette build car c'est incomplet.

    Pour la suite: je vais commencer à réfléchir comment améliorer l'interface.

  5. #25
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2016
    Messages
    129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2016
    Messages : 129
    Points : 443
    Points
    443
    Par défaut
    Ca ferait un bon petit jeu mobile pour tuer le temps dans le bus ou aux toilettes

    Nom : Sans titre.jpg
Affichages : 641
Taille : 148,0 Ko

  6. #26
    Membre expérimenté
    Homme Profil pro
    Développeur
    Inscrit en
    Juillet 2009
    Messages
    416
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Juillet 2009
    Messages : 416
    Points : 1 443
    Points
    1 443
    Par défaut
    Bonjour,

    Je me décide à vous sortir une nouvelle version: https://lhuillia.iiens.net/wejv8/livrables/FireExit.zip.

    Finalement, je n'ai pas amélioré la GUI. J'ai essayé de highlighter les barres d'eau "possibles", qui correspondent aux avions avec les réservoirs d'eau assez remplis pour la ligne qu'on est en train de tracer, mais finalement ça rendait le jeu encore plus confus. La petite nouveauté, c'est que quand vous utilisez l'avion (ou les flèches, dont je parle juste après) sur une seule case, vous pouvez voir dans quelle direction l'avion ira. D'ailleurs, ça aussi c'est une nouveauté: avant, quand on utilisait l'avion sur une seule case, l'avion venait forcément du haut de l'écran :p

    Plus grosse nouveauté: j'ai ajouté 2 nouvelles features
    • Une première implémentation des bûcherons: vous pouvez donner l'ordre de couper des arbres pour libérer de nouveaux chemins.

      Je prévois de beaucoup changer cette feature à l'avenir: les arbres deviendront des objets sur la map et non plus seulement un type de tile, et on verra chaque bûcheron s'attaquer à un arbre.
    • Les flèches: vous pouvez poser des flèches sur le sol, que les bonshommes suivront bêtement. Ça vous permet de les obliger à choisir un chemin moins exposé aux flammes que celui qu'ils sont en train de prendre... Ou de les pousser vers les flammes


    Pour switcher entre les 3 outils (les avions, les bûcherons et les flèches), utilisez la molette de la souris. J'ai fait un pointeur custom, qui change en fonction de l'outil sélectionné, mais je ne les trouve pas assez visibles par-dessus le jeu, et pas très lisibles non plus.

    Autre grosse nouveauté: le son. N'hésitez pas à baisser le son avant de lancer le jeu, certains cris risquent de vous casser les oreilles! Ils glitchent encore un peu (j'ai utilisé un mauvais outil pour les cropper, et SoLoud est peut-être un petit peu buggé aussi) mais ça met de l'ambiance.

    Il y a aussi tout plein de petites modifs: le jeu reste en 16/9ème quelles que soient les dimensions de la fenêtre, j'ai changé d'algo de random, j'ai fait quelques petites optimisations dans le moteur (notamment dans ce qui me permet de créer des meshes programmatiquement, ce que j'utilise beaucoup pour créer les textes, et qui faisait ramer le jeu en debug quand je décidais d'afficher beaucoup d'infos... Je me suis rendu compte que l'opérateur [] de std::vector grimpait très haut dans le profiler x( de quoi donner envie de ne plus utiliser la STL du tout. Maintenant je n'ai presque plus de différence de perf quand j'affiche ces infos de debug ou non :p )

    Pour la prochaine version, je vais essayer de faire toutes les modifs dont je parle pour les bûcherons, ce qui me permettrait par la suite de faire plein de features similaires (des bonshommes qui placent des barrières, des bonshommes qui cassent des murs, des bonshommes avec des extincteurs...), et aussi de vraiment trouver une meilleure GUI.

    Amusez-vous bien!

  7. #27
    Membre expérimenté
    Homme Profil pro
    Développeur
    Inscrit en
    Juillet 2009
    Messages
    416
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Juillet 2009
    Messages : 416
    Points : 1 443
    Points
    1 443
    Par défaut
    Bonjour,

    J'ai amélioré le fonctionnement des bûcherons, je suis arrivé à quelque chose qui me satisfait sans avoir à passer des semaines supplémentaires pour le rendre plus joli, et sans que ça complique encore plus le jeu (à un moment, je voulais qu'après avoir coupé un arbre, le bûcheron le traîne vers la fusée :p ou le débite en petits morceaux pour libérer le passage ^^' Pour l'instant, le faire disparaître suffit).
    Leur fonctionnement est encore un peu buggé, j'ai commencé à refactoriser une partie du code pour que ce soit moins le bordel avec ces nouvelles features (les machines à états à la rescousse).

    Au passage, ces derniers jours j'ai ajouté quelques nouvelles petites features, comme les sautillements des bonshommes ou une petite animation quand un bûcheron coupe un arbre, et une première implémentation d'un zoom/dézoom sur la map, en prévision de futures grandes maps :p Sur la vidéo ci-dessous, le zoom est au maximum.

    À noter qu'à l'affichage, seuls les sprites des bonshommes "normaux" sont triés entre eux, les sprites des bûcherons et des arbres ne sont pas triés, ce qui explique pourquoi ils sont systématiquement dessinés par-dessus les arbres au lieu d'être perdus derrière. C'est le premier chantier sur lequel je vais m'atteler après ce post.

    Toujours pas d'amélioration côté GUI :p

    Côté gameplay, je réfléchis à éventuellement changer la vitesse des bonshommes sur une case selon le nombre de bonshommes qui l'occupent... Comme ça, il faudrait peser le pour et le contre entre pousser la foule dans un petit couloir éloigné des flammes, au prix de les voir se déplacer au ralenti vu qu'ils se marcheraient sur les pieds, et laisser de grands passages ouverts pour qu'ils puissent se déplacer plus vite, ce qui obligerait à être capable de protéger une plus grande zone.


  8. #28
    Membre expérimenté
    Homme Profil pro
    Développeur
    Inscrit en
    Juillet 2009
    Messages
    416
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Juillet 2009
    Messages : 416
    Points : 1 443
    Points
    1 443
    Par défaut
    Bonjour,

    J'ai avancé sur plusieurs choses:
    =>Tous les types de sprites sont triés ensemble, donc fini les bûcherons qui marchent sur les arbres et futurs problèmes
    =>Toutes les animations, sauf les scintillements des bonshommes et tout ce qui concerne la fusée, sont créées sous Blender puis exportées en .glb que je peux lire directement, plutôt qu'hardcodées, ce qui permettra par la suite d'en rajouter plus facilement sans toucher au code et éventuellement de faire intervenir d'autres personnes dans leur création.
    =>J'ai fini: le zoom/dézoom: on passe de façon assez douce d'un niveau de zoom au suivant, mais rapide quand même.
    =>Je suis sur un gros chantier pour rendre les niveaux sérialisables: je rends tous les systèmes aussi génériques que nécessaires pour qu'ils puissent être paramétrables, et actuellement je peux presque tout charger depuis un fichier contenant la map. Par la suite, je vais faire en sorte de pouvoir stocker la map dans un fichier binaire, contenant les données du niveau et les ressources, plus rapide à charger, puis de pouvoir stocker plusieurs maps dans un même fichier, pour ne stocker qu'une seule fois les ressources partagées, et livrer le jeu avec juste une belle petite archive contenant presque toutes les données =).
    =>Il y a 2 jours, j'ai commencé à intégrer dear imgui pour créer l'éditeur de maps, et j'ai déjà une première version d'un éditeur de fusées:


    J'espère avoir terminé le chantier de la sérialisation et une partie des éditeurs d'ici la fin de l'année, pour pouvoir sérieusement commencer à créer du contenu à partir du début de l'année prochaine.

    À bientôt,

  9. #29
    Membre expérimenté
    Homme Profil pro
    Développeur
    Inscrit en
    Juillet 2009
    Messages
    416
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Juillet 2009
    Messages : 416
    Points : 1 443
    Points
    1 443
    Par défaut
    Bonjour, et bonne année à vous! J'espère que ce sous-forum sera encore plus riche cette année que l'année dernière =D

    J'ai pas mal avancé sur les éditeurs: on peut toujours éditer les fusées, mais aussi modifier les arbres (leur modèle, leur texture, leurs animations...), les bonshommes (leur modèle, leurs textures, leurs cris), glisser les arbres et les fusées depuis l'UI de l'éditeur vers la map pour les placer, mais aussi importer, remplacer ou supprimer une ressource (texture, modèle, police de caractère, son). L'import des ressources se fait par drag'n'drop depuis l'explorateur de fichiers de l'OS vers la fenêtre du jeu, parce que je trouve ça rapide et pratique comme façon de travailler, et ça ne nécessite pas de créer un explorateur de fichiers in-game (quoi que je serai sûrement obligé de faire ça à un moment ou un autre, au moins pour choisir où sauvegarder la map...)

    Ce qui m'a pris du temps, c'est créer un backend pour l'éditeur: auparavant je ne sauvegardais pas les path de mes ressources et autres infos non nécessaires au jeu, et il a fallu faire en sorte de pouvoir bouger tout ce bordel dans la mémoire au fur et à mesure des imports et autres tâches d'édition. Je n'ai pas eu de problème particulier avec dear imgui, qui est un plaisir à utiliser.


    Le glisser-déposer des arbres sur la map.


    Drag'n'drop d'une texture depuis l'explorateur Windows vers le jeu


    Une partie des outils. Il en manque plusieurs, et leur apparence n'est pas finale.

    J'ai plusieurs choses qui manquent: les marqueurs et le fonctionnement des outils (avions, haches, flèches) sont absents des éditeurs, on ne peut pas créer de nouvelles entités, et je prévois de changer complètement la façon dont le sol fonctionne (pour l'instant, c'est juste un ensemble de cases dessinées une par une). J'espère voir le bout de tout ça à la fin du mois.

  10. #30
    Membre habitué Avatar de gourmand
    Homme Profil pro
    dessinateur projeteur mécanique
    Inscrit en
    Avril 2011
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : dessinateur projeteur mécanique

    Informations forums :
    Inscription : Avril 2011
    Messages : 153
    Points : 164
    Points
    164
    Par défaut
    sympa de voir que t'on projet avance bien. bonne chance à toi

  11. #31
    Membre expérimenté
    Homme Profil pro
    Développeur
    Inscrit en
    Juillet 2009
    Messages
    416
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Juillet 2009
    Messages : 416
    Points : 1 443
    Points
    1 443
    Par défaut
    Merci gourmand!

    J'en suis presque arrivé à un point où je peux utiliser l'éditeur normalement, en corrigeant les bugs au fur et à mesure que je tombe dessus ou en ajoutant des features au fur et à mesure que j'en ressens le besoin.
    Je peux mettre en place plusieurs types d'objets sur la map, mais je ne peux pas encore paramétrer le gameplay (ajouter les outils permettant d'envoyer les hydravions ou les bûcherons, etc.).

    Dans la vidéo ci-dessous je crée une petite map fonctionnelle, mais sans pouvoir ralentir le feu au moment où j'y joue :p


    En plus de ça, il me reste plusieurs pans qui manquent au jeu lui-même, comme une façon de scripter le comportement des bonhommes ou du feu sur chaque case (il y a bien un système de "script" actuellement, mais il doit piocher dans une liste de fonctions hardcodées), une meilleure façon de paramétrer comment le feu apparaît sur la map au départ...

    J'ai fait en sorte de pouvoir importer des préfabs de fusées et de certains autres objets déjà créés au préalable, en important au passage les textures et les modèles qu'elles utilisent si nécessaire.

    À la prochaine,

  12. #32
    Membre expérimenté
    Homme Profil pro
    Développeur
    Inscrit en
    Juillet 2009
    Messages
    416
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Juillet 2009
    Messages : 416
    Points : 1 443
    Points
    1 443
    Par défaut
    Bonjour,

    Toujours sur l'éditeur, cette fois-ci je suis en train de rendre plusieurs choses scriptables:
    ->Le comportement du feu sur chaque case: maintenant la propagation "par défaut" du feu (le fait qu'une case se réchauffe de plus en plus quand ses voisines sont en feu) est entièrement en script, ce qui permettra d'autres choses, notamment le fait d'avoir des cases qui prennent feu spontanément (pour empêcher le joueur de pouvoir complètement éradiquer le feu de la map, jusque là c'était un comportement hardcodé: les cases collées aux côtés gauche et droite de la map chauffaient toujours), rendre certaines cases non-inflammables (en supprimant simplement tout script sur la case ), créer des explosions qui font que les cases voisines prennent feu instantanément, plus tard faire dépendre la propagation du feu du vent, et encore d'autres choses...
    ->Le comportement des bonshommes sur une case: pour l'instant, les modifieurs créés quand on pose une flèche sont hardcodés, bientôt le changement de direction forcé se fera en script, on pourra aussi imaginer d'autres choses comme diminuer la vitesse du bonhomme si la case est boueuse...
    ->Les outils: c'est un gros chantier en soi car il y a plein de petites choses à scripter (ce qu'il se passe quand on appuie sur un bouton de la souris, ce qu'il se passe quand on le relâche, ce qu'il se passe pendant qu'on drag, ce qu'il faut dessiner pendant qu'on drag...)

    Pour ça, j'approfondis le langage de script que j'avais commencé ici: https://www.developpez.net/forums/d1.../#post10237727

    À bientôt,

  13. #33
    Membre expérimenté
    Homme Profil pro
    Développeur
    Inscrit en
    Juillet 2009
    Messages
    416
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Juillet 2009
    Messages : 416
    Points : 1 443
    Points
    1 443
    Par défaut
    Bonjour!

    Aujourd'hui je sors une nouvelle version: https://lhuillia.iiens.net/wejv8/livrables/FireExit.zip

    J'ai atteint une milestone: je peux maintenant compiler un niveau dans un fichier qui contient tout (layout de la map, assets, features de gameplay), même s'il manque encore des features dans le jeu et que le format de ce fichier n'est pas final. La prochaine étape est d'avoir une archive contenant plusieurs niveaux et les données de progression (dans quel ordre sont les niveaux, s'il y a des conditions pour débloquer le niveau suivant, à quoi ressemble l'interface de choix du niveau...)

    Je ne suis pas satisfait du temps qu'un niveau met à charger, ce qui prend le plus de temps, c'est le décodage des sons.
    Il y a une autre chose qui m'inquiète pour l'avenir c'est la performance de mes scripts: comme le comportement du feu est maintenant scripté sur chaque case, je commence à perdre des frames quand je joue le jeu en accéléré, en debug.

    Comme je n'ai pas sorti de version depuis longtemps, il y a beaucoup de choses qui paraîtront nouvelles, notamment le mouvement des persos ou le zoom/dézoom. D'ailleurs, comme maintenant la molette sert à dézoomer, j'ai déplacé le changement d'outil vers la touche Ctrl. Maintenant, on peut aussi supprimer un marqueur sur une case (les flèches et les haches) avec le bouton droit de la souris.

    À côté de ça, j'ai commencé à créer un grand niveau à l'aide de l'éditeur, sans me soucier des graphismes pour l'instant.

    Je vais m'attaquer aux features manquantes dans les niveaux (principalement des choses cosmétiques), ainsi qu'à ce format d'archive, et je reviens vers vous dès que possible

  14. #34
    Membre expérimenté
    Homme Profil pro
    Développeur
    Inscrit en
    Juillet 2009
    Messages
    416
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Juillet 2009
    Messages : 416
    Points : 1 443
    Points
    1 443
    Par défaut
    Bonjour,

    J'ai pas mal avancé sur le format d'archive qui est à peu près fonctionnel, du coup ça m'a permis d'avancer sur les écrans de menus dont la liste des niveaux et la "carte du monde", qui n'apparaît que quand on importe une archive dans le jeu car elle contient tous les niveaux et des méta-data (leur emplacement sur le globe dans la vidéo ci-dessous, bientôt l'archive contiendra aussi les noms, localisés, des niveaux, comment ils se débloquent les uns les autres, etc.)



    Rien dans l'apparence du menu n'est final.

    À bientôt,

  15. #35
    Expert confirmé Avatar de yildiz-online
    Homme Profil pro
    Architecte de domaine
    Inscrit en
    Octobre 2011
    Messages
    1 444
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte de domaine

    Informations forums :
    Inscription : Octobre 2011
    Messages : 1 444
    Points : 4 563
    Points
    4 563
    Par défaut
    Pour les archives PhysicsFS est très bien, il supporte pas mal de formats en lecture.

    https://icculus.org/physfs/
    PXL le retro-gaming facile: Essayez-le

    Yildiz-Engine an open-source modular game engine: Website
    Yildiz-Online a 3D MMORTS in alpha: Facebook page / Youtube page

  16. #36
    Membre expérimenté
    Homme Profil pro
    Développeur
    Inscrit en
    Juillet 2009
    Messages
    416
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Juillet 2009
    Messages : 416
    Points : 1 443
    Points
    1 443
    Par défaut
    Salut yildiz-online,

    Quand je parle d'"archive", c'est un abus de langage, le but est d'avoir un format qui me permet de flat-loader un niveau et ses assets autant que possible. Il n'y a même plus les noms des fichiers d'origine dans l'archive une fois compilée :p

    J'ai avancé sur les menus, et j'ai notamment mis un début d'écran d'options simple d'apparence mais fonctionnel. Mon but à court terme est de sortir une nouvelle version du prototype, avec toujours une seule map et donc sans le menu principal et la carte du monde, mais avec le menu pause, et donc le menu d'options, accessible. Et ça me permettra de savoir si personne n'a de problèmes en switchant entre fenêtré/plein écran ou en changeant de résolution

    Ça m'a permis de voir que j'ai des petits glitches dans mon rendu des fonts, que je vais m'atteler à corriger, et aussi que je gère très mal les sons dans le jeu; il n'y a pas vraiment de "canaux" (il y a bien le concept de "Voice Group" dans SoLoud, mais ça ne me permet pas de faire directement ce que je recherche), donc pour l'instant modifier le volume est un peu galère niveau code. Et aussi il y a un crash quand on quitte le jeu alors qu'on est en mode Borderless :/


  17. #37
    Membre expérimenté
    Homme Profil pro
    Développeur
    Inscrit en
    Juillet 2009
    Messages
    416
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Juillet 2009
    Messages : 416
    Points : 1 443
    Points
    1 443
    Par défaut
    Bonjour,

    Comme promis, une nouvelle version, toujours à la même URL, avec le menu Pause et le menu d'options:

    https://lhuillia.iiens.net/wejv8/livrables/FireExit.zip

    Je suis assez satisfait de leur apparence, même si quelques petits détails me gênent un tout petit peu. Ça a évolué depuis la vidéo ci-dessus.
    Côté code par contre, cette GUI c'est le bordel :p Il faut que je nettoie tout ça.

    La suite: avancer sur la "carte du monde", ajouter les infos manquantes dans l'"archive" et optimiser le passage d'un niveau à l'autre, mieux gérer les sons, et créer des niveaux pour de vrai.

    À bientôt,

  18. #38
    Membre expérimenté Avatar de Tonton Nico
    Homme Profil pro
    Ingénieur
    Inscrit en
    Septembre 2017
    Messages
    398
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2017
    Messages : 398
    Points : 1 320
    Points
    1 320
    Par défaut
    L'effet de carte du monde est bien stytlé en tout cas! mais presque trop en décalage avec le reste du jeu :/
    TontonNico

    On me dit souvent que je ressemble à Einstein... mais plutôt à Frank que Albert

  19. #39
    Membre expérimenté
    Homme Profil pro
    Développeur
    Inscrit en
    Juillet 2009
    Messages
    416
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Juillet 2009
    Messages : 416
    Points : 1 443
    Points
    1 443
    Par défaut
    Salut Tonton Nico, et merci Oui en effet, d'ailleurs tout est encore placeholder sur le globe lui-même, j'ai simplement récupéré la texture ici: https://en.wikipedia.org/wiki/World_map#Thematic_maps
    Et je suis en train de réfléchir sur comment la faire mieux rentrer dans le thème, en la redessinant et en mettant du feu et de la tempête un peu partout...

  20. #40
    Membre expérimenté
    Homme Profil pro
    Développeur
    Inscrit en
    Juillet 2009
    Messages
    416
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Juillet 2009
    Messages : 416
    Points : 1 443
    Points
    1 443
    Par défaut
    Bonjour,

    Juste une petite mise à jour avec un fix d'un bug qui faisait que la liste des résolutions dans l'écran des options affichait des conneries si on passait plusieurs fois entre fenêtré plein écran, et pouvait faire crasher, et j'ai changé l'écran de fin pour qu'il soit cohérent avec le reste de la GUI (même s'il manque d'âme), et pour y préparer un bouton permettant de revenir à la carte du monde .

    https://lhuillia.iiens.net/wejv8/livrables/FireExit.zip

Discussions similaires

  1. [IP-2010] Créer des "variables" temporaire pour l'affichage des titres
    Par MrMeteo dans le forum InfoPath
    Réponses: 1
    Dernier message: 26/02/2014, 20h56
  2. Variable modulable [Titre temporaire]
    Par llaffont dans le forum C#
    Réponses: 17
    Dernier message: 24/11/2007, 12h50
  3. [VB6] masquer la barre de titre d'une form
    Par tiboleo dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 09/12/2002, 17h54
  4. [VB6] Déplacer la form sans cliquer sur la barre de titre
    Par Ingham dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 14/11/2002, 02h09
  5. Réponses: 2
    Dernier message: 17/10/2002, 16h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo