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. #41
    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 trois sujets:
    =>L'avancement dans le jeu: on gagne maintenant des médailles à la fin des niveaux, et le déblocage de chaque niveau suivant est conditionné à l'obtention d'un certain nombre de médailles. Le nombre de médailles pour débloquer chaque niveau est un info contenue dans l'archive.
    Il y a en prime une animation quand on débloque un niveau. Je n'ai pas encore de vidéo complète et propre qui montre bien ça. Je voudrais aussi ajouter, si nécessaire, une condition de déblocage supplémentaire: ne débloquer un niveau que si on a obtenu une médaille particulière dans un niveau particulier.
    =>Les sons: finalement dans SoLoud il y a bien quelque chose qui correspond aux "canaux" que je voulais faire: les SoLoud::Bus. Le changement de volume est donc maintenant très simple.
    =>Les sauvegardes: j'ai fait à peu près tout ce dont j'ai besoin pour sauvegarder les options et la progression dans le jeu, y compris la petite animation qui va bien pendant la sauvegarde (ci-dessous je ralentis artificiellement la sauvegarde, sinon c'est presque instantané, j'ai mis un fade une fois la sauvegarde terminée pour que le joueur ait le temps de voir que sa partie a bien été sauvegardée :p )

    Pour la suite: il manque encore quelques infos dans l'archive, notamment les noms localisés des niveaux, optimiser le jeu - actuellement on peut facilement dépasser les 3000 draw calls sous certaines conditions, et encore il manque encore des features dans le jeu -, optimiser, comme je l'ai dit plus tôt, le passage d'un niveau à l'autre (actuellement, ça ne marche pas vraiment comme prévu et je l'ai laissé de côté...). Et plus tard il faudra que je m'attaque à un chantier: avoir un seul exécutable et charger soit le renderer OpenGL, soit le renderer DirectX 12 via une DLL. Et bien sûr créer du contenu.

  2. #42
    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,

    Alors déjà, pour répondre à moi-même dans les posts précédents :p :

    =>L'archive contient maintenant, pour chaque niveau, son nom, localisé, ainsi que l'emplacement initial de la caméra
    =>J'ai optimisé le jeu mais, plutôt qu'en réduisant le nombre de draw call, j'ai réduit les changements d'état entre chaque draw call, et je me suis débarrassé de plein de multiplications de matrices inutiles. Réduire le nombre de draw call n'augmentait les perfs que dans la version D3D12 et en debug (car avec ses flags de debugs activés, D3D12 fait beaucoup plus de checks), donc ça n'avait aucun intérêt. Updater les vertex buffers à chaque frame me faisait même perdre de la performance dans la version OpenGL :p (dans ce jeu il n'y a pas que des sprites carrés, donc faire un batch de plein d'objets peut être plus compliqué...)

    Des progrès sur d'autres sujets:
    =>On peut scripter une forme primitive de tuto (des bandeaux de texte et des déplacements de caméra). Les tutos peuvent être désactivés dans les options
    =>Les bonshommes qui brûlent sont gérés complètement différemment: avant ils allaient dans une liste à part et se déplaçaient tout droit sans prendre en compte les tiles, maintenant il s'agit d'un état d'un bonhomme, donc ils se déplacent en respectant les tiles comme les bonshommes normaux (mais en plus paniqués), ce qui permet de les éteindre à coup de bombardier d'eau
    =>Il y a quelques jours, j'ai commencé à m'intéresser à l'amélioration du feu, je me suis basé sur ce shader sous licence MIT: https://www.shadertoy.com/view/lsscWr , en expérimentant quelques modifications (la principale était que j'avais besoin d'un "dessous" pour les flammes). Il y a une énorme marge d'amélioration.
    =>Un écran titre un peu plus rigolo, avec des fusées qui sortent de partout
    =>La caméra est maintenant autorisée à regarder légèrement à l'extérieur de la map, comme ça quand il y aura de la GUI qui bloquera une partie de l'écran, ça n'empêchera pas d'accéder aux tiles qui sont sur les bors de l'écran
    C'est un problème pour lequel je me suis longtemps demandé ce que je ferais (faire une map plus grande que la zone jouable, mais dans ce cas ce serait bizarre que les tiles qui ne sont pas dans la zone jouable ne soient pas interactives alors qu'elles semblent identiques, flouter l'extérieur de la map, bloquer la caméra et pouvoir cliquer sur une tile à travers la GUI)... Puis je ne sais plus comment, je me suis dit que ça serait pas mal de mettre le niveau sur une espèce de carte, avec sur les côtés des textes "ZONE DE CRISE" et des flèches qui vont en direction de la map :p

    À peu près tous ces progrès sont visibles dans cette vidéo:


    En moins bonnes nouvelles, j'ai essayé d'améliorer le modèle des bonshommes (actuellement, le bras semble séparé du corps et le haut du bras s'affiche par-dessus l'épaule, j'ai voulu faire en sorte qu'il paraîsse bien attaché), mais j'ai des soucis avec l'exporteur gltf de blender, donc j'ai laissé ça de côté...

    Je veux essayer de sortir une démo avec 2 niveaux d'ici quelques semaines.

    À la prochaine,

  3. #43
    Membre habitué Avatar de GalliezB
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2013
    Messages
    89
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2013
    Messages : 89
    Points : 162
    Points
    162
    Par défaut
    Il a super bien avancé
    J'adore, j'ai toujours envie de faire mieux

    Pour le moment 1624 c'est mon best score. Vous avez atteint combien ?

    edit : 2109

  4. #44
    Membre éprouvé
    Avatar de Garvelienn
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2016
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

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

    Informations forums :
    Inscription : Septembre 2016
    Messages : 244
    Points : 993
    Points
    993
    Par défaut
    Si je peux ajouter ma petite contribution, avez-vous prévu de créer des civils plus ou moins âgés ? Par exemple, les vi... personnes âgés comptent moins dans le score final.

    Comment ça, c'est malvenu comme idée ?
    «Le management, tel qu’on l’apprend dans les écoles et tel qu’on l’applique ensuite, sous prétexte de «motivation du personnel», organise exactement le contraire, à savoir la démotivation organisée.» - Bernard Stiegler

  5. #45
    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
    J'ai prévu de pouvoir ajouter plein de bonshommes visuellement différents, mais pas que ça influe sur le score :p

  6. #46
    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,

    C'est plutôt une news côté moteur, donc ça s'applique à d'autres de mes jeux.

    Depuis peu, je supporte le fait d'avoir un seul exécutable qui choisit la meilleure API de rendu au lancement selon la machine (dans la majeure partie des cas, ça choisira simplement DirectX12 sur Windows 10 et OpenGL3, la seule autre API que je supporte, dans les versions antérieures). Avant ça, je compilais 2 exécutables différents, un qui utilise DirectX12, l'autre OpenGL.

    Ça facilitera la vie des futurs joueurs qui ne risqueront pas de se tromper d'exe en lançant le jeu.



    Je garde toujours la possibilité de compiler un exécutable qui contient directement l'intégration d'une des API, c'est utile dans certains cas, par exemple si je porte le moteur sur console ou une autre plate-forme où il n'y a qu'un API disponible et donc éviter l'overhead qui va avec le fait d'utiliser une dll.

    Désolé, rien de visible cette fois-ci, j'espère faire mieux la prochaine fois Notamment, il y a mon éditeur de niveaux qui ne fonctionne plus très bien depuis que j'ai réorganisé les données dans le jeu, et j'ai quelques effets à rajouter, et des optimisations à faire (aujourd'hui, on peut se retrouver à afficher 3000 objets skinnés et animés, et ça commence à se sentir sur le framerate...) Depuis peu j'ai à nouveau de l'aide pour ajouter des fusées =) Et je me suis moi-même mis à Affinity Designer, parce que je veux avoir beaucoup de contenu pour rendre le jeu vivant...

    À la prochaine, en espérant que vous attendrez moins longtemps. Je viens de me rendre compte que mon post précédent a presque 1 an x( On progresse peu quand on retrouve un boulot à plein temps...

  7. #47
    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 pu continuer à avancer, et cette fois j'ai des images à vous montrer!

    Comme je le dis dans mon post précédent, mon éditeur de niveaux ne marchait plus vraiment, ça s'est amélioré et il est redevenu en grande partie utilisable, même s'il est assez brouillon (il faudrait qu'on puisse faire de l'undo/redo un de ces jours :p ).

    Côté visuels, après un brainstorming avec Biiscuit, on a décidé que la meilleure façon de représenter les bords de la map, ce serait un gros nuage de fumée qui s'étend à l'infini au-delà des bords de la map.
    Non seulement c'est plus joli qu'avant, mais ça nous autorise à avoir des bords qui ne sont pas forcément carrés et qui n'ont pas l'air taillés à la serpe, de cacher certaines zones à l'intérieur de la map, et peut-être plus tard de pouvoir scripter une espèce de "brouillard de guerre" pour dévoiler de nouvelles parties d'une map.

    Je me suis basé sur ce shader pour le rendu du nuage de fumée: https://www.shadertoy.com/view/lslXRS

    Pour rappel, avant les bords ressemblaient à ça:


    Biiscuit a eu l'occasion d'ajouter quelques nouvelles fusées


    Certains membres de ma famille peuvent maintenant essayer une démo du jeu (les niveaux actuels sont plutôt des proof-of-concept que de vrais niveaux, donc je n'ai rien de sortable pour le moment).

    Prochaine étape: corriger plus de bugs qui sont là depuis longtemps, et améliorer le rendu du sol de la map.

    À bientôt!

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