neo_00110010101
Messages postés360Date d'inscriptionsamedi 27 septembre 2003StatutMembreDernière intervention30 mai 2006
-
19 juin 2004 à 07:30
cs_bloom1
Messages postés328Date d'inscriptionjeudi 26 août 2004StatutMembreDernière intervention 8 mars 2007
-
3 août 2005 à 21:31
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
Hum, pourquoi tu met les commentaires en anglais ?
albert0
Messages postés249Date d'inscriptionmercredi 27 novembre 2002StatutMembreDernière intervention 9 août 2008 28 juin 2004 à 10:25
vive la suisse nous a finit depui 2 semaine et 1 jour :D
Funto66
Messages postés1267Date d'inscriptionmercredi 1 janvier 2003StatutMembreDernière intervention28 février 20074 27 juin 2004 à 23:33
Euh...ben je sais plus si j'étais irrité ou non, c pas grave ;)
Toi aussi t'as l'oral de français :'(
Bonne chance...
kenjimax
Messages postés82Date d'inscriptiondimanche 3 août 2003StatutMembreDernière intervention10 août 2007 27 juin 2004 à 14:44
Bien sur que je te donne ma benediction :D
J'espere que je ne t'ai pas irrité funto ton post parait ecri par quelqu'un de légèrement exaspéré... excuse moi, si tu etais comme cela a cause de moi...
Merci à tous en tout cas !
Je peux pas m'y remettre tout de suite parce que j'ai l'oral du bac de francais mardi...
Merci Albert aussi de t'être intéressé à ma source !
albert0
Messages postés249Date d'inscriptionmercredi 27 novembre 2002StatutMembreDernière intervention 9 août 2008 23 juin 2004 à 09:37
oui enfet j'ai ajouté beacoup de truc maintenant : tier a plusieur reprise
- ajout d un menu
- ajout de nivo(1) avec enemi et bosse final
si tu me donne ta benediction kenji je post dèsque j'ai finitde coder les vie
voila ++
Funto66
Messages postés1267Date d'inscriptionmercredi 1 janvier 2003StatutMembreDernière intervention28 février 20074 23 juin 2004 à 00:23
Je te l'ai dit plus haut : certaines de tes textures TGA ne marchent pas parce que le loader de Nate Miller n'accepte que des textures non compressées.
J'ai écris plus haut aussi que j'avais écrit un loader qui supportait les textures TGA compressées, c'est pas pour rien...
Tu nous dis que ça marche pas mais tu ne nous montre pas le code.
Tu pourrais faire comme ça dans un 1er temps :
// En variables globales (oui, je sais, c'est pas propre, mais bon
// de toutes façons vu comment est le programme...)
GLuint g_ID_tir_rouge;
// IDs des autres textures aussi...
// Dans init() , après un #include "TGALoader.h" (mon loader de TGA) :
// (glGenTextures() est appelé dans mon loader en interne).
TGALoader tga_loader;
tga_loader.LoadOpenGLTexture("TEX_TIR_ROUGE.tga", &g_ID_tir_rouge);
// Dans Display(), pour le bind :
glBindTexture(GL_TEXTURE_2D, g_ID_tir_rouge);
Voilà, si tu fais comme ça normalement ça devrait marcher.
PS : Y'a albert0 qui a en prjet d'améliorer ta source, on en a parlé ensemble et j'ai rajouté quelques trucs, enfin moi je dis ça comme ça...;)
kenjimax
Messages postés82Date d'inscriptiondimanche 3 août 2003StatutMembreDernière intervention10 août 2007 22 juin 2004 à 15:45
.....cela ne marche pas...
Je desespere un peu, j'ai l'impression d'avoir fait tout ce que vous aviez di et pourtant j'ai toujours le meme probleme avec loadTGA...et je n'arrive pas à trouver de source qui utilise des textures TGA avec le loader de nate miller, si quelqu'un avait ca sous la main ?
cs_Wett
Messages postés104Date d'inscriptiondimanche 2 mars 2003StatutMembreDernière intervention12 juin 2005 22 juin 2004 à 15:09
Ouais voila c'est ça la fonction :)
Sur ce j'espere t'avoir aidé, bonne prog!
kenjimax
Messages postés82Date d'inscriptiondimanche 3 août 2003StatutMembreDernière intervention10 août 2007 22 juin 2004 à 14:26
Merci beaucoup !
La fonction pour obtenir l'ID je la connais, c'est glGenTextures(nbr_de texture, référence)
Je vais essayer comme ca, si ca fonctionne merci bcp ! sinon, merci quand meme...
cs_AmK
Messages postés368Date d'inscriptionjeudi 13 mars 2003StatutMembreDernière intervention27 janvier 20101 22 juin 2004 à 13:39
puts("J'ecris un programme alors que j'ai le BAC dans 1 semaine...\n\n"); // cingléééééééééé !!!!!!!!
loooooooooool
cs_Wett
Messages postés104Date d'inscriptiondimanche 2 mars 2003StatutMembreDernière intervention12 juin 2005 22 juin 2004 à 13:30
Bah je viens de te la donner... :D Je t'ai pris de vitesse mdr
kenjimax
Messages postés82Date d'inscriptiondimanche 3 août 2003StatutMembreDernière intervention10 août 2007 22 juin 2004 à 13:21
Par exemple, dans la source que je viens de mettre, et bien c'est la texture "tir_rouge" qui est chargée, alors que ce n'est pas elle que je bind. La texture courante est toujours la derniere chargée avec loadTGA. Est ce que qqln a une explication ?
cs_Wett
Messages postés104Date d'inscriptiondimanche 2 mars 2003StatutMembreDernière intervention12 juin 2005 22 juin 2004 à 13:21
Oui c'est normal, en fait effectivement tu ne t'y prends pas bien pour charger les textures, heureusement que tu pointes là dessus j'avais pas fait attention
Voila ta déclaration:
enum
{
TEX_UNIVERS=1,
TEX_VAISSEAU_JOUEUR=1,
TEX_TIR_ROUGE=1
};
et là --> Pb! En fait opengl attribue à chaque texture un Id, mais il ne le fait pas automatiquement, c'est toi dans ton appel à loadTGA ( ou plutot dans les appels à opengl qui y sont inclus ) qui le définis. Or Toutes tes textures ont un id de 1! Donc à chaque fois il remplace la texture d'id 1 par la dernière chargée!
Pour corriger -> Met plutot quelque chose du genre
Et là t'auras plus de probleme... En fait c'est moche de donner toi meme les id des textures, il existe une fonction opengl faite pour te délivrer un id libre à coup sur, mais je m'en rappelle plus, funto le sait surement et j'ai la flemme de chercher :) mais l'idée est la meme --> Donner TJS des Id différents!
kenjimax
Messages postés82Date d'inscriptiondimanche 3 août 2003StatutMembreDernière intervention10 août 2007 22 juin 2004 à 12:16
lol Funto, c'est vrai que c'est un peu de sa faute, mais cela m'aide à y voir plus clair. Sinon, pour le chargement des textures, le probleme c'est que meme en mettant une identité specifique a chaque texture, la texture courante (celle qui est utilisé lorsque je fais glBind...) est toujours la derniere chargée, je dois pas m'y prendre correctement.
En tout cas, merci Wett pour ton commentaire.
Funto66
Messages postés1267Date d'inscriptionmercredi 1 janvier 2003StatutMembreDernière intervention28 février 20074 21 juin 2004 à 15:11
Huh, les textures sont chargées à chaque appel à Display()?
J'avais pas vu....Faut JAMAIS faire ça lol
Sinon pour l'utilisation de GLUT, le code dans les fichiers .h et la programmation non orientée objet, mea culpa, tout est de ma faute Wett... C'est en fait comme ça que j'expliquais dans mes tutoriaux sur http://www.amk-project.ft.st...j'ai honte, tu peux me taper, vas-y te gêne pas...
Funto66
Messages postés1267Date d'inscriptionmercredi 1 janvier 2003StatutMembreDernière intervention28 février 20074 21 juin 2004 à 15:07
Huh, les textures sont chargées à chaque appel à Display()?
J'avais pas vu....Faut JAMAIS faire ça lol
Sinon pour l'utilisation de GLUT, le code dans les fichiers .h et la programmation non orientée objet, mea culpa, tout est de ma faute Wett... C'est en fait comme ça que j'expliquais dans mes tutoriaux sur http://www.amk-project.ft.st...j'ai honte, tu peux me taper, vas-y te gêne pas...
cs_Wett
Messages postés104Date d'inscriptiondimanche 2 mars 2003StatutMembreDernière intervention12 juin 2005 21 juin 2004 à 02:03
Sympatoche comme programme ! Dommage que tu l'arretes, franchement y'a moyen d'en faire qlq chose de marrant
!
Juste 2-3 trucs :
Selon ma *courte* experience, l'utilisation de glut si elle simplifie grandement certaines choses comme l'initialisation de la fenetre de maniere portable etc, ben... Enfin moi j'aime pas :) Et j'ai jamais reussi à faire un timer correct avec puisque le débat en est là.
Encore un truc de chipotage : on ne balance pas de code dans un .h! uniquement les prototypes/déclarations, les definitions (le vrai code quoi) étant toujours dans un .cpp...
Pour ce qui est de l'optimisation... Quelques conseils tres simples:
Je vois que tu charges les textures pendant l'affichage... Hop hop hop on prend son courage à 2 mains, on fait une procédure d'initialisation qui s'occupe de charger tout ce qui est nécessaire une bonne fois pour toute, on garde les id des textures dans un coin (ici la programmation objet t'aiderai mais bon on complique pas trop et puis je viens de voir que tu t'en sors déja pour la position du vaisseau, ben tu nous fait pareil pour les id des textures) et on les utilise comme tu le fais! Simplement on ne charge jamais en pleine boucle, si opengl n'etait pas super intelligent bah ton HDD tournerait à bloc comme un fou, tu imagines charger 20Ko 60 fois par seconde... Ca commence à faire! ;) Et je me demande si c'est pas pour ça que comme tu dis dans un post précédent ton programme finis par ramer, ramer des qu'il y a des textures...
Derniere chose de re-chipoteur ( donc en fait si tu suis bien, les "qlq conseils d'optimisation" se sont transformés en 1 seul conseil :) Indente ton code, ça simplifie la lecture et c'est pas plus mal de prendre les bonnes habitudes dès le début :D
Voila désolé si je chipote tout le temps (et encore je me retiens ;) mais faut pas m'en vouloir je dis ça dans ton interet :)
Sur ce, merci pour cette source et bonne prog !
MoDDiB
Messages postés546Date d'inscriptionmardi 26 novembre 2002StatutMembreDernière intervention 4 mai 20071 19 juin 2004 à 19:25
Pour le timer il te faut 2 variable double et la fonction timeGetTime de je sais plus quel fichier..(windows.h pitetre)
tu trouve donc ta nouvelle position en multipliant le temps écoulé depuis le dernier passage: si ce n'est pas assez clair dis le je rééxpliquerai bien !
Funto66
Messages postés1267Date d'inscriptionmercredi 1 janvier 2003StatutMembreDernière intervention28 février 20074 19 juin 2004 à 17:20
Ouais, comme OpenGL quoi, mais en non portable :D
Bon, on va essayer d'éviter le débat ultra-classique et méga-trollesque "DirectX ou OpenGL?"...
kenjimax >> je vois pas pourquoi t'arrêtes, enfin bon...
Pour ce qui est des timers, en fait la méthode que tu utilises (et qui vient de moi, j'ai honte...) est mauvaise; plutôt que de limiter l'affichage à X FPS, les jeux actuels calculent le temps d'affichage de chaque frame et font les "actions" (déplacement d'un perso...etc) en fonction du temps passé à dessiner la frame. C'est pour ça qu'un jeu apparaît saccadé sur une vieille carte graphique, mais peut quand même rester relativement jouable.
Je sais pas si je suis vraiment clair...
Bon, ensuite c'est sûr que l'idée de la texture de l'univers était mauvaise lol.
Après, pour ce qui est d'accélérer le rendu (mais ça se sent pas vraiment dans un prog en 2D comme les tiens...), y'a les display lists et les vertex arrays.
Cherche un peu sur le net, j'ai ni le temps ni l'envie de l'expliquer là :p
Bonne prog
++
MoDDiB
Messages postés546Date d'inscriptionmardi 26 novembre 2002StatutMembreDernière intervention 4 mai 20071 19 juin 2004 à 17:12
DirectX rien de mieux ca rame pas , tu fais ce que tu veux avec :)
kenjimax
Messages postés82Date d'inscriptiondimanche 3 août 2003StatutMembreDernière intervention10 août 2007 19 juin 2004 à 16:54
Bon... On peut maintenant lancer 3 "boules" en meme temps et leur vitesse est reglable...
Cependant, aux vues des modifications necessaires au programme, j'ai decidé (c'est pas la premiere fois d'ailleur) d'arreter (je vous l'avais bien dis).
Mais, je vais faire autre chose bien sur ! Le meme style de jeu mais orienté objet a la maniere de meteroid III mais en opengl.
J'aurai deux trois questions à poser a des "specialistes" (funto : "Moi, Moi, Moi, je sais !!! je sais moi !!!") en ce qui concerne la rapidité d'execution des jeux : a chaque fois que je fais un programme avec des textures, ca rame. Alors, je met un timer et je limite a 40 images par seconde par exemple, ca marche un temps, mais au fur et a mesure de la complexification du programme, ca ralenti, ralenti, ralenti.
Donc, j'aimerai avoir quelques conseil pour accelerer l'execution des jeux, exemple :
- Il ne faut pas que tu utilises trop de textures, par exemple ton univers tu aurais du le faire avec "glBegin(GL_POINTS)".
- Utilise un autre loader de texture plus rapide.
- documente toi sur les procedes d'optimisation du code.
- etc...
Merci d'avance !
kenjimax
Messages postés82Date d'inscriptiondimanche 3 août 2003StatutMembreDernière intervention10 août 2007 19 juin 2004 à 14:27
Ahhh oui ! excuse moi funto....jamais deux sans trois !
MERCI FUNTO !
Ca y est, t'es content ? :D
OK, pour vos remarques, je m'y met tout de suite.
Funto66
Messages postés1267Date d'inscriptionmercredi 1 janvier 2003StatutMembreDernière intervention28 février 20074 19 juin 2004 à 13:21
De rien de rien...c pas la peine de l'écrire 2 fois et en majuscules qd même lol
Plusieurs remarques :
-pas de timer, faudra en mettre un (jeu trop lent chez moi)
-plutôt que de tirer un seul projectile, ce qui nous empêche de re-tirer pendant que le seul projectile existant et en train d'avancer, il faudrait utiliser plusieurs projectiles à la fois, genre avec une classe Projectile utiliser un vector.
-pour les textures TGA, tu utilises le loader de Nate Miller donc les images ne peuvent pas être du TGA compressé; avec un programme comme GIMP, tu pourrais enregistrer tes images au format TGA compressé et ensuite les charger avec un autre loader (genre le mien, sur CppFrance ;))
-à parler des textures, c'e qui n'est pas utile et qui bouffe de la place sur la carte graphique : la texture de l'univers. Pour dessiner des points blancs sur fond noir tu pourrais qd même le faire par toi-même lol, en utilisant la fonction rand() pour que les étoiles soient éparpillées au hasard par exemple.
-enfin, chez moi le vaisseau ne suit pas exactement la souris (il est un peu en retard) mais je vois pas comment l'arranger.
Bon, ben pour finir faudrait rajouter des ennemis bien sûr (et du son ;))
Bonne prog
Saros
Messages postés921Date d'inscriptionvendredi 20 décembre 2002StatutMembreDernière intervention23 septembre 2010 19 juin 2004 à 10:37
Le vaisseau pour du paint il est pas mal :b
Je le trouve bien le scrolling... Tu voudrais pas plutôt en faire un différentiel, avec plusieurs plans qui défilent à des vitesses différentes ? Ce serait génial...
Voilà, sinon bonne continuation
MoDDiB
Messages postés546Date d'inscriptionmardi 26 novembre 2002StatutMembreDernière intervention 4 mai 20071 19 juin 2004 à 09:59
...Et sincèrement les ennemis c'est pas trop ce qu'il y a de plus difficile :) le plus dur c'est de faier un gameplay intéressant :)
neo_00110010101
Messages postés360Date d'inscriptionsamedi 27 septembre 2003StatutMembreDernière intervention30 mai 2006 19 juin 2004 à 07:30
il faudrait que lorsqu'on laisse cliquer sur la souris, le vaisseau shoot sans relache tu vois ?
Sinon j'ai remarqué qu'il tire dès qu'on clique mais aussi dès qu'on relache. C'est original ^^
A part ça le scrolling est bien fait mais manque plus que des ennemis comme tu dis !
3 août 2005 à 21:31
16 juil. 2005 à 09:51
1 juil. 2005 à 21:01
26 août 2004 à 14:46
D'habitude je fais tout, tout seul ! Avec glut ;)
23 août 2004 à 13:05
22 août 2004 à 16:43
"/* shutdown OpenGL */"
Hum, pourquoi tu met les commentaires en anglais ?
28 juin 2004 à 10:25
27 juin 2004 à 23:33
Toi aussi t'as l'oral de français :'(
Bonne chance...
27 juin 2004 à 14:44
J'espere que je ne t'ai pas irrité funto ton post parait ecri par quelqu'un de légèrement exaspéré... excuse moi, si tu etais comme cela a cause de moi...
Merci à tous en tout cas !
Je peux pas m'y remettre tout de suite parce que j'ai l'oral du bac de francais mardi...
Merci Albert aussi de t'être intéressé à ma source !
23 juin 2004 à 09:37
- ajout d un menu
- ajout de nivo(1) avec enemi et bosse final
si tu me donne ta benediction kenji je post dèsque j'ai finitde coder les vie
voila ++
23 juin 2004 à 00:23
J'ai écris plus haut aussi que j'avais écrit un loader qui supportait les textures TGA compressées, c'est pas pour rien...
Tu nous dis que ça marche pas mais tu ne nous montre pas le code.
Tu pourrais faire comme ça dans un 1er temps :
// En variables globales (oui, je sais, c'est pas propre, mais bon
// de toutes façons vu comment est le programme...)
GLuint g_ID_tir_rouge;
// IDs des autres textures aussi...
// Dans init() , après un #include "TGALoader.h" (mon loader de TGA) :
// (glGenTextures() est appelé dans mon loader en interne).
TGALoader tga_loader;
tga_loader.LoadOpenGLTexture("TEX_TIR_ROUGE.tga", &g_ID_tir_rouge);
// Dans Display(), pour le bind :
glBindTexture(GL_TEXTURE_2D, g_ID_tir_rouge);
Voilà, si tu fais comme ça normalement ça devrait marcher.
PS : Y'a albert0 qui a en prjet d'améliorer ta source, on en a parlé ensemble et j'ai rajouté quelques trucs, enfin moi je dis ça comme ça...;)
22 juin 2004 à 15:45
Je desespere un peu, j'ai l'impression d'avoir fait tout ce que vous aviez di et pourtant j'ai toujours le meme probleme avec loadTGA...et je n'arrive pas à trouver de source qui utilise des textures TGA avec le loader de nate miller, si quelqu'un avait ca sous la main ?
22 juin 2004 à 15:09
Sur ce j'espere t'avoir aidé, bonne prog!
22 juin 2004 à 14:26
La fonction pour obtenir l'ID je la connais, c'est glGenTextures(nbr_de texture, référence)
Je vais essayer comme ca, si ca fonctionne merci bcp ! sinon, merci quand meme...
22 juin 2004 à 13:39
loooooooooool
22 juin 2004 à 13:30
22 juin 2004 à 13:21
22 juin 2004 à 13:21
Voila ta déclaration:
enum
{
TEX_UNIVERS=1,
TEX_VAISSEAU_JOUEUR=1,
TEX_TIR_ROUGE=1
};
et là --> Pb! En fait opengl attribue à chaque texture un Id, mais il ne le fait pas automatiquement, c'est toi dans ton appel à loadTGA ( ou plutot dans les appels à opengl qui y sont inclus ) qui le définis. Or Toutes tes textures ont un id de 1! Donc à chaque fois il remplace la texture d'id 1 par la dernière chargée!
Pour corriger -> Met plutot quelque chose du genre
enum
{
TEX_UNIVERS=1,
TEX_VAISSEAU_JOUEUR=2,
TEX_TIR_ROUGE=3
};
Et là t'auras plus de probleme... En fait c'est moche de donner toi meme les id des textures, il existe une fonction opengl faite pour te délivrer un id libre à coup sur, mais je m'en rappelle plus, funto le sait surement et j'ai la flemme de chercher :) mais l'idée est la meme --> Donner TJS des Id différents!
22 juin 2004 à 12:16
En tout cas, merci Wett pour ton commentaire.
21 juin 2004 à 15:11
J'avais pas vu....Faut JAMAIS faire ça lol
Sinon pour l'utilisation de GLUT, le code dans les fichiers .h et la programmation non orientée objet, mea culpa, tout est de ma faute Wett... C'est en fait comme ça que j'expliquais dans mes tutoriaux sur http://www.amk-project.ft.st...j'ai honte, tu peux me taper, vas-y te gêne pas...
21 juin 2004 à 15:07
J'avais pas vu....Faut JAMAIS faire ça lol
Sinon pour l'utilisation de GLUT, le code dans les fichiers .h et la programmation non orientée objet, mea culpa, tout est de ma faute Wett... C'est en fait comme ça que j'expliquais dans mes tutoriaux sur http://www.amk-project.ft.st...j'ai honte, tu peux me taper, vas-y te gêne pas...
21 juin 2004 à 02:03
!
Juste 2-3 trucs :
Selon ma *courte* experience, l'utilisation de glut si elle simplifie grandement certaines choses comme l'initialisation de la fenetre de maniere portable etc, ben... Enfin moi j'aime pas :) Et j'ai jamais reussi à faire un timer correct avec puisque le débat en est là.
Encore un truc de chipotage : on ne balance pas de code dans un .h! uniquement les prototypes/déclarations, les definitions (le vrai code quoi) étant toujours dans un .cpp...
Pour ce qui est de l'optimisation... Quelques conseils tres simples:
Je vois que tu charges les textures pendant l'affichage... Hop hop hop on prend son courage à 2 mains, on fait une procédure d'initialisation qui s'occupe de charger tout ce qui est nécessaire une bonne fois pour toute, on garde les id des textures dans un coin (ici la programmation objet t'aiderai mais bon on complique pas trop et puis je viens de voir que tu t'en sors déja pour la position du vaisseau, ben tu nous fait pareil pour les id des textures) et on les utilise comme tu le fais! Simplement on ne charge jamais en pleine boucle, si opengl n'etait pas super intelligent bah ton HDD tournerait à bloc comme un fou, tu imagines charger 20Ko 60 fois par seconde... Ca commence à faire! ;) Et je me demande si c'est pas pour ça que comme tu dis dans un post précédent ton programme finis par ramer, ramer des qu'il y a des textures...
Derniere chose de re-chipoteur ( donc en fait si tu suis bien, les "qlq conseils d'optimisation" se sont transformés en 1 seul conseil :) Indente ton code, ça simplifie la lecture et c'est pas plus mal de prendre les bonnes habitudes dès le début :D
Voila désolé si je chipote tout le temps (et encore je me retiens ;) mais faut pas m'en vouloir je dis ça dans ton interet :)
Sur ce, merci pour cette source et bonne prog !
19 juin 2004 à 19:25
tu trouve donc ta nouvelle position en multipliant le temps écoulé depuis le dernier passage: si ce n'est pas assez clair dis le je rééxpliquerai bien !
19 juin 2004 à 17:20
Bon, on va essayer d'éviter le débat ultra-classique et méga-trollesque "DirectX ou OpenGL?"...
kenjimax >> je vois pas pourquoi t'arrêtes, enfin bon...
Pour ce qui est des timers, en fait la méthode que tu utilises (et qui vient de moi, j'ai honte...) est mauvaise; plutôt que de limiter l'affichage à X FPS, les jeux actuels calculent le temps d'affichage de chaque frame et font les "actions" (déplacement d'un perso...etc) en fonction du temps passé à dessiner la frame. C'est pour ça qu'un jeu apparaît saccadé sur une vieille carte graphique, mais peut quand même rester relativement jouable.
Je sais pas si je suis vraiment clair...
Bon, ensuite c'est sûr que l'idée de la texture de l'univers était mauvaise lol.
Après, pour ce qui est d'accélérer le rendu (mais ça se sent pas vraiment dans un prog en 2D comme les tiens...), y'a les display lists et les vertex arrays.
Cherche un peu sur le net, j'ai ni le temps ni l'envie de l'expliquer là :p
Bonne prog
++
19 juin 2004 à 17:12
19 juin 2004 à 16:54
Cependant, aux vues des modifications necessaires au programme, j'ai decidé (c'est pas la premiere fois d'ailleur) d'arreter (je vous l'avais bien dis).
Mais, je vais faire autre chose bien sur ! Le meme style de jeu mais orienté objet a la maniere de meteroid III mais en opengl.
J'aurai deux trois questions à poser a des "specialistes" (funto : "Moi, Moi, Moi, je sais !!! je sais moi !!!") en ce qui concerne la rapidité d'execution des jeux : a chaque fois que je fais un programme avec des textures, ca rame. Alors, je met un timer et je limite a 40 images par seconde par exemple, ca marche un temps, mais au fur et a mesure de la complexification du programme, ca ralenti, ralenti, ralenti.
Donc, j'aimerai avoir quelques conseil pour accelerer l'execution des jeux, exemple :
- Il ne faut pas que tu utilises trop de textures, par exemple ton univers tu aurais du le faire avec "glBegin(GL_POINTS)".
- Utilise un autre loader de texture plus rapide.
- documente toi sur les procedes d'optimisation du code.
- etc...
Merci d'avance !
19 juin 2004 à 14:27
MERCI FUNTO !
Ca y est, t'es content ? :D
OK, pour vos remarques, je m'y met tout de suite.
19 juin 2004 à 13:21
Plusieurs remarques :
-pas de timer, faudra en mettre un (jeu trop lent chez moi)
-plutôt que de tirer un seul projectile, ce qui nous empêche de re-tirer pendant que le seul projectile existant et en train d'avancer, il faudrait utiliser plusieurs projectiles à la fois, genre avec une classe Projectile utiliser un vector.
-pour les textures TGA, tu utilises le loader de Nate Miller donc les images ne peuvent pas être du TGA compressé; avec un programme comme GIMP, tu pourrais enregistrer tes images au format TGA compressé et ensuite les charger avec un autre loader (genre le mien, sur CppFrance ;))
-à parler des textures, c'e qui n'est pas utile et qui bouffe de la place sur la carte graphique : la texture de l'univers. Pour dessiner des points blancs sur fond noir tu pourrais qd même le faire par toi-même lol, en utilisant la fonction rand() pour que les étoiles soient éparpillées au hasard par exemple.
-enfin, chez moi le vaisseau ne suit pas exactement la souris (il est un peu en retard) mais je vois pas comment l'arranger.
Bon, ben pour finir faudrait rajouter des ennemis bien sûr (et du son ;))
Bonne prog
19 juin 2004 à 10:37
Je le trouve bien le scrolling... Tu voudrais pas plutôt en faire un différentiel, avec plusieurs plans qui défilent à des vitesses différentes ? Ce serait génial...
Voilà, sinon bonne continuation
19 juin 2004 à 09:59
19 juin 2004 à 07:30
Sinon j'ai remarqué qu'il tire dès qu'on clique mais aussi dès qu'on relache. C'est original ^^
A part ça le scrolling est bien fait mais manque plus que des ennemis comme tu dis !