[Jeu vidéo] TUER : FPS en Java utilisant OpenGL

gouessej Message lu Posté le 30 Mar 2010 à 19:51 Bulle
Membre Avancé

Messages : 337
GCPoints : 64624

fayt nagashimas a écrit :

En l'occurrence, c'est modélisé à la main. Maintenant, tu peux facilement trouver un algorithme simplifiant le maillage de ton niveau : commence par faire un weld de tous les vertices de ta map avec un faible rayon, afin de n'avoir qu'un seul objet. Après, pour l'algorithme en question... il faudra que tu demandes à un programmeur. Mais il y a des logiciels et autres modificateurs disponibles, notamment sous max, qui simplifient les maillages utilisés. Et qui, notamment, retirent les vertices inutiles sur un plan.


J'ai déjà un système complexe de grille avec un maillage par type de "motif". Si les ordonnées (on peut faire la même chose pour les autres coordonnées) des sommets d'un motif sont toutes les mêmes, alors les applications contigües de ce même motif peuvent être fusionnées en une seule application. Je vais garder en mémoire les applications non fusionnées car, comme tu l'as compris aussi bien que moi, c'est plus aisé pour calculer les portails et les applications fusionnées serviront à générer un ensemble de maillages plus simple. Je vais écrire l'algorithme, ça va le faire. Pour l'implémentation, ça demandera quelques jours voire quelques semaines.


Zoglu a écrit :

genre "ok, maintenant que je t'ai remercié ma conscience est tranquille, je peux t'insulter"


Je n'ai insulté personne.
Huntil Message lu Posté le 01 Avr 2010 à 21:13 Bulle
Avatar de Huntil
Modérateur

Messages : 1012
GCPoints : 289843
"Le nombre ne fait pas la raison." Peut-être pas, mais les modérateurs eux ont raison.
Pour rappel:

Citation :

J'ai testé le jeu sur mon portable (Win7, carte graphique faiblarde) et tout se passe bien sauf que ça tourne à 15 FPS en moyenne, ce que j'ai du mal à comprendre vu ce qui est affiché... L'affichage de la carte d'Europe recouverte de rouge semblait même ramer aussi, et dans le menu, le mouvement du curseur était saccadé :astonished:
C'est tout de même étrange vu que mon PC fait tourner des jeux en 3D autrement plus complexes..


Noter que son PC fasse mieux tourner des jeux plus complexes ne veut pas forcement de qu'il pense que tu aies fais un code pourri, ça veut simplement dire qu'il y a un problème quelque part. Moi je crois simplement que tu t'es vexés et que tu cherches à avoir raison.
Maintenant tant qu'on reste raisonnable pas besoin de modérer, ça ne fait qu'augmenter le nombre de posts de GameCorp :P
Copyright © 2007 - 2010 Huntil
"Il faut toujours un drame"
stilobique Message lu Posté le 01 Avr 2010 à 22:16 Bulle
Avatar de stilobique
Newser

Messages : 2387
GCPoints : 841900

Huntil a écrit :

[...]
Maintenant tant qu'on reste raisonnable pas besoin de modérer, ça ne fait qu'augmenter le nombre de posts de GameCorp :P


Vé mais les seuls nouveau message sur le forum son des post sans grand intêret pour nous lecteur ! Si encore sa faisait un petit feuilleton genre Duke Nukem sa pourrait être sympa mais l'intrigue est sans plus... ^^

(___/)
(='.'= )Voici Lapin. Copiez et collez Lapin dans votre signature
(")_(") pour l'aider à concrétiser sa domination du monde.
Zoglu Message lu Posté le 01 Avr 2010 à 23:10 Bulle
Avatar de Zoglu
Membre Avancé

Messages : 366
GCPoints : 22183

Citation :

Vé mais les seuls nouveau message sur le forum son des post sans grand intêret pour nous lecteur !

J'allais dire que comme posts intéressants y avait ça et ça (j'espère) mais tu as déjà posté dedans :absurd:

EDIT : dire que l'intrigue est bof... rooh, t'es pas gentil, on fait de notre mieux pourtant, y a de l'action, des rebondissements, et j'ai même mis un facepalm :embarassed:
Dernière édition le 01 Avr 2010 à 23:17
gouessej Message lu Posté le 02 Avr 2010 à 13:15 Bulle
Membre Avancé

Messages : 337
GCPoints : 64624
Bonjour


Huntil a écrit :

