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 :

Green City (moteur de jeu & jeu en C++)


Sujet :

Projets

  1. #21
    Membre actif
    Profil pro
    Inscrit en
    Février 2006
    Messages
    396
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2006
    Messages : 396
    Points : 230
    Points
    230
    Par défaut
    Merci c'est très gentil

    Oui, j'aimerais bien aussi avoir une scène un peu plus complexe. Le problème, c'est qu'il me faut énormément de temps pour modéliser un simple objet dans Blender et que je n'ai pas encore d'idée sur le type de jeu que je voudrais. Du coup, j'ai tendance à re-switcher rapidement sur le dev. du moteur.

  2. #22
    Membre actif
    Profil pro
    Inscrit en
    Février 2006
    Messages
    396
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2006
    Messages : 396
    Points : 230
    Points
    230
    Par défaut
    Quelques news:

    1) Moteur physique: avant, j'utilisais l'algorithme de 'sweep and prune' pour détecter les objets qui pouvaient potentiellement être en collision.
    Je viens de développer un nouveau algorithme pour le moteur: AABB tree. Apparement il est plus performant pour les mondes très dynamique et surtout ça permet de faire du 'ray test' de façon beaucoup plus efficace/optimisé.

    2) Moteur physique: j'ai développer le ray test (lancé de rayon avec possibilité de savoir quels objets sont touchés par la rayon). C'est très utile pour:
    • Savoir si l'ennemi peut voir le joueur ou si il est caché derrière un objet.
    • Savoir si l'ennemi est touché par une balle de fusil ou si celle-ci a heurté un mur, etc.
    • ...

    Voici un exemple de lancé de rayon (vert) et le 'hit point' (en rouge):
    Nom : greenCityRayTest.png
