1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    juillet 2009
    Messages
    239
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juillet 2009
    Messages : 239
    Points : 667
    Points
    667

    Par défaut [WEJV5] Une map "tapis roulant"

    Bonjour,

    Bien que je ne pense pas que je pourrai vous montrer quelque chose d'aussi fini et d'aussi bien que l'an dernier, je vous présente mes avancées.

    Cette année, j'ai décidé de sortir de ma zone de confort en essayant quelque chose d'un peu original en vertex shader, alors que tout ce qui est rendu n'est pas du tout mon domaine :p



    Mon idée était de présenter une map dans laquelle, lorsqu'on se déplace et qu'on perd du décor de vue, le sol et les objets posés dessus défilent comme s'ils étaient sur un tapis roulant.
    Ça pourrait juste être un habillage pour n'importe quel jeu d'aventure, d'action ou RPG ou tout autre jeu avec un décor un peu ouvert, mais l'idéal serait bien sûr d'utiliser ce système dans le gameplay, genre des objets pourraient tomber dans le vide quand on les perd de vue et ne plus revenir quand on revient au même endroit...

    Comme je suis un pas doué en shaders, je n'ai pas eu le résultat que je voulais, et de toute façon la façon dont j'utilise les tiles du terrain peut facilement être améliorée pour éviter les trous qu'on voit dans le terrain.

    Quelques images intermédiaires pour en arriver là:









    Je ne pense pas que je pourrai livrer ce qu'on peut appeler un jeu d'ici demain soir, d'autant plus que j'aurai peu de temps pour travailler dessus demain.

    Pas d'extravagances cette année, juste une version windows:

    http://lhuillia.iiens.net/wejv5/livr...n1_windows.zip

    Vous pouvez simplement faire défiler la map avec les touches fléchées.

    Bonne fin de week-end

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    juillet 2009
    Messages
    239
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juillet 2009
    Messages : 239
    Points : 667
    Points
    667

    Par défaut

    Bonjour,



    J'ai passé la journée à faire une petite map à parcourir, et pas tellement de code, à part un peu de nettoyage.



    En mouvement, il y a un petit côté Bastion qui n'est pas du tout ce que je recherchais mais qui en soi ne rend pas si mal.

    La version, pour que vous puissiez en profiter:
    http://lhuillia.iiens.net/wejv5/livr...n2_windows.zip

    Je vais peut-être enrichir un peu la map d'ici minuit, et je ne pense pas aller plus loin.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    juillet 2009
    Messages
    239
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juillet 2009
    Messages : 239
    Points : 667
    Points
    667

    Par défaut

    Bonsoir,

    La dernière version du week-end:

    http://lhuillia.iiens.net/wejv5/livr...n3_windows.zip

    Une map plus riche, et deux nouvelles features:

    ->En appuyant sur Espace, vous pouvez switcher de mode de déplacement: par défaut vous déplacez la map, sinon vous déplacez la caméra.


    (Vous apprécierez le gif qui ne fait pas 20 Mo x) )

    En fait, cette feature était déjà présente dans les autres versions mais le bouton était tellement mal géré que le switch ne se déclenchait pas toujours, donc j'ai préféré ne pas vous alarmer

    ->Vous pouvez switcher entre projection orthographique et perspective avec F2. Au départ j'avais pensé le truc pour que ce soit joué en orthographique, et par inadvertance j'ai livré les premières versions en perspective (mode que j'utilisais pour mieux voir certains bugs), et ça rendait aussi bien sinon mieux...

    Voilà voilà, rien de très nouveau dans la map, juste plein de tours et du plancher à l'intérieur

    Bonne fin de soirée,

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    août 2015
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 22
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : août 2015
    Messages : 7
    Points : 5
    Points
    5

    Par défaut

    Ton jeu a l'air très sympa et le concept de déplacement m'intéresse.
    J'ai donc téléchargé ton jeu, puis lancé... puis crashé. Peut-être cela vient du fait que je suis sur un Windows 10 ?

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    juillet 2009
    Messages
    239
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juillet 2009
    Messages : 239
    Points : 667
    Points
    667

    Par défaut

    Ça m'étonne d'avoir des gens qui me rapportent des crashes cette année, sachant que j'ai utilisé le même moteur que l'année dernière et que je n'avais pas eu de retours de ce genre.

    Il faut savoir que j'ai développé ça sur une machine qui a 7 ans Si c'est dû à Windows 10, j'aurai un nouveau PC d'ici quelques semaines, je pourrai vérifier.

  6. #6
    Membre éclairé Avatar de maeiky
    Homme Profil pro
    Développeur informatique
    Inscrit en
    juin 2013
    Messages
    200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : juin 2013
    Messages : 200
    Points : 780
    Points
    780

    Par défaut

    Citation Envoyé par Rewar Voir le message
    Ton jeu a l'air très sympa et le concept de déplacement m'intéresse.
    J'ai donc téléchargé ton jeu, puis lancé... puis crashé. Peut-être cela vient du fait que je suis sur un Windows 10 ?
    C'est un super prototype! Mais malheureusement, même chose pour moi sous Win 7
    Linx, un nouveau langage intuitif
    Simacode IDE, auto-complétion & compilation instantané
    GZE, moteur 2d/3d multi-langage/multi-plateforme

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    juillet 2009
    Messages
    239
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juillet 2009
    Messages : 239
    Points : 667
    Points
    667

    Par défaut

    Bonjour,

    Alors, pas moyen de le faire planter chez moi, par contre je viens d'essayer sur deux autres machines (une sous Windows 7 et une sous Windows 8.1, sur laquelle Windows essaie carrément d'empêcher l'exécution ) et pas moyen de le faire fonctionner sur celles-ci.

    Je vais essayer de débugger tout ça demain, quand j'aurai l'occasion de mettre les sources sur ces machines.

    Je vous tiens au courant.

  8. #8
    Membre régulier
    Homme Profil pro
    Développeur Mobile
    Inscrit en
    août 2014
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur Mobile
    Secteur : Industrie

    Informations forums :
    Inscription : août 2014
    Messages : 31
    Points : 86
    Points
    86

    Par défaut

    Je trouve ta petite vidéo très fun, par contre je suis sur linux dommage, j'aurai bien testé :p

  9. #9
    Membre éclairé
    Profil pro
    Inscrit en
    juillet 2009
    Messages
    239
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juillet 2009
    Messages : 239
    Points : 667
    Points
    667

    Par défaut

    Voilà enfin la version corrigée, testée sur les trois machines dont j'ai parlé:

    http://lhuillia.iiens.net/wejv5/livr...ed_windows.zip

    En fait, le shader qui fait une rotation des vertex au bord du terrain ne compile pas: je modifie légèrement la couleur de ces points pour donner artificiellement un effet de profondeur, et pour cela je modifiais directement la couleur de vertex que j'envoyais en entrée au lieu de modifier une copie, ce qui visiblement est interdit (sauf sur ma vieille ATI mobile =) )
    Quand je vous disais que je suis pas doué en shader.

    Mais si ce n'était que ça, vous auriez quand même du voir les bâtiments et les arbres au-dessus du vide au lieu de crasher. Bizarrement, le code qui récupère les infos quand une compil de shader échoue parce que je n'avais pas chargé la fonction glGetShaderInfoLog. Alors que je suis sais que par le passé j'avais chargé cette fonction vu que j'ai eu l'occasion de tester les messages sur des shader qui ne compilaient pas...

    Bref, vous pouvez maintenant enfin tester cette démo sur des machines dont le driver graphique n'est pas trop permissif

  10. #10
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    août 2015
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 22
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : août 2015
    Messages : 7
    Points : 5
    Points
    5

    Par défaut

    J'ai enfin pu m'essayer à ton "jeu". Alors oui je l'ai mis entre guillemets parce que c'est plus une expérience vidéoludique un peu à la Proteus qu'un jeu. Attention, ce n'est pas un reproche, j'adore ce genre de "jeu" et je pense que tu pourrais en faire un très bon jeu sur le long terme.
    Saches que si tu continues le projet, je veux être tenu au courant, j'adore l'idée

    En tout cas félicitations et bonne continuation

  11. #11
    Expert confirmé
    Avatar de Vetea
    Homme Profil pro
    Technicien Test - Maintenance - Production - BE dans une PME d'electronique
    Inscrit en
    février 2005
    Messages
    2 047
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Test - Maintenance - Production - BE dans une PME d'electronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : février 2005
    Messages : 2 047
    Points : 5 369
    Points
    5 369

    Par défaut

    Bonsoir,

    J'ai pu tester cette démo sur mon système ( Win8.1 Pro - Nvidia GTX560Ti ), ça tourne nickel !
    Techniquement agréable à regarder et ce concept pourrait être sympa à utiliser pour un petit jeu genre Tower Defence.

    Bon boulot !!
    Développeur - Créateur Amateur de Jeux vidéos
    Visitez ma page dédiée
    Visitez mon espace Itch.io

  12. #12
    Membre éclairé
    Profil pro
    Inscrit en
    juillet 2009
    Messages
    239
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juillet 2009
    Messages : 239
    Points : 667
    Points
    667

    Par défaut

    Bonsoir,

    Citation Envoyé par Rewar
    Saches que si tu continues le projet, je veux être tenu au courant, j'adore l'idée
    Je vais essayer d'aller plus loin sur ce jeu, comme je l'avais déjà promis pour le jeu de l'année dernière :p Et comme ici ça devrait être un jeu plus ambitieux, ça sera plus difficile de tenir la promesse.

    Citation Envoyé par Vetea
    Techniquement agréable à regarder et ce concept pourrait être sympa à utiliser pour un petit jeu genre Tower Defence.
    J'avais dans l'idée quelque chose de plus ambitieux qu'un tower defence, mais ça peut être sympa aussi

    Je suis enfin arrivé à me rapprocher du rendu que je souhaitais pendant le week-end. Le sol est maintenant bien arrondi sur les bords, par contre on voit toujours des trous et des tiles qui se chevauchent là où le sol "roule".
    Les objets collent à peu près au sol quand ils sont sur les bords ronds de la map.

    J'en ai profité pour ajouter un troisième mode:



    Vous pouvez agrandir/rapetisser la taille de la map, et voir ainsi les objets qui étaient à l'extérieur du rayon remonter sur la map.
    C'est accessible par la barre d'espace, qui sert maintenant à jongler entre trois modes. La taille de la map se change à l'aide des flèches Haut et Bas.

    http://lhuillia.iiens.net/wejv5/livr...n4_windows.zip

    Il y a eu des petites corrections depuis le moment où le gif a été fait.

  13. #13
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    mai 2008
    Messages
    23 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : mai 2008
    Messages : 23 184
    Points : 165 226
    Points
    165 226
    Billets dans le blog
    25

    Par défaut

    Je ne pourrais jamais me passer de cet effet, il est trop bien .
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  14. #14
    Membre éclairé
    Profil pro
    Inscrit en
    juillet 2009
    Messages
    239
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juillet 2009
    Messages : 239
    Points : 667
    Points
    667

    Par défaut

    Bonjour,

    juste pour donner des nouvelles:

    ->Les objets ont maintenant vraiment l'air d'être collés au sol quand la map "roule". On perd le ressenti "à la Bastion" mais ça ouvre d'autres possibilités.
    Par contre, un jour il va falloir que je revoie complètement la façon dont je bouge le sol. Actuellement, tout est géré dans un vertex shader (contrairement aux objets dont le déplacement est complètement géré côté CPU, bien que ce soit le même algo :p mais par mesh au lieu d'être par vertex), du coup je crains que ce soit le fait de casser des triangles sur les bords arrondis qui donne cet effet de quadrillage bizarre.

    ->J'ai une machine toute neuve, et du coup j'essaie de porter cette démo sous DirectX 12. J'avance doucement, comme l'originale était presque articulée autour d'OpenGL, même si j'avais essayé de l'abstraire au maximum, les datas ne doivent plus être organisées de la même façon, plus créées au même moment... Bref j'essaie d'avoir quelque chose pour la fin de la semaine mais je ne promets rien.

    En attendant, je m'amuse un peu avec la caméra:

  15. #15
    Membre éclairé
    Profil pro
    Inscrit en
    juillet 2009
    Messages
    239
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juillet 2009
    Messages : 239
    Points : 667
    Points
    667

    Par défaut

    Bonjour!

    Désolé, la semaine s'est transformée en année :p Pour commencer, j'avais mal commencé mon portage vers DirectX 12, ce qui fait que je n'avais aucun résultat sans comprendre pourquoi, et d'autres projets plus personnels ont pris le pas sur celui-ci. J'ai recommencé le portage il y a quelques semaines, et voilà le résultat:



    Par la magie du focus clavier mal géré, je peux faire bouger les deux versions en même temps :p
    La version DirectX 12 est celle en bas à droite.
    Si vous voyez une différence, c'est parce que les arbres sont placés aléatoirement au lancement, sinon le rendu est le même.

    Rien d'autre n'a changé, en dehors du fait que ce portage m'a permis de corriger un bug dans l'affichage du background (qui est en fait un bug dans la façon dont je charge les .bmp).
    Cela dit, ce n'est pas un portage exact, il y a encore quelques soucis:
    ->Le redimensionnement de la fenêtre est mal géré, la Render Target n'est pas redimensionnée (encore quelque chose qu'il faut faire à la main, contrairement à OpenGL :p )
    ->On ne peut pas paramétrer chaque texture individuellement pour qu'elle s'affiche en nearest ou en linear, c'est un paramètre qui est dans la RootSignature, et je ne sais pas si c'est une bonne pratique de souvent changer celle-ci à la volée.
    ->Mon "système" (avec de gros guillemets :p ) de texte n'est pas porté, il n'est pas utilisé ici, mais dans le projet de l'année précédente, que j'aimerais bien rendre compatible avec cette version du moteur. Peut-être que je devrais juste complètement refaire ce système-là...

    J'espère pouvoir livrer un projet qui marche avec les deux API pour le prochain week-end de développement

    Voilà la version:
    http://lhuillia.iiens.net/wejv5/livr...WEJV5_DX12.zip
    L'archive contient 2 exécutables, un OpenGL et un DirectX12.

    N'hésitez pas à me faire des retours si l'une ou l'autre version vous pose un souci.

  16. #16
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    mai 2008
    Messages
    23 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : mai 2008
    Messages : 23 184
    Points : 165 226
    Points
    165 226
    Billets dans le blog
    25

    Par défaut

    Quels ont été les avantages de passer à Dx 12 ?
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  17. #17
    Membre éclairé
    Profil pro
    Inscrit en
    juillet 2009
    Messages
    239
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juillet 2009
    Messages : 239
    Points : 667
    Points
    667

    Par défaut

    Bonjour LittleWhite,

    À mon niveau, je ne peux pas évangéliser sur les avantages de DirectX 12 par rapport à OpenGL. En tout cas, dans la version postée plus haut, la consommation CPU de la version DirectX 12 est ridicule comparée à celle de la version OpenGL, et n'atteint pas 100% d'utilisation d'un core avec plus de 25000 draw calls (même si on ne peut plus vraiment parler de "draw calls" avec DirectX12 et Vulkan). Après, il y a sûrement quelque chose que je fais de travers dans la version OpenGL. Et mon implémentation de DirectX12 est assez naïve (j'attends que mes Command Lists aient fini d'exécuter avant de commencer à updater la frame suivante, ce qui est déconseillé :p )

    Par contre, ça m'a permis de mieux architecturer mon ébauche de moteur, d'avoir quelque chose qui ne soit pas uniquement taillé pour OpenGL, et qui m'a permis de mieux comprendre comment je devais utiliser la carte graphique.

  18. #18
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    mai 2008
    Messages
    23 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : mai 2008
    Messages : 23 184
    Points : 165 226
    Points
    165 226
    Billets dans le blog
    25

    Par défaut

    Du coup, quelle a été la raison de passer sur Dx 12 ? Pourquoi pas Vulkan (pour garder le côté avoir un renderer portable) ?
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  19. #19
    Membre éclairé
    Profil pro
    Inscrit en
    juillet 2009
    Messages
    239
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juillet 2009
    Messages : 239
    Points : 667
    Points
    667

    Par défaut

    Première raison simple: au moment où j'ai (essayé de) démarrer le portage, aucun driver compatible Vulkan n'était sorti :p Donc je n'aurais rien pu tester. Je ne suis pas sûr, mais il me semble même que sa spécification n'était pas encore terminée.

    Deuxième raison: ça sera peut-être moins vrai une fois que Vulkan se sera démocratisé, mais OpenGL est encore supporté assez aléatoirement sur Windows selon les constructeurs (les professionnels qui veulent rendre leur appli compatible avec les chipsets Intel savent de quoi je parle. Curieusement, une autre machine sur laquelle j'ai testé supporte Dx12 via le chipset graphique de son Core i5 récent, mais pas via sa carte graphique, avec drivers à jour, qui est pourtant une nVIDIA.) Je me disais que ça serait bien de supporter une API qui serait supportée assez uniformément sur toutes les machines Windows. Tu pourrais me répondre que ça serait encore plus vrai si j'avais choisi Dx9, mais tant qu'à faire, et comme je ne suis pas prêt de sortir un jeu complet, autant se mettre aux API récentes

    Bref, je n'exclus pas de supporter Vulkan à l'avenir, même si ça sera déjà du boulot de faire évoluer un moteur qui veut supporter 2 APIs graphiques :p
    Après avoir lu ton post, j'ai mis à jour mon driver graphique et j'ai pu tester quelques démos sous Vulkan, et elles fonctionnent, donc ça devient envisageable. Mais le temps que j'ai passé à supporter DirectX 12, j'avais l'impression de ne pas aller de l'avant, à repartir à 0 avec une nouvelle API :/ J'aimerais d'abord avancer sur quelques fonctionnalités "jeu" du moteur avant de m'y mettre.

  20. #20
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    mai 2008
    Messages
    23 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : mai 2008
    Messages : 23 184
    Points : 165 226
    Points
    165 226
    Billets dans le blog
    25

    Par défaut

    Même si j'ai posé ces questions, je ne vous conseille pas de migrer sur Vulkan (ou du moins, de privilégier le développement du jeu). Les questions n'étaient que pour comprendre le choix et non pour dire "gna gna c'est pas bien" .

    (Sinon, j'ose croire, mais sans certitude, qu'une migration/portage de Dx12 vers Vulkan est aisé, mais je n'ai pas de preuve )
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

Discussions similaires

  1. supprimer une table qui a des quotes dans son nom
    Par kleenex dans le forum Access
    Réponses: 2
    Dernier message: 17/10/2005, 16h03

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