Moi je crois simplement que tu t'es vexés et que tu cherches à avoir raison.


Tu te trompes et de toute façon, j'estime que ce que j'ai avancé tient la route. A quoi bon polémiquer puisque l'optimisation que je suis en train d'implémenter améliorera suffisamment les performances pour que même les possesseurs de puces graphiques "douteuses" souffrent notablement moins des problèmes de mauvais support des vertex arrays et des VBOs (sauf lorsque de gros modèles seront affichés)? Je ferai des essais sur des puces intégrées qui à l'heure actuelle supportent très mal TUER histoire de mettre fin une fois pour toute aux salves de critiques concernant les performances. Je pense notamment à une puce graphique intégrée SiS fabriquée en 2003; si ça marche bien là-dessus, même les puces graphiques intégrées Intel ne pourront pas faire pire :lol: Il me reste aussi une carte graphique Matrox Millenium G200 fabriquée en 1998 :lol:
Je n'ai pas le temps de me vexer, je suis assez occupé, je ne dors pas beaucoup, je suis vraiment crevé, je n'ai pas d'énergie à gâcher dans des querelles sans fin.


Huntil a écrit :

Noter que son PC fasse mieux tourner des jeux plus complexes ne veut pas forcement de qu'il pense que tu aies fais un code pourri


Supposons que tu aies raison et que j'ai tort. Zoglu a ajouté ceci :

Zoglu a écrit :

si tu fais ce jeu pour démontrer les capacités de Java, c'est juste un peu mal barré.


C'est sans appel, j'avais raison, c'est bien mon savoir-faire qui est critiqué alors que Zoglu a reconnu plus loin qu'il n'y connait pas grand chose en programmation :

Zoglu a écrit :

je ne connais aucun langage à part le HTML et le PHP, je ne lis aucun magazine d'informatique, et les comparatifs de cartes graphiques ne m'intéressent pas. Je suis créateur de jeux, pas codeur.


Zoglu a bien remis en question mes capacités de codeur alors qu'il reconnait lui-même que ce n'est pas son domaine de prédilection. En d'autres termes, il est aussi bien placé qu'un joueur lambda pour critiquer le jeu mais il est très mal placé pour émettre un jugement sur ce qui touche à la programmation.

Je remercie une fois de plus fayt nagashimas de m'avoir mis sur une excellente piste :proud:
Dernière édition le 02 Avr 2010 à 13:19
Zoglu Message lu Posté le 02 Avr 2010 à 13:45 Bulle
Avatar de Zoglu
Membre Avancé

Messages : 366
GCPoints : 22183

Citation :

C'est sans appel, j'avais raison, c'est bien mon savoir-faire qui est critiqué alors que Zoglu a reconnu plus loin qu'il n'y connait pas grand chose en programmation

Mélol.
Je disais ici que des pôv murs carrés, une créature peut-être bourrée de triangles mais toute blanche, et une carte d'Europe qui grossit en rougissant, c'est un peu faible pour montrer les capacités d'un langage. Ce ne sont pas tes capacités de codeur qui sont remises en cause, surtout que j'ai laissé entendre dans le même post que ton niveau en Java était excellent, ce dont je n'ai jamais douté :happy:


Citation :

C'est sans appel, j'avais raison

Once again, Amen :proud:

Citation :

je n'ai pas d'énergie à gâcher dans des querelles sans fin.

Excellent ça aussi, ça te vaut un Amen bonus :cute:
Dernière édition le 02 Avr 2010 à 13:45
gouessej Message lu Posté le 02 Avr 2010 à 17:17 Bulle
Membre Avancé

Messages : 337
GCPoints : 64624
Pour la première salle , la suggestion de fayt nagashimas me fait passer de 384 à 14 triangles, ça promet :proud:
Zoglu Message lu Posté le 02 Avr 2010 à 18:05 Bulle
Avatar de Zoglu
Membre Avancé

Messages : 366
GCPoints : 22183
Le type qui arrête de répondre quand il a tort, de mieux en mieux :absurd:
Lolilolight Message lu Posté le 02 Avr 2010 à 18:07 Bulle
Avatar de Lolilolight
Membre Avancé

