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 :

Moteur de jeux (ODFAEG) et jeux.


Sujet :

Projets

  1. #521
    Invité
    Invité(e)
    Par défaut
    Salut j'ai une classe générique qui remet à jour toutes les animations du jeux et bien sûr la classe animation qui contient toutes les "frames" des animations.

  2. #522
    Invité
    Invité(e)
    Par défaut Améliorations du framework à venir.
    Salut, j'ai remarqué que quelques petites choses n'allaient pas dans le design du framework alors j'ai décidé de le changer :

    -Ajouter un composant ShadowRenderComponent pour rendre les ombres car ce n'est pas à la map de gérer celà.
    -Ajouter un composant LightRenderCompoenent pour rendre les lumières.
    -Ajouter un composant RefractionRenderComponent pour les reflets.
    -Ajouter un composant WaterRenderComposant pour l'eau.
    -Ajouter un composant CustomShaderRenderComposant pour rendre des entités avec des shaders définis par l'utilisateur lui même.
    -Ajouter une entité RenderTextureEntity pour les rendu en plusieurs passes.
    -Faire hériter le classe ParticuleSystem de Entity pour rendre les particules sur un composants plutôt que directement sur la fenêtre.

    Par contre j'ai deux bugs gênants qui m'empêche d'avancer pour le jeux :
    -L'animation du personnage qui marche se joue bien par contre l'animation du personnage qui attaque ne se joue pas bien, je ne sais pas pourquoi, pourtant c'est le même code source qui joue les deux animations.
    -La sous fenêtre pour ressicuter le personnage parfois ne se ferme pas quand je clique sur le bouton du coup le jeux reste bloqué.
    Ces deux bugs m'empêchent d'avancer sur le jeux ça fait des mois que je suis bloqué.
    C'est pour cela que je n'ai plus trop donné de nouvelles...

  3. #523
    Invité
    Invité(e)
    Par défaut Problème de carte graphique ?
    J'ai un message d'erreur failed to link the target render texture.
    Je vais réinstaller pour voir.
    Mais il y a des jeux ou ma carte graphique n'affiche pas les animations des sors. (ragnarok online)
    Et des jeux qui ne marchent pas (battle field, matrix, ...)
    Je crains que ma cg soit foutue.
    J'ai essayé de compiler sous windows mais dirent n'existe pas sous windows je vais devoir arranger ça aussi.

  4. #524
    Invité
    Invité(e)
    Par défaut
    Bon sous windows je n'ai pas de soucis avec les renderTextures il les créent bien, mais le soucis c'est que les compilateurs windows me renvoient pleins d'errreurs hors que les compilateurs linux non donc ici j'essaie de faire fonctionner un compilateur linux sur windows mais ce n'est pas facile je ne m'y connais pas du tout là dedans ...

  5. #525
    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 Laurent7601 Voir le message
    les compilateurs windows
    Pourtant je parie que tu utilise MinGW non ?
    Parce que ce compilateur et quasi identique à gcc (et il génère les mêmes erreurs)

  6. #526
    Invité
    Invité(e)
    Par défaut Compilation sous windows réussie!
    J'ai réussi à le compiler sous windows par contre il m'a l'air d'être trop lent (le programme ne répond pas) donc je vais essayer d'optimiser en utilisant de l'opengl moderne.
    Sous linux ça tourne bien par contre.

  7. #527
    Invité
    Invité(e)
    Par défaut
    Enfin non ce n'est pas que c'est lent c'est que ça ne m'affiche rien sur windows les composants ou j'utilise des shaders ne s'affichent pas hors que je n'ai pas ce problème sous linux ...

  8. #528
    Invité
    Invité(e)
    Par défaut Abandon du portage sous windows.
    J'arrête le portage sous windows, ça ne m'affiche rien, je ne sais pas si c'est à cause de mon driver graphique mais sous ubuntu avec le même code l'affichage fonctionne.

  9. #529
    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
    Windows a ses spécificités, pour initialiser un contexte openGL, il a par exemple besoin du handle de la fenêtre hôte, contrairement à Linux
    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

  10. #530
    Invité
    Invité(e)
    Par défaut
    Oui mais je laisse le soin à SFML de gérer la création du contexte openGL. Mais sur windows dès que j'utilise un shader un peu plus compliqué ça n'affiche plus rien.

  11. #531
    Membre éclairé
    Avatar de Gregouar
    Profil pro
    Chercheur en mathématiques
    Inscrit en
    Décembre 2007
    Messages
    246
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur en mathématiques

    Informations forums :
    Inscription : Décembre 2007
    Messages : 246
    Points : 899
    Points
    899
    Par défaut
    C'est probablement parce que tu as fait des choses non standards dans ton shader (genre peut-être des cast implicites) et ton driver sur windows ne les supportent pas. En général, il faut faire attention quand tu écris en GLSL car d'un driver à l'autre la sensibilité peut changer fortement. Vérifie que tout est bien correct selon les conventions standards et ça devrait passer mieux.
    Holyspirit : Hack'n'Slash amateur gratuit !

    www.holyspirit.fr

  12. #532
    Invité
    Invité(e)
    Par défaut
    Ce sont ces shaders là qui bug. (sous windows)

    Code cpp : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
     
    const std::string depthGenFragShader =
                    "#version 130 \n"
                    "uniform sampler2D depthBuffer;"
                    "uniform sampler2D texture;"
                    "uniform vec3 resolution;"
                    "uniform float haveTexture;"
                    "in mat4 projMat;"
                    "void main () {"
                        "vec2 position = ( gl_FragCoord.xy / resolution.xy );"
                        "vec4 previous_depth_alpha = texture2D(depthBuffer, position);"
                        "vec4 texel = texture2D(texture, gl_TexCoord[0].xy);"
                        "vec4 colors[2];"
                        "colors[1] = texel * gl_Color;"
                        "colors[0] = gl_Color;"
                        "bool b = (haveTexture == 1);"
                        "float current_alpha = colors[int(b)].a;"
                        "float current_depth = (gl_FragCoord.w != 1.f) ? (inverse(projMat) * vec4(0, 0, 0, gl_FragCoord.w)).w : gl_FragCoord.z;"
                        "colors[1] = vec4(0, 0, current_depth, current_alpha);"
                        "colors[0] = vec4(0, 0, previous_depth_alpha.z, previous_depth_alpha.a);"
                        "b = (current_depth >= previous_depth_alpha.z);"
                        "gl_FragColor = colors[int(b)];"
                    "}";
                    const std::string frameBufferGenFragShader =
                    "#version 130 \n"
                    "uniform sampler2D depthBuffer;"
                    "uniform sampler2D frameBuffer;"
                    "uniform sampler2D texture;"
                    "uniform vec3 resolution;"
                    "uniform float haveTexture;"
                    "in mat4 projMat;"
                    "void main () {"
                        "vec2 position = ( gl_FragCoord.xy / resolution.xy );"
                        "vec4 previous_depth_alpha = texture2D(depthBuffer, position);"
                        "vec4 previous_color = texture2D(frameBuffer, position);"
                        "vec4 texel = texture2D(texture, gl_TexCoord[0].xy);"
                        "vec4 colors[2];"
                        "colors[1] = texel * gl_Color;"
                        "colors[0] = gl_Color;"
                        "bool b = (haveTexture == 1);"
                        "vec4 current_color = colors[int(b)];"
                        "float current_depth = (gl_FragCoord.w != 1.f) ? (inverse(projMat) * vec4(0, 0, 0, gl_FragCoord.w)).w : gl_FragCoord.z;"
                        "colors[1] = current_color * current_color.a + previous_color * (1 - current_color.a);"
                        "colors[1].a = current_color.a + previous_color.a * (1 - current_color.a);"
                        "colors[0] = previous_color * previous_color.a + current_color * (1 - previous_color.a);"
                        "colors[0].a = previous_color.a + current_color.a * (1 - previous_color.a);"
                        "b = (current_depth >= previous_depth_alpha.z);"
                        "gl_FragColor = colors[int(b)];"
                    "}";

    Heu...le cast int(b) passe sous windows ou pas comment je fais pour vérifier si mes shaders sont correct selon la convention standart il y a des sites webs pour ça ?

  13. #533
    Membre éclairé
    Avatar de Gregouar
    Profil pro
    Chercheur en mathématiques
    Inscrit en
    Décembre 2007
    Messages
    246
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur en mathématiques

    Informations forums :
    Inscription : Décembre 2007
    Messages : 246
    Points : 899
    Points
    899
    Par défaut
    Tu peux regarder dans la doc de GLSL. Sinon, logiquement openGL devrait te cracher des erreurs dans la console au moment de la compilation de tes shaders.
    Holyspirit : Hack'n'Slash amateur gratuit !

    www.holyspirit.fr

  14. #534
    Invité
    Invité(e)
    Par défaut
    Hé bah justement il n'y a pas d'erreur GLSL!

    Au fait j'ai trouvé le soucis avec l'animation qui ne se lançait pas.

    Maintenant tout fonctionne au niveau du graphisme il ne manquera plus que le chargement de modèles 3D mais ça se sera pour plus tard car pour commencer j'ai envie de faire un jeux en 2D iso.

    J'ai des bugs par contre encore au niveau du fenêtrage et des évènements avec SFML par contre lorsque j'utilise des sous fenêtres.
    Les fenêtres ne répondent plus.

  15. #535
    Membre éclairé
    Avatar de Gregouar
    Profil pro
    Chercheur en mathématiques
    Inscrit en
    Décembre 2007
    Messages
    246
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur en mathématiques

    Informations forums :
    Inscription : Décembre 2007
    Messages : 246
    Points : 899
    Points
    899
    Par défaut
    Autre chose, c'est une erreur que j'ai déjà fait aussi, mais évite
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    bool b = (haveTexture == 1);
    avec haveTexture qui est un float. Les float peuvent avoir tendance à prendre des approximations et ton 1 peut vite devenir un .99999999999. Du coup, une solution est d'utiliser un > .9 par exemple. Ou alors utiliser des uint ou quoi.
    Holyspirit : Hack'n'Slash amateur gratuit !

    www.holyspirit.fr

  16. #536
    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
    D'ailleurs Il faut mieux éviter d’ailleurs de faire des if niveau shader , ça réduit fortement les performances , ils sont performant uniquement sur les calculs mul/add en grand nombre.

  17. #537
    Invité
    Invité(e)
    Par défaut
    L'erreur vient peut être de là, haveTexture ...

  18. #538
    Invité
    Invité(e)
    Par défaut
    Bonne nouvelle j'ai presque réussi à corrigé tout les bugs le système de combat fonctionne!!!

    Il me reste juste un soucis avec l'affichage des textes dans les fenêtres pourtant avant ça marchait bien.

    Et j'ai un crash quand je déplace le héro au clavier mais à la souris ça fonctionne.

    Bientôt je vais entamer le système de quêtes, ensuite les objets l'inventaire et tout ça et enfin les compétences!

    J'espère que lorsque j'aurai un jeux plus complet à montrer je pourrai recruter plus de monde ça serait amusant de créer avec une équipe comme c'était le cas avant que Guillaume Merlini ne m'ai lâché.

    J'avais arrêté à cause de tout ces bugs hé bien j'ai bien fais de reprendre.

  19. #539
    Invité
    Invité(e)
    Par défaut Gros changements.
    ODFAEG n'utiliseras plus SFML, car, SFML ne supporte pas ODFAEF, je vais essayé de trouver une lib qui ne bug pas avec ODFAEG.

    Ici par exemple dans la classe application pour les event la méthode pollEvent de la classe sf::Window me renvoie un sf::Event keypressed et keyreleased en même temps lorsque j'appuie sur une touche du clavier.

    J'en ai parlé au développeur de SFML mais il m'a envoyé chié.

    Pour le réseau aussi j'ai des message qui arrive au client et d'autre pas.

  20. #540
    Max
    Max est déconnecté
    Expert éminent sénior

    Avatar de Max
    Homme Profil pro
    Artisan développeur
    Inscrit en
    Mai 2007
    Messages
    2 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Artisan développeur
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2007
    Messages : 2 954
    Points : 14 933
    Points
    14 933
    Par défaut
    Citation Envoyé par Laurent7601 Voir le message
    ODFAEG n'utiliseras plus SFML, car, SFML ne supporte pas ODFAEF, je vais essayé de trouver une lib qui ne bug pas avec ODFAEG.
    Tu ne t'es pas posé la question de savoir si ce n'était pas plutôt ODFAEG qui buguait ?

Discussions similaires

  1. [jeux video] Souvenir, jeux de baston
    Par Faith's Fall dans le forum Jeux
    Réponses: 80
    Dernier message: 25/01/2013, 11h18
  2. Moteur de regles pour un jeux web
    Par lastico21000 dans le forum Jeux web
    Réponses: 0
    Dernier message: 03/03/2012, 20h17
  3. Moteur 3D pour mon petit jeux.
    Par Invité dans le forum Moteurs 3D
    Réponses: 1
    Dernier message: 17/01/2010, 10h13
  4. [X360] jeux xbox et jeux PC
    Par Biosox dans le forum Consoles
    Réponses: 1
    Dernier message: 06/01/2009, 15h34
  5. creer des jeux intelligent comme jeux d'echec
    Par hkader dans le forum Développement 2D, 3D et Jeux
    Réponses: 4
    Dernier message: 14/09/2007, 08h45

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