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

Discussion :

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


Sujet :

Projets

  1. #1
    Membre éprouvé
    Homme Profil pro
    Développeur
    Inscrit en
    juillet 2009
    Messages
    343
    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 : 343
    Points : 1 099
    Points
    1 099
    Par défaut [WE-JV8]Y'a le feu! (titre temporaire. . .?)
    Bon dernier jour de votre vie!

    Ou bon dernier jour sur cette planète si vous avez de la chance!

    La Terre est tellement chaude que des incendies se déclarent spontanément et auront consumé la planète avant la fin de la journée!

    Heureusement, des fusées sont prêtes à décoller pour vous emmener vers un autre monde.

    En tant que pompier de la fin du monde, votre rôle est de vous assurer que les habitants de la planète puissent rejoindre cette fusée en toute sécurité, peu importe s'il faut épuiser les dernières réserves d'eau de la planète pour ça!

    =============================================================================

    Pour rentrer dans les détails:
    Le jeu se déroulera sur une grille, sur laquelle des flammes se rapprocheront inexorablement de la fusée salvatrice et de la foule de gens qui veulent y parvenir. Si les flammes se rapprochent trop de la fusée, elle décollera sans prévenir par sécurité, tant pis pour ceux qui sont encore au sol. Mais en protégeant la fusée, n'oubliez pas de sécuriser le chemin des gens qui veulent y monter pour ne pas avoir de barbecue humain avant même que la fusée n'ait décollée! Vous pourrez mettre des marquages au sol pour modifier le mouvement des gens, si le chemin qu'ils prennent vous semble trop risqué.

    Si tout va bien, prochain post dans quelques heures!

    Bonne nuit

  2. #2
    Rédacteur/Modérateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    novembre 2012
    Messages
    3 257
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : novembre 2012
    Messages : 3 257
    Points : 9 512
    Points
    9 512
    Par défaut
    Rien de tel qu'un pompier pour sauver l'humanité dans ses dernières heures Le concept a l'air très cool, j'ai hâte de voir ce que ça donne !
    One Web to rule them all

  3. #3
    Membre éprouvé
    Homme Profil pro
    Développeur
    Inscrit en
    juillet 2009
    Messages
    343
    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 : 343
    Points : 1 099
    Points
    1 099
    Par défaut
    Merci!

    Tout semble calme près de la plateforme de lancement...
    Nom : defaultMap.jpg