Messages : 301
GCPoints : 45457
J'approuve. (Par contre quand il a pas tord là, on se prends des claques. :grin: (A prendre au second degré.))
Heu pour ma part, j'ai aussi un chipset intel et c'est vrai que il ne supporte pas le langage GLSL, et aussi les pboBuffers avec le GLJPanel, mais à part ça..., je me débrouille...
(Sinon il y a moyen de traduire du code GLSL en assembleur avec cg si je ne m'abuse pour la portabilité.)

Voilà, j'espère que ça pourra t'aider, je suis entre 30 et 60 fps moi sinon, et avec hs je suis à 15-20 fps. (Sans les post-effect non supporté par mon chipset intel, et les textes s'affichent bien.)

Et bon moi j'arrive à afficher une map malgré mon chipset intel et afficher des modèles sans que ça rame. (En utilisant la géométrie moderne, les octrees, AABB-Tree, etc...)
J'ai mit des screens avec l'ogre d'aïlleurs. (Enfin ça dépend quel format aussi j'utilise, si j'utilise des anciens format style le md2, je rame moins que avec un format 3ds.)

Ce qu'il y a de différent est que je ne fait pas tout ça avec blender, mais mon propre éditeur.

Maintenant je ne peux pas comparer avec des jeux comme wow qui utilise sans doute directX, qui marche super bien sur mon PC.









Dernière édition le 02 Avr 2010 à 18:43
Même si on est peu entouré, et de ce qu'en pense les autres, soyons fier de ce que nous créons!
Je n'existe que avec ce que je créé.
gouessej Message lu Posté le 03 Avr 2010 à 09:58 Bulle
Membre Avancé

Messages : 337
GCPoints : 64624
Bonjour


Zoglu a écrit :

Le type qui arrête de répondre quand il a tort, de mieux en mieux :absurd:


Je n'ai pas tort, j'en ai marre que tu pourrisses le fil de discussion concernant mon jeu, est-ce suffisamment clair?


Lolililight a écrit :

J'approuve.


Je refuse que ce fil de discussion tourne à la critique personnelle, ce n'est pas le lieu pour ça.


Lolililight a écrit :

Heu pour ma part, j'ai aussi un chipset intel et c'est vrai que il ne supporte pas le langage GLSL, et aussi les pboBuffers avec le GLJPanel, mais à part ça..., je me débrouille...


On parle plutôt de PBuffers ou de PBO (pixel buffer objects) mais pas de pboBuffers :lol:


Lolililight a écrit :

(Sinon il y a moyen de traduire du code GLSL en assembleur avec cg si je ne m'abuse pour la portabilité.)


Merci pour l'information. De toute façon, je ne prévois pas d'utiliser les shaders pour le moment.


Lolililight a écrit :

Voilà, j'espère que ça pourra t'aider, je suis entre 30 et 60 fps moi sinon, et avec hs je suis à 15-20 fps. (Sans les post-effect non supporté par mon chipset intel, et les textes s'affichent bien.)


Ton indication est vague, je ne connais pas la complexité de la scène. Sans partitionnement de l'espace ni effet et à complexité géométrique égale, tu obtiendra(i)s un frame rate équivalent à ce que j'ai. Si tu veux faire le test, prends mon niveau soit au format OBJ soit au format Collada et tu constateras par toi-même ce que je viens d'écrire.


Lolililight a écrit :

Ce qu'il y a de différent est que je ne fait pas tout ça avec blender, mais mon propre éditeur.


Je n'ai rien modélisé avec Blender, je m'en suis servi uniquement pour vérifier que mes cartes générées avec mon propre éditeur (JFPSM) et mes programmes respectaient suffisamment le format OBJ et/ou Collada pour être exploitables avec un modeleur.


Lolililight a écrit :

Et bon moi j'arrive à afficher une map malgré mon chipset intel et afficher des modèles sans que ça rame. (En utilisant la géométrie moderne, les octrees, AABB-Tree, etc...)
J'ai mit des screens avec l'ogre d'aïlleurs. (Enfin ça dépend quel format aussi j'utilise, si j'utilise des anciens format style le md2, je rame moins que avec un format 3ds.)


Je rappelle que la version alpha de TUER utilise une réseau de cellules et de portails; dans ce cas, ça ne rame pas sur les puces Intel (30 à 60 FPS, rarement moins). Encore une fois, tu es trop vague et tu compares ce qui ne l'est pas. Tu parles de ta carte sans donner la moindre indication chiffrée (nombre de triangles?) alors que j'ai parlé de ma carte en donnant plusieurs indications chiffrées. Si je ne peux pas importer ta carte, je ne peux pas me placer dans une situation où les 2 moteurs gèrent la même scène alors que je pense que tu peux convertir une carte au format Collada ou OBJ dans un format supporté par le moteur dont tu te sers. Par conséquent, si tu veux vraiment comparer rigoureusement Ardor3D et Ogre, essaie de charger la même carte que moi. Dans le cas contraire, je te prie d'éviter les comparaisons hasardeuses non étayées.

De toute façon, en utilisant un arbre, tu auras de meilleures performances que moi avec des cartes statiques (des cartes dont la géographie ne peut pas être profondément modifiée à l'exécution) quelque soit le moteur qui implémente décemment ce système de subdivision de l'espace. Cependant, quand j'en arriverai à des cartes hautement dynamiques (ce n'est pas pour tout de suite, je suis loin d'être prêt), comme je l'ai déjà expliqué, je m'en sortirai mieux avec un réseau de cellules et de portails qu'avec un arbre. En gros, ce qui est déterminant, c'est surtout la méthode de partitionnement de l'espace. Sans partitionnement, ça reste du rendu OpenGL et dans ce cas-là, ce qui joue beaucoup c'est le mode de rendu (immédiat, retained avec des VBO ou des vertex arrays entre autres).

Edit.: la résolution de l'écran joue aussi sur le frame rate. TUER utilise la résolution par défaut alors que beaucoup de FPS utilisent une résolution moins élevée, pas étonnant qu'ils aillent plus vite :lol:
Dernière édition le 03 Avr 2010 à 17:57
Lolilolight Message lu Posté le 03 Avr 2010 à 18:26 Bulle
Avatar de Lolilolight
Membre Avancé

Messages : 301
GCPoints : 45457
Ok.
Même si on est peu entouré, et de ce qu'en pense les autres, soyons fier de ce que nous créons!
Je n'existe que avec ce que je créé.
gouessej Message lu Posté le 03 Avr 2010 à 21:32 Bulle
Membre Avancé

Messages : 337
GCPoints : 64624
J'ai exactement 255 484 triangles dans mon niveau sans compter les ennemis et les armes. Voilà, charité bien ordonnée commence par soi-même. Je parlais de chiffres précis, je suis passé aux actes.
Lolilolight Message lu Posté le 04 Avr 2010 à 10:59 Bulle
Avatar de Lolilolight
Membre Avancé

Messages : 301
GCPoints : 45457
J'en ai sans doute un peu moins que toi, mais soit...
Même si on est peu entouré, et de ce qu'en pense les autres, soyons fier de ce que nous créons!
Je n'existe que avec ce que je créé.
gouessej Message lu Posté le 07 Avr 2010 à 10:00 Bulle
Membre Avancé

Messages : 337
GCPoints : 64624
Bonjour


Lolilolight a écrit :

J'en ai sans doute un peu moins que toi, mais soit...


Si tu en as un peu moins que moi et que tu utilises un arbre, ce n'est pas étonnant que tu aies de meilleures performances, tant mieux. Encore une fois, "un peu moins" ça reste vague.

L'implémentation de l'optimisation dont le principe avait été proposé par fayt nagashimas avance bien. Je vais probablement commencer les tests et le débogage ce soir.
Lolilolight Message lu Posté le 07 Avr 2010 à 20:58 Bulle
Avatar de Lolilolight
Membre Avancé

Messages : 301
GCPoints : 45457
Bah j'ai calculé et en fait, j'en ai plus que toi (j'ai 563 triangles.) :D
Et ça tourne bien...
Merci les arbres. :) (Ca diminue bien les tests inutiles ce type de structure pour les collisions.)
Sinon tu utilises quel structure ?
Dernière édition le 07 Avr 2010 à 21:00
Même si on est peu entouré, et de ce qu'en pense les autres, soyons fier de ce que nous créons!
Je n'existe que avec ce que je créé.
gouessej Message lu Posté le 08 Avr 2010 à 13:18 Bulle
Membre Avancé

Messages : 337
GCPoints : 64624
Bonjour


Lolilolight a écrit :

Bah j'ai calculé et en fait, j'en ai plus que toi (j'ai 563 triangles.) :D
Et ça tourne bien...


255 484 > 563
Tu vois qu'au final, tu comparais bien des choses qui ne le sont pas, j'ai eu raison de te demander d'en venir aux chiffres. Essaie d'afficher un niveau 500 fois plus grand sans avoir recours à un arbre et tu n'auras pas 30 à 60 FPS sur ta puce intégrée Intel.


Lolilolight a écrit :

Merci les arbres. :) (Ca diminue bien les tests inutiles ce type de structure pour les collisions.)


Toute structure de partitionnement de l'espace permet de réduire le nombre de tests nécessaires pour détecter les collisions (sauf si tu la choisis très mal et que ton espace n'est pas partitionnée) car ça permet de se restreindre à une partie de l'espace au lieu d'effectuer bêtement des tests sur toutes les entités.


Lolilolight a écrit :

Sinon tu utilises quel structure ?


Comme je l'ai déjà dit à plusieurs reprises, les autres versions de TUER utilisent un réseau de cellules et de portails; pour la version expérimentale, ça viendra plus tard. Une grille régulière remplie de voxels et d'autres méthodes sont utilisées pour les collisions.


D'autre part, je préfère peaufiner l'implémentation de l'optimisation et effectuer les tests en fin de semaine, ça m'évitera de longues journées de code and fix. Je dois notamment modifier la façon de gérer les textures dans JFPSM pour éviter que cette fonctionnalité casse des fonctionnalités pré-existantes.

Enfin, il est fort probable que je tente une première fois d'implémenter la subdivision de l'espace en cellules et en portails et le portal culling dans Ardor3D dans la foulée, histoire d'être dans une situation confortable en terme de performances pour pouvoir me consacrer sereinement au gameplay.
Shiziku Message lu Posté le 19 Mai 2010 à 21:22 Bulle
Nouveau Membre

Messages : 13
GCPoints : 2457
Pas grand chose à dire sur le jeu, c'est plutot au point mort apparemment, non ?
Tu comptes le vendre une fois terminé ? :heartbeat:
gouessej Message lu Posté le 21 Juin 2010 à 13:03 Bulle
Membre Avancé

Messages : 337
GCPoints : 64624

Shiziku a écrit :

Pas grand chose à dire sur le jeu, c'est plutot au point mort apparemment, non ?


Le développement n'est pas au point mort, il reprend en juillet. Je ne peux pas tout faire en même temps. La prochaine version de JFPSM utilisera Netbeans RCP et du côté de TUER, il faudra que je finisse l'implémentation de l'optimisation dont j'avais parlé précédemment.


Shiziku a écrit :

Tu comptes le vendre une fois terminé ? :heartbeat:


Il n'a jamais été question de vendre quoi que ce soit, c'est un projet libre, open source, le jeu est entièrement gratuit et le restera. Je ne suis pas du tout dans une perspective commerciale, ça ne m'intéresse pas. A l'heure actuelle, vu la pauvreté des graphismes et du gameplay, ça a surtout un intérêt pédagogique.
Dernière édition le 26 Août 2011 à 22:05
stilobique Message lu Posté le 27 Juin 2010 à 14:59 Bulle
Avatar de stilobique
Newser

Messages : 2387
GCPoints : 841900
Autrement, quelque nouvelle sur l'avancement Gouessej ? Ou c'est toujours prévue pour Juillet pour les news ?
Dernière édition le 26 Août 2011 à 22:06

(___/)
(='.'= )Voici Lapin. Copiez et collez Lapin dans votre signature
(")_(") pour l'aider à concrétiser sa domination du monde.
gouessej Message lu Posté le 30 Juin 2010 à 12:30 Bulle
Membre Avancé

Messages : 337
GCPoints : 64624
Bonjour


killpatate a écrit :

Autrement, quelque nouvelle sur l'avancement Gouessej ? Ou c'est toujours prévue pour Juillet pour les news ?


Je dois aider des étudiants en master d'informatique ce weekend, je dois également intervenir sur un logiciel pour le NPA mais je vais au moins avoir le temps de planifier les tâches. Le développement reprend demain soir comme prévu. Le dépôt SVN ne va pas trop bouger comme je préfère bien gérer les dépendances avant de soumettre une maquette. Je vais donc faire cette maquette, bien cerner les JARs nécessaires, mettre à jour le script ANT, mettre en place le déploiement via Java Web Start et enfin soumettre le tout sur le dépôt.

Je suis impatient de finir l'implémentation de l'optimisation comme un de mes objectifs est surtout d'avoir d'excellentes performances.
Dernière édition le 26 Août 2011 à 22:06
Répondre
GameCorp - Site d'apprentissage et d'entraide à la création de jeux vidéo.
XHTML Valid 1.1 - Page générée en 0.0549 secondes