Affichages : 534
Taille : 473,0 Ko

    3) Le jeu: je commence à avoir une idée qui émerge dans ma tête pour le type de jeu que je veux faire.
    Ca sera un jeu d'infiltration en deux temps. Je m'explique:
    • Dans un premier temps, le joueur entre dans le jeu en mode 'fantome' (les ennemis ne le vois pas). Il effectue et enregistre un certain nombre d'actions (émettre un bruit à un endroit X, crochetter une porte, etc...).
    • Ensuite, on rentre dans un jeu d'infiltration classique avec une petite différence: le joueur à la possibilité d'exécuter les actions enregistrées précédemment n'importe quand afin de lui faciliter l'infiltration.

  3. #23
    Futur Membre du Club
    Homme Profil pro
    Sans emploi
    Inscrit en
    Juillet 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : Belgique

    Informations professionnelles :
    Activité : Sans emploi

    Informations forums :
    Inscription : Juillet 2016
    Messages : 4
    Points : 9
    Points
    9
    Par défaut
    Bravo, beau boulot, je suis épaté.

    J'ai voulu essayer la version compilée, je suis sur Linux Mint et j'ai un message d'erreur à propos de glibc:
    ./greencity: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by /usr/lib/greencity/libsfml-window.so.2.3)

    J'espère que ton projet va continuer, ça m'intéresse beaucoup et je vais suivre l'évolution de ton joujou

  4. #24
    Nouveau Candidat au Club

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    452
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Afghanistan

    Informations forums :
    Inscription : Juin 2003
    Messages : 452
    Points : 0
    Points
    0
    Billets dans le blog
    1
    Par défaut
    Bravo , je trouve que la gestion des ombres est superbe , je vais essayer d'utiliser la même technique car elle est bien meilleur qu'une simple shadow map.
    Les shaders sont très bien écrit aussi.

  5. #25
    Membre actif
    Profil pro
    Inscrit en
    Février 2006
    Messages
    396
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2006
    Messages : 396
    Points : 230
    Points
    230
    Par défaut
    Merci Etienne (je suis aussi épaté que ton premier message sur ce forum me soit destiné )
    Concernant le problème, je pense que la lib. 'libstdc++.so.6' n'est pas assez récente (http://askubuntu.com/questions/57550...fix-this-error). C'est vraiment dur de distribuer une application Linux qui fonctionne chez tout le monde

    Merci Super_navide. Les ombres, c'est mon pire cauchemar. Après avoir galéré des jours et des jours, le meilleur résultat que j'obtiens est de combiner ces techniques:
    * Parallel split shadow map (scene dependent, limitation de la distance d'affichage des ombres)
    * Blur shadow map (Gaussian blur H & V)
    * Variance shadow map
    * Shadow map cache
    Par contre, je suis encore "loin" d'atteindre un résultat d'un jeu AAA (The Witcher, Far Cry 3...). Je me demande vraiment comment ils font.
    A mon avis, je peux encore améliorer un peu mes ombres en utilisant le 'mipmap' & 'anisotropic'.

  6. #26
    Nouveau Candidat au Club

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    452
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Afghanistan

    Informations forums :
    Inscription : Juin 2003
    Messages : 452
    Points : 0
    Points
    0
    Billets dans le blog
    1
    Par défaut
    Ouais les ombres c'est un cauchemar , dans mon moteur j'ai une seul ombre celle du soleil mais le problème est que la porté de l'ombre c'est le monde entier.
    J'ai utilisé une shadowmap de résolution 4096*4096 et je l'a met à jour uniquement quand on ouvre des portes par exemple pour laisser passer la lumière.

  7. #27
    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
    Citation Envoyé par zenux Voir le message
    Merci Etienne (je suis aussi épaté que ton premier message sur ce forum me soit destiné )
    Concernant le problème, je pense que la lib. 'libstdc++.so.6' n'est pas assez récente (http://askubuntu.com/questions/57550...fix-this-error). C'est vraiment dur de distribuer une application Linux qui fonctionne chez tout le monde
    Tu peux faire un chroot et compiler contre une version plus ancienne de libc.
    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

  8. #28
    Nouveau Candidat au Club

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    452
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Afghanistan

    Informations forums :
    Inscription : Juin 2003
    Messages : 452
    Points : 0
    Points
    0
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par JeanPlanck78 Voir le message
    Ya que moi que ça choque c'est moche
    Le but c'est pas que ce soit moche , c'est un moteur de jeux avec des fonctionnalités très importante comme une superbe gestion des ombres et de la physique.
    Donc merci d'éviter ce genre de commentaire et de respecter le travail qui est fait.
    Encore bravo.

  9. #29
    Nouveau Candidat au Club

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    452
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Afghanistan

    Informations forums :
    Inscription : Juin 2003
    Messages : 452
    Points : 0
    Points
    0
    Billets dans le blog
    1
    Par défaut
    Tu n'utilise pas la technique du Sub-Pixel Shadow Mapping ( https://www.researchgate.net/publica...Shadow_Mapping )pour gérer les ombres ??
    J'ai trouvé cette technique sur internet elle a l'air encore plus efficace.

  10. #30
    Membre actif
    Profil pro
    Inscrit en
    Février 2006
    Messages
    396
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2006
    Messages : 396
    Points : 230
    Points
    230
    Par défaut
    J'ai déjà essayé d'implementer differentes techniques (exponential SM, trapezoidal SM...) pour améliorer la qualité des ombres mais ça prend énormément de temps et très souvent, il y a des gros désavantages/artifacts.

    Je n'ai pas testé le SPSM mais quand je lis les différents documents/présentations venant des gros moteurs comme UnrealEngine, CryEngine, Frosbite: je me rends compte qu'ils utilisent presque tous les mêmes techniques (PSSM/CSM + Variance SM + PCSS) malgré qu'il y a des dizaines de 'paper' qui proposent des solutions toutes plus miraculeuse les une que les autres.
    Bref, ça demande énormément d'énergie pour parfois n'obtenir rien du tout

  11. #31
    Nouveau Candidat au Club

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    452
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Afghanistan

    Informations forums :
    Inscription : Juin 2003
    Messages : 452
    Points : 0
    Points
    0
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par zenux Voir le message
    J'ai déjà essayé d'implementer differentes techniques (exponential SM, trapezoidal SM...) pour améliorer la qualité des ombres mais ça prend énormément de temps et très souvent, il y a des gros désavantages/artifacts.

    Je n'ai pas testé le SPSM mais quand je lis les différents documents/présentations venant des gros moteurs comme UnrealEngine, CryEngine, Frosbite: je me rends compte qu'ils utilisent presque tous les mêmes techniques (PSSM/CSM + Variance SM + PCSS) malgré qu'il y a des dizaines de 'paper' qui proposent des solutions toutes plus miraculeuse les une que les autres.
    Bref, ça demande énormément d'énergie pour parfois n'obtenir rien du tout
    La technique du SPDM a l'air quand même la plus efficace mais elle a un point faible il faut que quand tu écrire en plus de la profondeur dans la shadow map les 3 sommets du triangle que tu es en train de dessiner.
    J'ai regardé sur internet il y a aucune primitive qui permet depuis le fragment shader ou le vertex shader d'accéder aux 3 sommets du triangle.
    La seul solution que j'ai trouvé c'est de la fournir quand tu créé ton VBO, mais il y a un gros inconvénient , c'est que tes VBO prennent plus de place en mémoire , tu peux plus utiliser des index pour les triangles tu es obligé de dupliquer les sommets.

    Je pense que je fais essayé plus tard cette technique du SPDM .

    J'ai regardé le code de tes shaders ils sont très très bien écrit et super lisible contrairement au miens qui sont lisible que par moi même.

  12. #32
    Membre actif
    Profil pro
    Inscrit en
    Février 2006
    Messages
    396
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2006
    Messages : 396
    Points : 230
    Points
    230
    Par défaut
    Ces derniers mois, j'ai eu beaucoup moins de temps à consacrer au moteur et au jeu.
    J'ai quand même pu reprendre voilà quelques semaines et j'ai commencé l'implémentation du Continuous Collision Detection (CCD) dans le moteur physique.
    Cela permet d'éviter aux objets de passer à travers les murs quand ils ont une trop grande vélocité.

    Voici une mini démo où un cube tombe du ciel à très grande vitesse:
    Sans CCD:

    Avec CCD:


    Il me reste à:
    - Gérer la restitution au moment du choc. En effet, actuellement, l'objet s'arrête immédiatement et ce n'est pas très naturel.
    - Gérer les objets non convexes (compound shapes)

  13. #33
    Membre expert
    Avatar de Dabou Master
    Homme Profil pro
    Graphiste 3D auto-didacte
    Inscrit en
    Février 2012
    Messages
    1 018
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Graphiste 3D auto-didacte

    Informations forums :
    Inscription : Février 2012
    Messages : 1 018
    Points : 3 569
    Points
    3 569
    Par défaut
    Je viens de voir le cube 3D le plus lourd de la galaxie, je peux mourir en paix .

    Et si tu le laissais tomber tel quel et que tu rajoutais juste de la poussière ?^^

    Roh ça va si on peut plus plaisanter ...




    PS. N'empêche ç'aurait été le premier cube super héros ...
    Abandonner ses rêves n'est pas à la portée de tout le monde.

  14. #34
    Membre actif
    Profil pro
    Inscrit en
    Février 2006
    Messages
    396
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2006
    Messages : 396
    Points : 230
    Points
    230
    Par défaut
    Content que ça fasse rire C'est juste une vidéo venue d'un univers parallèle avec des lois physiques différentes

    Je viens d'injecter des 'predictive contact point' dans mon solveur de contraintes afin d'avoir une réponse à la collision plus réaliste.
    Le résultat n'est pas 100% convaincant dans toutes les situations vu que les calculs sont pas mal simplifiés pour des raisons de performance. J'ai aussi un manque de connaissance en math qui me pose aussi pas mal de problèmes.

    Voici le résultat final (je dois encore ajuster quelques paramètres mais je doute que j'obtiendrai un meilleur résultat):

  15. #35
    Membre averti
    Avatar de marshiell
    Profil pro
    Développeur .NET
    Inscrit en
    Mars 2009
    Messages
    100
    Détails du profil
    Informations personnelles :
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2009
    Messages : 100
    Points : 338
    Points
    338
    Par défaut
    La physique a l'air génial, bravo

  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
    Je ne vois pas le challenge d'implémenter une CCD entre un objet qui bouge et un objet statique (ici le sol) (même moi je sais le faire x) ). Voir un test de la CCD entre 2 objets qui bougent à grande vitesse, là ça serait balèze :p

    La réponse physique dans la dernière vidéo est super crédible

  17. #37
    Membre expert
    Avatar de Dabou Master
    Homme Profil pro
    Graphiste 3D auto-didacte
    Inscrit en
    Février 2012
    Messages
    1 018
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Graphiste 3D auto-didacte

    Informations forums :
    Inscription : Février 2012
    Messages : 1 018
    Points : 3 569
    Points
    3 569
    Par défaut
    J'avoue je trouve le résultat très convaincant, j'attendrai qu'un autre développeur moins contrariant fasse mon premier cube super-héros .






    (c'est une blague d'infographiste, pouvez pas comprendre bande de méchants barbus)
    Abandonner ses rêves n'est pas à la portée de tout le monde.

  18. #38
    Expert éminent sénior

    Avatar de dragonjoker59
    Homme Profil pro
    Software Developer
    Inscrit en
    Juin 2005
    Messages
    2 031
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Software Developer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 2 031
    Points : 11 379
    Points
    11 379
    Billets dans le blog
    10
    Par défaut
    Moi je peux, j'ai un TD avec plein de cubes
    Si vous ne trouvez plus rien, cherchez autre chose...

    Vous trouverez ici des tutoriels OpenGL moderne.
    Mon moteur 3D: Castor 3D, presque utilisable (venez participer, il y a de la place)!
    Un projet qui ne sert à rien, mais qu'il est joli (des fois) : ProceduralGenerator (Génération procédurale d'images, et post-processing).

  19. #39
    Expert éminent sénior

    Avatar de dragonjoker59
    Homme Profil pro
    Software Developer
    Inscrit en
    Juin 2005
    Messages
    2 031
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Software Developer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 2 031
    Points : 11 379
    Points
    11 379
    Billets dans le blog
    10
    Par défaut
    Moi je trouve ça pas mal, comme gestion de physique, de ce qu'on en voit.
    D'ailleurs, je me pose une question, il y a pas mal de moteurs physiques open source (je pense particulièrement à ODE), pourquoi ne pas en utiliser un?
    Si vous ne trouvez plus rien, cherchez autre chose...

    Vous trouverez ici des tutoriels OpenGL moderne.
    Mon moteur 3D: Castor 3D, presque utilisable (venez participer, il y a de la place)!
    Un projet qui ne sert à rien, mais qu'il est joli (des fois) : ProceduralGenerator (Génération procédurale d'images, et post-processing).

  20. #40
    Membre actif
    Profil pro
    Inscrit en
    Février 2006
    Messages
    396
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2006
    Messages : 396
    Points : 230
    Points
    230
    Par défaut
    Merci à tous pour vos messages

    il y a pas mal de moteurs physiques open source (je pense particulièrement à ODE), pourquoi ne pas en utiliser un?
    Mon but premier n'est pas de sortir un jeux video. Je fais ce moteur physique par plaisir dans le but d'apprendre.

    je ne vois pas le challenge d'implémenter une CCD entre un objet qui bouge et un objet statique (ici le sol) (même moi je sais le faire x) ). Voir un test de la CCD entre 2 objets qui bougent à grande vitesse, là ça serait balèze :p
    Personnellement, je ne trouve pas ça si simple. Je ne gère pas que les cubes mais aussi tout type de forme convexe et forme composée. Implémenter l'algorithme de GJK pour du CCD n'a pas été super facile. Je fais aussi très attention aux performances (broadphase, narrowphase, etc...) et à la qualité du code source.
    Je n'ai pas encore fait de test pour du "dynamic vs. dynamic". Ca me semble assez difficile de gérer cela correctement à 100%. Pour l'instant, je crée des 'predictive contact points' qui ne seront pas à 100% correcte pour deux objets dynamiques à très grande vitesse. Et en fin de cycle: je m'assure que le solveur de contraite ne va pas faire de bêtises (faire du tunneling entre deux objects dynamiques ou dans un objet qui à la base n'était pas candidat à une collision) en modifiant la velocité. Je ferai le test entre deux objets dynamiques une fois que j'aurais peaufiné le CCD.

Discussions similaires

  1. Réponses: 4
    Dernier message: 07/07/2006, 15h09
  2. Structure d'un moteur de jeu
    Par black.out dans le forum Développement 2D, 3D et Jeux
    Réponses: 9
    Dernier message: 19/04/2006, 17h32
  3. Conception d'un moteur de jeu
    Par black.out dans le forum Développement 2D, 3D et Jeux
    Réponses: 4
    Dernier message: 27/03/2006, 15h41
  4. [AS2] Moteur de jeu et réutilisation
    Par ooyeah dans le forum ActionScript 1 & ActionScript 2
    Réponses: 6
    Dernier message: 06/07/2005, 11h25
  5. Moteur de jeu 2D
    Par washall dans le forum Autres éditeurs
    Réponses: 3
    Dernier message: 15/05/2005, 22h19

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