Affichages : 550
Taille : 299,9 Ko

    Mais le feu se propage! (ici en accéléré):

  4. #4
    Membre éclairé
    Homme Profil pro
    Programmeur du dimanche
    Inscrit en
    août 2017
    Messages
    206
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Programmeur du dimanche
    Secteur : Enseignement

    Informations forums :
    Inscription : août 2017
    Messages : 206
    Points : 654
    Points
    654
    Par défaut
    J'espère bien que c'est accéléré !!! C'est déjà joli.

  5. #5
    Membre éprouvé
    Avatar de Garvelienn
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    septembre 2016
    Messages
    231
    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 : 231
    Points : 919
    Points
    919
    Par défaut
    Salut Guntha,
    Quelles technologies utilisez-vous ? SFML ? Löve2D ?
    «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

  6. #6
    Membre éprouvé
    Homme Profil pro
    Développeur
    Inscrit en
    juillet 2009
    Messages
    343
    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 : 343
    Points : 1 099
    Points
    1 099
    Par défaut
    Salut Garvelienn,

    C'est un moteur perso, avec au choix un renderer DirectX12 ou OpenGL 3, malheureusement uniquement Windows pour l'instant, avec lequel j'ai déjà commencé plusieurs projets que j'ai présenté sur ce forum; en fait, chaque projet que j'ai fait pour les week-end de programmation de Developpez.com depuis 2015 utilisent ce moteur :p

  7. #7
    Membre éprouvé
    Avatar de Garvelienn
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    septembre 2016
    Messages
    231
    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 : 231
    Points : 919
    Points
    919
    Par défaut
    Donc on est dans la même galère avec nos moteurs maisons respectifs
    J'ai hâte de voir la suite !
    «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

  8. #8
    Membre éprouvé
    Homme Profil pro
    Développeur
    Inscrit en
    juillet 2009
    Messages
    343
    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 : 343
    Points : 1 099
    Points
    1 099
    Par défaut
    Un petit gif pour finir la journée:

    Malheureusement, les bonshommes ont bien souffert de la compression :/

  9. #9
    Membre éprouvé
    Avatar de Garvelienn
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    septembre 2016
    Messages
    231
    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 : 231
    Points : 919
    Points
    919
    Par défaut
    C'est géant les PNJ qui courent la tête en feu ! Ça donne tout de suite un ton au jeu
    «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

  10. #10
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    septembre 2015
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Gabon

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : septembre 2015
    Messages : 33
    Points : 50
    Points
    50
    Par défaut
    Citation Envoyé par Guntha Voir le message
    Un petit gif pour finir la journée:

    Malheureusement, les bonshommes ont bien souffert de la compression :/
    Salut !
    Comment tu fais tes gif?

  11. #11
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    septembre 2015
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Gabon

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : septembre 2015
    Messages : 33
    Points : 50
    Points
    50
    Par défaut
    J'ai hâte de pouvoir y jour

  12. #12
    Membre éclairé
    Homme Profil pro
    Programmeur du dimanche
    Inscrit en
    août 2017
    Messages
    206
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Programmeur du dimanche
    Secteur : Enseignement

    Informations forums :
    Inscription : août 2017
    Messages : 206
    Points : 654
    Points
    654
    Par défaut
    Et même la nuit !

  13. #13
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    septembre 2015
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Gabon

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : septembre 2015
    Messages : 33
    Points : 50
    Points
    50
    Par défaut
    J'ai hâte de pouvoir y jouer

  14. #14
    Membre éprouvé
    Homme Profil pro
    Développeur
    Inscrit en
    juillet 2009
    Messages
    343
    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 : 343
    Points : 1 099
    Points
    1 099
    Par défaut
    Citation Envoyé par orpheeh Voir le message
    Salut !
    Comment tu fais tes gif?
    J'utilise GifCam

  15. #15
    Membre éprouvé
    Homme Profil pro
    Développeur
    Inscrit en
    juillet 2009
    Messages
    343
    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 : 343
    Points : 1 099
    Points
    1 099
    Par défaut
    Les derniers habitants de la Terre PANIQUENT!


    Je voulais aller jusqu'au bout de l'idée de fin du monde en n'implémentant pas la possibilité de redémarrer la partie sans quitter le jeu (le monde ne peut finir qu'une seule fois), mais le désir d'offrir la meilleure expérience utilisateur l'a emporté...
    Nom : results.jpg
