cs_Kirua
Messages postés3006Date d'inscriptiondimanche 14 avril 2002StatutMembreDernière intervention31 décembre 2008
-
15 mai 2007 à 16:32
MinisJeux
Messages postés53Date d'inscriptionlundi 22 mars 2010StatutMembreDernière intervention 1 novembre 2011
-
6 déc. 2010 à 11:07
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
MinisJeux
Messages postés53Date d'inscriptionlundi 22 mars 2010StatutMembreDernière intervention 1 novembre 2011 6 déc. 2010 à 11:07
Excellent Travail, vraiment continue comme ça.
SamyPesse
Messages postés5Date d'inscriptiondimanche 19 juillet 2009StatutMembreDernière intervention12 mai 2014 23 juin 2009 à 14:02
vraiment de l'excellet travail !!!!!!!!!!!!!!!!!!!!!!
je vais me baser dessus pour mon fps, :) je viens de comprendre le fonctionnement des collision et du mode reseau !!! ;)
Unenlagia
Messages postés34Date d'inscriptionsamedi 27 août 2011StatutMembreDernière intervention10 novembre 2011 12 août 2007 à 17:48
BOULETE !!!! :\
j'ai cliquer sans faire expres sur assigné 5 a cette source...
D6R26H59P
Messages postés17Date d'inscriptiondimanche 25 septembre 2005StatutMembreDernière intervention30 mai 2007 30 mai 2007 à 19:45
Quelques répondes vite fait:
- Pour l'encapsulation j'ai pas cherché à faire niquel. Mais ton exemple est mal choisi ^^. Si tu regarde dans tir.cpp tu vera que ce que tu dit est fait.
- Pour les map c'est le terme de script qu'est surement mal choisis. Ouvre une map ou regarde le fichier "comment faire une map.txt" C'est tout expliqué.
- Inversion() sert pas. J'ai oublié de l'enlevé. Et je connais pas les template :(... J'ai apris sur des petits tuto j'ai donc pas une connaissance exhaustive.
- J'vais encore passer pour un ignar mais c'est quoi un FBO? Puis vus que c'est vraiment que le perso qui l'utilise j'ai pas cherché à faire mieux
- Jtrouve que if BALLE_DANS_INTERVALLE est plus plaisant à l'oeil que ((BALLE_X_MIN*UNITE<Balle[i].X)&&(Balle[i].X<BALLE_X_MAX*UNITE)&&(BALLE_Y_MIN*UNITE<Balle[i].Y)&&(Balle[i].Y<BALLE_Y_MAX*UNITE)&&(BALLE_Z_MIN*UNITE<Balle[i].Z)&&(Balle[i].Z<BALLE_Z_MAX*UNITE))
- Pour les balle jme suis dit que c'était suffisant. Vus qu'à grande distance la chance de touché est presque nule et que la balle vas suffisament vite:
Si on considere qu'on touche jusqu'à 400u (Ce qui correspond à plus de 2 minutes de marche sans interuption), Vu qu'on tire 3 balle par seconde max, Si les 8 joueur tire en même temps le nombre de balle qu'il faut est 3*8*4=96.
- Pour le réseau: C'est sur quoi je me suis le plus appliqué :)
cs_Kirua
Messages postés3006Date d'inscriptiondimanche 14 avril 2002StatutMembreDernière intervention31 décembre 2008 26 mai 2007 à 19:24
"if BALLE_DANS_INTERVALLE // Dieu que c'est crade"
Oui, mais ça rime.
désolé.
Arnaud16022
Messages postés1329Date d'inscriptionvendredi 15 août 2003StatutMembreDernière intervention16 juin 20102 26 mai 2007 à 16:03
Quelques remarques vite fait:
Pas assez d'encapsulation ! regarde balle.cpp par exemple ... là dedans devrait y avoir un truc genre draw(), update(), checkCollision()... aucun de ses membres ne devrait être public, aucun.
Touches[4] -> bien, tu ne l'as pas hardcodé :) +1 pour toi, mais -1 car faudrait le faire aussi pour la souris, idéalement :p
Si j'ai bien compris, pour toi, Scrit = Map ?? eclaire moi ...
et c'est compteur, comme compter, et non conteur, comme raconter ;)
Inversion et InverseInt : arrg, alors 1) ca a 2 noms différents comment tu fais pour t'y retrouver, la surcharge ça existe et 2) utilise les templates. ça t'inversera tout ce que tu voudra.
DessinePave et très bourrin. Passe par un FBO, ou , au minimum ( vu que c'est un peu chiant à mettre en place de manière sécurisée ) un array. C'est tue-perfs, ça. Encore pour le dessin du perso passe encore, mais pas trop quand il s'agit de la map.
if BALLE_DANS_INTERVALLE // Dieu que c'est crade
Ta gestion des balles te fait courir droit au bug !! ok tu vérifies si (Conteur>=BALLE_MAX), mais si tel est le cas, tu risques de supprimer l'une des balles au prochain tir, c'est balot. Tu devrais plutôt boucler sur ton tableau et prendre la première balle " morte ", et grader un compteur pour savoir où était la dernière balle morte trouvée, ça peut éviter de reparcourir le tableau à chaque fois et, dans certains cas, optimiser un peu.
La gestion du réseau a l'air pas mal du tout :) idem pour les thread :)
Voilà je pense que c'est tout, c'est déjà pas mal ;)
@+, bon code.
D6R26H59P
Messages postés17Date d'inscriptiondimanche 25 septembre 2005StatutMembreDernière intervention30 mai 2007 26 mai 2007 à 14:33
Merci pour le commentaire ^^ sa fait plaisir. Pour le code j'ai essayé de faire propre, j'espere que c'est bien.
Sinon j'ai joué à 4 l'autre jour par internet et c'est marrant ^^. Par contre en général on sait pas trop ou tirer à cause du décalage. Mais ça c'est vrai pour tout les FPS en réseau quand c'est la première fois qu'on joue...
Arnaud16022
Messages postés1329Date d'inscriptionvendredi 15 août 2003StatutMembreDernière intervention16 juin 20102 21 mai 2007 à 15:45
Woa
Vraiment, chapeau ... ( bon mon stupide voisin me dit : " c'est moche ... j'préfère UT " ) , mais c'est franchement sympa...
Je n'ai pas encore regardé le code; reste à voir si tu as codé ça comme un cochon :p mais le résultat, je le trouve plutôt convaincant. J'ai joué tout seul à 2 sur le même PC, c'était un peu galère (vive le alt-tab ) , ça permet quand même de se faire une idée. Je vois que tu gères même la transparence.
Je reposte quand j'aurais vu ton code de plus près :)
D6R26H59P
Messages postés17Date d'inscriptiondimanche 25 septembre 2005StatutMembreDernière intervention30 mai 2007 17 mai 2007 à 13:44
non en fait lors de l'envoie du message de position j'enregistre le tps sur l'ordi qui envoie. Je compare en suite sur l'ordi qui reçoit. Au message suivant je fait la difference des 2 et sa me donne le tps qu'il faut attendre. S'il est negatif je remplace l'ancien temps par le nouveau.
Pour l'UDP en fait je sais pas m'en servir... J'ai peu de connaissance, j'essaie de faire le mieux avec les moyens que j'ai. Si tu connais un bon tuto et si c'est pas trop dur je suis partant pour modifier, ça pourrait diminuer le decalage... j'ai fait une partie avec des potes et sa se joue beaucoup au hasard...
XT95
Messages postés25Date d'inscriptionmercredi 19 octobre 2005StatutMembreDernière intervention 5 août 2007 16 mai 2007 à 18:45
TCP/IP, pas d'UDP pour le déplacement des joueurs et tu n'as aucun lag ?
Cyr62110
Messages postés65Date d'inscriptionvendredi 10 février 2006StatutMembreDernière intervention21 octobre 2009 16 mai 2007 à 14:37
Merci, je vais pouvoir maintenant essayer les connections TCP/IP.
Bonne Continuation.
Bye
D6R26H59P
Messages postés17Date d'inscriptiondimanche 25 septembre 2005StatutMembreDernière intervention30 mai 2007 15 mai 2007 à 21:05
C'est une connection TCP/IP avec winsock. Toutes mes connaissance sur les socket son là: http://c.developpez.com/WalrusSock/ à quelques détails près...
Cyr62110
Messages postés65Date d'inscriptionvendredi 10 février 2006StatutMembreDernière intervention21 octobre 2009 15 mai 2007 à 20:47
Bon travail, il faut avoir le courage de déveloper un FPS online.
Sinon tu travaille avec quoi pour le réseau, j'arrive pas vraiment a determiner le type de connection : FTP,etc...
Bonne continuation si tu souhaite le mettre à jour.
Bye
D6R26H59P
Messages postés17Date d'inscriptiondimanche 25 septembre 2005StatutMembreDernière intervention30 mai 2007 15 mai 2007 à 19:52
Si tu lit un peu tu vera facilement que c'est VC++ que j'utilise... Sinon pour les libs j'utilise SDL/opengl/glut/fmod/winsock2, sa aussi tu peu facilement voir...
Sinon qu'est que tu appelle les "specs côté code"?
cs_Kirua
Messages postés3006Date d'inscriptiondimanche 14 avril 2002StatutMembreDernière intervention31 décembre 2008 15 mai 2007 à 16:33
Oups! Au temps pour moi, le screenshot ne s'affichait pas quand j'ai posté mon commentaire!
cs_Kirua
Messages postés3006Date d'inscriptiondimanche 14 avril 2002StatutMembreDernière intervention31 décembre 2008 15 mai 2007 à 16:32
Un petit screenshot pour les fainéants?
Et les specs côté code? Quelles librairies tu utilises? Tu compiles avec quoi? Etc :)
6 déc. 2010 à 11:07
23 juin 2009 à 14:02
je vais me baser dessus pour mon fps, :) je viens de comprendre le fonctionnement des collision et du mode reseau !!! ;)
12 août 2007 à 17:48
j'ai cliquer sans faire expres sur assigné 5 a cette source...
30 mai 2007 à 19:45
- Pour l'encapsulation j'ai pas cherché à faire niquel. Mais ton exemple est mal choisi ^^. Si tu regarde dans tir.cpp tu vera que ce que tu dit est fait.
- Pour les map c'est le terme de script qu'est surement mal choisis. Ouvre une map ou regarde le fichier "comment faire une map.txt" C'est tout expliqué.
- Inversion() sert pas. J'ai oublié de l'enlevé. Et je connais pas les template :(... J'ai apris sur des petits tuto j'ai donc pas une connaissance exhaustive.
- J'vais encore passer pour un ignar mais c'est quoi un FBO? Puis vus que c'est vraiment que le perso qui l'utilise j'ai pas cherché à faire mieux
- Jtrouve que if BALLE_DANS_INTERVALLE est plus plaisant à l'oeil que ((BALLE_X_MIN*UNITE<Balle[i].X)&&(Balle[i].X<BALLE_X_MAX*UNITE)&&(BALLE_Y_MIN*UNITE<Balle[i].Y)&&(Balle[i].Y<BALLE_Y_MAX*UNITE)&&(BALLE_Z_MIN*UNITE<Balle[i].Z)&&(Balle[i].Z<BALLE_Z_MAX*UNITE))
- Pour les balle jme suis dit que c'était suffisant. Vus qu'à grande distance la chance de touché est presque nule et que la balle vas suffisament vite:
Si on considere qu'on touche jusqu'à 400u (Ce qui correspond à plus de 2 minutes de marche sans interuption), Vu qu'on tire 3 balle par seconde max, Si les 8 joueur tire en même temps le nombre de balle qu'il faut est 3*8*4=96.
- Pour le réseau: C'est sur quoi je me suis le plus appliqué :)
26 mai 2007 à 19:24
Oui, mais ça rime.
désolé.
26 mai 2007 à 16:03
Pas assez d'encapsulation ! regarde balle.cpp par exemple ... là dedans devrait y avoir un truc genre draw(), update(), checkCollision()... aucun de ses membres ne devrait être public, aucun.
Touches[4] -> bien, tu ne l'as pas hardcodé :) +1 pour toi, mais -1 car faudrait le faire aussi pour la souris, idéalement :p
Si j'ai bien compris, pour toi, Scrit = Map ?? eclaire moi ...
et c'est compteur, comme compter, et non conteur, comme raconter ;)
Inversion et InverseInt : arrg, alors 1) ca a 2 noms différents comment tu fais pour t'y retrouver, la surcharge ça existe et 2) utilise les templates. ça t'inversera tout ce que tu voudra.
DessinePave et très bourrin. Passe par un FBO, ou , au minimum ( vu que c'est un peu chiant à mettre en place de manière sécurisée ) un array. C'est tue-perfs, ça. Encore pour le dessin du perso passe encore, mais pas trop quand il s'agit de la map.
if BALLE_DANS_INTERVALLE // Dieu que c'est crade
Ta gestion des balles te fait courir droit au bug !! ok tu vérifies si (Conteur>=BALLE_MAX), mais si tel est le cas, tu risques de supprimer l'une des balles au prochain tir, c'est balot. Tu devrais plutôt boucler sur ton tableau et prendre la première balle " morte ", et grader un compteur pour savoir où était la dernière balle morte trouvée, ça peut éviter de reparcourir le tableau à chaque fois et, dans certains cas, optimiser un peu.
La gestion du réseau a l'air pas mal du tout :) idem pour les thread :)
Voilà je pense que c'est tout, c'est déjà pas mal ;)
@+, bon code.
26 mai 2007 à 14:33
Sinon j'ai joué à 4 l'autre jour par internet et c'est marrant ^^. Par contre en général on sait pas trop ou tirer à cause du décalage. Mais ça c'est vrai pour tout les FPS en réseau quand c'est la première fois qu'on joue...
21 mai 2007 à 15:45
Vraiment, chapeau ... ( bon mon stupide voisin me dit : " c'est moche ... j'préfère UT " ) , mais c'est franchement sympa...
Je n'ai pas encore regardé le code; reste à voir si tu as codé ça comme un cochon :p mais le résultat, je le trouve plutôt convaincant. J'ai joué tout seul à 2 sur le même PC, c'était un peu galère (vive le alt-tab ) , ça permet quand même de se faire une idée. Je vois que tu gères même la transparence.
Je reposte quand j'aurais vu ton code de plus près :)
17 mai 2007 à 13:44
Pour l'UDP en fait je sais pas m'en servir... J'ai peu de connaissance, j'essaie de faire le mieux avec les moyens que j'ai. Si tu connais un bon tuto et si c'est pas trop dur je suis partant pour modifier, ça pourrait diminuer le decalage... j'ai fait une partie avec des potes et sa se joue beaucoup au hasard...
16 mai 2007 à 18:45
16 mai 2007 à 14:37
Bonne Continuation.
Bye
15 mai 2007 à 21:05
15 mai 2007 à 20:47
Sinon tu travaille avec quoi pour le réseau, j'arrive pas vraiment a determiner le type de connection : FTP,etc...
Bonne continuation si tu souhaite le mettre à jour.
Bye
15 mai 2007 à 19:52
Sinon qu'est que tu appelle les "specs côté code"?
15 mai 2007 à 16:33
15 mai 2007 à 16:32
Et les specs côté code? Quelles librairies tu utilises? Tu compiles avec quoi? Etc :)