Affichages : 509
Taille : 99,9 Ko
    (Pour info, 589 est un très mauvais score, qu'on atteint en se contentant de laisser les flammes grignoter toute la map sans rien faire :p)

  16. #16
    Membre éprouvé
    Homme Profil pro
    Développeur
    Inscrit en
    juillet 2009
    Messages
    343
    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 : 343
    Points : 1 099
    Points
    1 099
    Par défaut
    Bonsoir,

    Voici la version du week-end:

    https://lhuillia.iiens.net/wejv8/liv...am_version.zip

    J'ai abandonné l'idée des marqueurs au sol par manque de temps, qu'on n'a pas vraiment cherché à optimiser - on s'est même permis une séance de cinéma -, et en plus, il y a déjà un projet de Lemmins-like.
    Et puis cette absence peut-être considéré comme une feature: c'est pas à 2 minutes de la fin du monde que les gens vont suivre des consignes de sécurité! C'est la panique totale!

    Pour jouer, il suffit de cliquer sur les cases - ou de tracer des lignes - à l'aide du bouton gauche de votre souris, pour appeler des bombardiers d'eau qui refroidiront la case choisie. Le but des de protéger la plate-forme de lancement, et la foule de gens, des flammes qui progressent pendant un maximum de temps.

    Bon jeu!

  17. #17
    Rédacteur/Modérateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    novembre 2012
    Messages
    3 257
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : novembre 2012
    Messages : 3 257
    Points : 9 512
    Points
    9 512
    Par défaut
    J'avais un bon pressentiment sur ce jeu et je ne me suis pas trompé, c'était très fun ! Pas bien compris le système de jauges d'eau, mais c'était très nerveux à la fin. Et le scoring encourage à rejouer. Bien joué !
    One Web to rule them all

  18. #18
    Membre éclairé

    Homme Profil pro
    Ingénieur logiciel embarqué
    Inscrit en
    juillet 2002
    Messages
    292
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : juillet 2002
    Messages : 292
    Points : 732
    Points
    732
    Par défaut
    Ma fois, j'ai un directX de retard, ça va pas durer, bientôt, je n'en aurais plus... mais ça tout le monde s'en fous !

    Ce jeu est etrange ... quelle satisfaction de voir courir des gents en feu ça me fait peur ! Je me suis pris a penser que ça manquais de cris !

    Dans tout les cas, jolie performance : ca se joue bien, c'est fluide, c'est stable ... bravo

  19. #19
    Membre éprouvé
    Homme Profil pro
    Développeur
    Inscrit en
    juillet 2009
    Messages
    343
    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 : 343
    Points : 1 099
    Points
    1 099
    Par défaut
    Bonjour!

    D'abord, pour répondre à SylvainPV: en fait chaque jauge est divisée en 4 (le nombre max de cases qu'on peut éteindre en 1 passage), et à chaque fois qu'un avion passe au-dessus d'une case à éteindre, il vide 1/4 de son réservoir d'eau. On ne peut envoyer qu'un avion qui a au moins autant d'eau dans son réservoir que de cases couvertes, dont si tu donnes l'ordre d'éteindre 4 cases mais qu'aucun des avions n'a le réservoir assez rempli, aucun avion ne viendra. Par contre, si tu ne cliques que sur 1 case, l'avion qui passera ne videra qu'1/4 de son réservoir à son passage.
    Malheureusement, le feedback est inexistant quand aucun avion n'est assez plein, et ce n'est pas facile de gérer tout ça dans l'urgence de l'incendie :p

    Maintenant que je n'ai plus la tête dans le guidon, j'aimerais parler un peu plus en détail du développement du jeu.


    Pour le thème de la fin du monde, j'ai assez vite pensé à des fusées qui quittent la planète. Au début, je pensais à un jeu à la Overcooked (parce que j'aimerais bien faire un jeu du genre aussi :p ) où on prend des bébés pour les mettre dans des fusées qui partiront coloniser d'autres mondes, avant la fin du temps imparti. Mais à part faire des aller-retours en boucle, je ne voyais pas quoi faire d'intéressant avec cette idée...
    Puis à un moment, j'ai pensé à Chu Chu Rocket, auquel je n'ai jamais joué, dans lequel on guide des souris vers une fusée, en faisant en sorte qu'elles ne tombent pas dans la gueule des chats. Puis l'idée du feu qui se propage est arrivée :p Dans mon idée originale, il fallait beaucoup plus gérer le chemin pris par les persos, mais faire un bon pathfinding, prédictible et fun à modifier, c'est pas évident... Donc j'ai d'abord implémenté les choses les plus simples: la carte sur une grille, et la propagation du feu: en fait, quand il y a du feu sur une case, il chauffe progressivement les 4 cases adjacentes. S'il y a plusieurs cases enflammées adjacentes à une case, elle chauffe plus vite. Quand elle atteint une certaine température, elle devient enflammée.

    Au départ, on pouvait cliquer sur les cases pour les refroidir immédiatement, puis j'ai ajouté le tracé des lignes (ce qui nécessite de lâcher le bouton de la souris avant que les cases s'éteignent), puis les avions qui partent au moment où on lâche le bouton. Au départ, les avions n'étaient là que pour décorer, ce n'est que très près de la fin que j'ai fait en sorte que les cases s'éteignent au moment où les avions passent vraiment au-dessus (et pas dès leur départ).
    Et je crois que ce n'est que samedi soir que j'ai attaqué l'implémentation d'un A* pour une grille (ça m'a tout de même posé nettement moins de problèmes qu'il y a 2 ans, quand j'avais essayé d'implémenter un système de collision 3D à partir de rien :p ).
    C'est aussi très tard que j'ai limité l'apparition des avions (4 maximum en même temps), et qu'il faille attendre que leurs réservoirs soient un minimum rempli pour pouvoir les envoyer. C'est peut-être à cause de ça que les jauges ne sont pas très claires.

    J'ai commencé par faire des graphismes à l'arrache pour que le jeu fonctionne, puis ma copine en a fait de nouveaux, et c'est aussi elle qui a eu l'idée de rendre les bonshommes affolés avec les bras qui s'agitent :p

    En dehors du week-end, j'ai récemment commencé à gérer l'affichage des textes dans mon moteur, et j'avais juste assez de features fonctionnelles pour afficher proprement le score et un phrase avec le score au milieu à la fin, donc pas trop de temps perdu là-dessus.


    Je pense continuer le développement du jeu, au moins pour corriger les quelques bugs qui restent (des déplacements erratiques quand le chemin des persos n'est plus valable, les persos qui ont les bras bloqués... Et plus haut, quand j'accuse le gif d'avoir déformé les persos, en fait c'est ma génération manuelle des mipmaps dans la version DirectX12 qui ne fonctionnent pas bien sur les textures qui ne sont pas en puissance de 2, que DirectX12 n'apprécie pas trop de toute façon x( ).
    Et peut-être pour ajouter quelques petites choses comme du son, du texte dont la taille s'adapte à la taille de la fenêtre, et les flèches à placer au sol dont je parlais au départ.
    On peut aussi imaginer avoir plusieurs maps avec des thèmes différents (si on est en ville ou en forêt, ou dans des pays différents), des features différentes sur chaque map... On peut encore partir très loin, mais il va falloir que je m'arrête un moment :p

  20. #20
    Membre éprouvé
    Homme Profil pro
    Développeur
    Inscrit en
    juillet 2009
    Messages
    343
    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 : 343
    Points : 1 099
    Points
    1 099
    Par défaut
    Bonjour,

    Je vous propose une version qui corrige quelques bugs, sans ajouter rien de nouveau, histoire d'avoir une version "game jam" sans bugs:
    ->Les persos ne volent plus n'importe comment quand le chemin vers la fusée est coupé (bug qu'on voit dans la vidéo de SylvainPV x) ). Pour une prochaine version, ils auront un comportement plus "affolé" quand ça arrive.
    ->Leurs bras ne se bloquent plus
    ->J'ai amélioré la génération des mipmaps dans la version DirectX12:

    (à gauche: la version DirectX12 du week-end dernier, au milieu la nouvelle, à droite la version OpenGL, qui n'a pas changé)
    J'ai galéré au début car je suis parti sur une mauvaise piste: je voulais remplacer mon interpolation bilinéaire par une interpolation bicubique, alors que ça donne quasiment le même résultat quand on réduit une image. Finalement j'ai gardé mon interpolation bilinéaire, en faisant au préalable un smoothing des 4 pixels que j'interpole.
    Ça ne donne pas le même résultat qu'un glGenerateMipmap, c'est un poil plus flou, mais il n'y a pas l'artéfact dégueu sur la fusée qu'il y avait avant.
    J'aurais pu le régler pour avoir les rayures de la fusée encore plus smooth, mais dans ce cas l'herbe devient encore plus floue x) J'essaierai de trouver les bons réglages. Malheureusement je ne trouve pas de documentation sur le fonctionnement de glGenerateMipmap, et pour directX12 je trouve uniquement des samples qui font la génération en compute shader, je m'y pencherai peut-être plus tard.
    ->Pour les persos qui deviennent moches dans la version DirectX12 quand on redimensionne la fenêtre, je me suis contenté de donner à la texture des dimensions en puissance de 2 pour que ça n'arrive pas.

    ->Et surtout, Il y avait une méchante fuite mémoire dans l'affichage des textes :p

    Voilà la version: https://lhuillia.iiens.net/wejv8/liv...sion_fixed.zip

    Je suis aussi en train de faire des modifs pour rendre le jeu visuellement plus chaotique et ajouter de nouvelles features, mais je garde ça pour de futures versions "non-jam".

    PS: record de Biiscuit à battre:

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