jdmcreator
Messages postés647Date d'inscriptionsamedi 30 décembre 2000StatutMembreDernière intervention20 juillet 2012
-
7 avril 2009 à 23:24
danBill7
Messages postés7Date d'inscriptionmardi 13 février 2018StatutMembreDernière intervention26 février 2018
-
13 févr. 2018 à 18:50
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
danBill7
Messages postés7Date d'inscriptionmardi 13 février 2018StatutMembreDernière intervention26 février 2018 13 févr. 2018 à 18:50
j'ai oublié de préciser qu'il faut utiliser firefox dans cet essai!
danBill7
Messages postés7Date d'inscriptionmardi 13 février 2018StatutMembreDernière intervention26 février 2018 13 févr. 2018 à 18:41
merci amrounix! a partir de ton idee j'ai fait un petit jeu de billard 3 boules
qu'on peut voir en ligne sans engagement ici https://danBill7.github.io
pyros49
Messages postés26Date d'inscriptiondimanche 29 mars 2009StatutMembreDernière intervention 9 septembre 2013 25 févr. 2012 à 11:49
je suis sur un projet similaire mais sur une sphère (la terre) donc mais angles de déplacement sont des caps, je vais donc essayer de reprendre ta source pour l'appliquer à mon projet.
Est ce que tu aurais une idée ?
jdmcreator
Messages postés647Date d'inscriptionsamedi 30 décembre 2000StatutMembreDernière intervention20 juillet 20127 9 nov. 2011 à 02:09
Bonjour,
Comment fais-tu ta décélération des boules de billard, cela m'intéresse pour un autre projet
Merci,
JDMCreator
amrounix
Messages postés78Date d'inscriptionlundi 10 mars 2003StatutMembreDernière intervention12 juillet 2010 20 avril 2009 à 14:06
HeLLo les amis ... un petit message pour vous prévenir que j'avais mis a jour mon code, avec pas mal d'amélioration :
-correction des collisions; on avait les boules qui se chevauchaient dans certains cas, le problème était du à la distance entre les boules (variable distn) explication :
b[x,y] : boule d'origine N°1, b[nx,ny] : nouvelle position
b2[x,y] : boule d'origine N°2, b2[nx,ny] : nouvelle position
la distance était calculé entre les boules b[nx,ny] & b2[nx,ny], sauf qu'on ne tennait pas compte de la position d'origine ! bref la distance² correspond à la vitesse² donc pour pallier à ce pb, j'ai fait : distn = distn - b.v² - b2.v² qui correspond au pire scénario ... Je crois que j'ai perdu des gens en route... lol
-les rebords se font par détection de croisement, entre les segements de déplacement de la boule b[x,y] à b[nx,ny] et le rebord, si ca se croise il y'a donc collision, on récupère la normale du plan de contact "p.n" et on sort son livre de physique sur la réflexion d'onde et puis voila ! lol
bon ok j'arret de vous saouler , ce qui compte c'est de pouvoir s'amuser ! En ce moment je cherche les règles du jeux de pool pour adapter le jeu avec les vrais règles ! c'est bientôt la fin ...
@karamel
Messages postés1855Date d'inscriptionvendredi 9 mai 2008StatutModérateurDernière intervention18 avril 2024153 12 avril 2009 à 18:49
autant pour moi sinon pas mal la nouvelle version largement plus esthétique meme si il est vrais que pour un projet en cour l'estetisme passe apres la fonctionalite en tout cas tu semble bien maitriser ton sujet du moins tu essai de faire le mieux possible
++
jdmcreator
Messages postés647Date d'inscriptionsamedi 30 décembre 2000StatutMembreDernière intervention20 juillet 20127 11 avril 2009 à 16:50
Je l'ai essayé avec les mêmes navigateurs/OS que la dernière fois : IE7 et Safari sur Windows XP ;)
amrounix
Messages postés78Date d'inscriptionlundi 10 mars 2003StatutMembreDernière intervention12 juillet 2010 11 avril 2009 à 14:49
c'est parce que j'ai beaucoup diminué la vitesse maximale (trop vite) et augmenter les forces de frottement. Le seul souci c'est que ça dépend aussi de la vitesse de la machine, faudrait que je teste mon programme sur d'autre plateforme
Cordialement,
Selim A.
jdmcreator
Messages postés647Date d'inscriptionsamedi 30 décembre 2000StatutMembreDernière intervention20 juillet 20127 11 avril 2009 à 14:45
Bonjour,
Mon premier constat de ta nouvelle version est que la présentation graphique a été amélioré mais ici, le jeu est beaucoup plus lent et fonctionne au ralenti.
Est-ce normal ?
JDMCreator
amrounix
Messages postés78Date d'inscriptionlundi 10 mars 2003StatutMembreDernière intervention12 juillet 2010 11 avril 2009 à 13:25
Bonjour à tous,
Je viens de mettre à jour ma source, après avoir joué plusieurs partie en vrai, j'ai placé le coefficient de frottement à 0.018, dite moi ce que vous en pensé, j'ai aussi amélioré l'image du plateau, l'image de la queue(ca va plaire à Kimjoa) augementé la taille des boules, on ne peut toujours pas rentrer les boules dans les trous parce que je n'ai pas fini d'améliorer les collisions...
pour les effets, ce sera la prochaine étape quand tout sera opérationnel !
pour info :
- le poid de boule est situé à la ligne 29 : "this.m = 4;", et le choc dépend beaucoup du rapport des masses entre les 2 boules !
- le coef de frottement, est bien par rapport à la vitesse (donc décroissance linéaire, elle aurait été logarthimique si elle était liée à l'accélération ... elle l'est mais c'est négligable)
-pr les pertes liées aux chocs, on a un dégagement de chaleur qui est quasi null !
-on peu aussi avoir une perte lié à la déformation des matériaux, mais ce n'est pas le cas ici ! lol
@karamel
Messages postés1855Date d'inscriptionvendredi 9 mai 2008StatutModérateurDernière intervention18 avril 2024153 11 avril 2009 à 11:07
bonjour
pour la vitesse des boules ce serait bien de donner un poids aux boules
cs_Kimjoa
Messages postés262Date d'inscriptionvendredi 6 mai 2005StatutMembreDernière intervention19 septembre 2014 10 avril 2009 à 15:47
j'ai mal au crane aiiee :).
En tout cas pour réviser ses math et sa physique, c'est type top !!
Je me suis renseigné un peu sur wiki sur l'algo de la queue ...
Concernant le freinage, je suis pas sur , mais plus y a de vitesse et plus y'a de frottement non? donc un systeme basé dessus serait plus réaliste... le mieux serait de choper les vrai fonction ,mais là à appliquer j'imagine po :)
Sinon lors d'une collision y'a une déperdissions d'energie dut au choc ?
Prochaine étape la rotation de la balle avec les effets ect ... bon courage ;) ?
a++
amrounix
Messages postés78Date d'inscriptionlundi 10 mars 2003StatutMembreDernière intervention12 juillet 2010 9 avril 2009 à 17:09
Salut Kimjoa, pour les frictions, ca fait parti des détails que je voulais améliorer pour me rapprocher de la réalité, pour changer la resistance de freinage, il faut modifier la variable coefLin qui est à 0.005 (ligne 122) , donc à chaque boucle, la vitesse va diminier de 0.005 jusqu'à l'arrêt ! donc si on monte cette valeur, la boule freinera plus vite ! la vitesse va décroître de façon linéaire (b.v-=coefLin; ligne 275), on pourrait aussi imaginer y inclure une décroissance exponentielle (b.v*=coefMul; avec coefMul=0.9998 proche de 1) pour se rapprocher de la réalité ... bref ça c'est le freinage !
En ce qui concerne la queue de billard, c'est un code spécial killer (moi) lol ! l'astuce c'est justement de ne pas faire de div de 1px mais de n pixels avec n le diamètre du trait, avec chaque pixel du trait passant par le centre de ces div, c à dire de (x-n/2,y-n/2) à (x+n/2,y/n/2) d'où par exemple à la ligne 362 je fais un diam/2 (diam est l'epaisseur du trait) ou plutot je fait un d2 = diam>>1 ; (rotation binaire à droit de 1 qui équivaut à un math.round(diam/2); en + rapide !)
voila j'espère avoir tuer personne avec mes explications, lol
pr info : en ce mmt je bosse sur les rebonds au abord des trous en réutilisant ma méthode collisions (simulation d'un choc avec une boule à l'arrêt qui ne bougerait pas) en test ...
cs_Kimjoa
Messages postés262Date d'inscriptionvendredi 6 mai 2005StatutMembreDernière intervention19 septembre 2014 8 avril 2009 à 14:20
c'est vrai que c'est sympa, même si y a encore comme tu le dit des détails a peaufiner, le gros du taff y est. J'ai essayé vite fait , le gros default c'est que y a pas assé de friction , les billes restes tros longtemps en mouvement.
J'ai pas le temps de regardé le code, mais je suis intrigué du comment tu as fais la queue de billard, avec des div de 1px successif?
Sinon pk ne pas avoir fait ça en canvas , ca aurait été bien plus fluide... bon je parle pas de flash ;).
good job !! a++
amrounix
Messages postés78Date d'inscriptionlundi 10 mars 2003StatutMembreDernière intervention12 juillet 2010 8 avril 2009 à 12:42
Bonjour,
Merci pour vos commentaires , actuellement je réfléchi à une méthode pour la gestion du jeu la plus light possible !
Merci JDMCreator pour ta proposition, là où j'aurais besoin d'aide c'est dans les petits détails pour améilorer le graphisme et la jouabilité c'est à dire :
-image d'une table de billard à l'échelle (avec les trou) ce sera bcp mieu que mon ptit carrée vert
-refaire les images des boules au bon diamètre par rapport à l'air de jeu(ca m'a pris 10 minutes chrono avec photoshop) et rajouter des effets d'ombre etc..
-trouver des valeurs cohérentes à la force minimim, force maximum, coefficient de freinage ... constante : dmin, dmax, fmax,coefLin et seuilStop
c'est tout ces petits détails qui prennent du temps mais qui font tout le jeu !
je vais aussi essayer d'améliorer le dessin de la queue de billard, je ne m'attendais pas à ce que l'affichage soit aussi fluide !
Je n'ai pas encore regardé le source, mais c'est tout simplement génial.
jdmcreator
Messages postés647Date d'inscriptionsamedi 30 décembre 2000StatutMembreDernière intervention20 juillet 20127 7 avril 2009 à 23:24
Bonjour !
Comme ton projet Collision, cette source me fassionne et j'aimerais beaucoup aidé à l'amélioré. Par exemple, je crois qu'il serait assez simple de faire "rentrer les balles dans les trous" en intérogeant les positions des balles. Félicitation pour le travail (ça du être un grand boulot) c'est sûr que si on pourrait diriger la force du bâton.
13 févr. 2018 à 18:50
13 févr. 2018 à 18:41
qu'on peut voir en ligne sans engagement ici https://danBill7.github.io
25 févr. 2012 à 11:49
je viens de faire un post : http://www.phpcs.com/forum/sujet-CHOC-ELASTIQUE-SUR-GLOBE_1574797.aspx
je suis sur un projet similaire mais sur une sphère (la terre) donc mais angles de déplacement sont des caps, je vais donc essayer de reprendre ta source pour l'appliquer à mon projet.
Est ce que tu aurais une idée ?
9 nov. 2011 à 02:09
Comment fais-tu ta décélération des boules de billard, cela m'intéresse pour un autre projet
Merci,
JDMCreator
20 avril 2009 à 14:06
-correction des collisions; on avait les boules qui se chevauchaient dans certains cas, le problème était du à la distance entre les boules (variable distn) explication :
b[x,y] : boule d'origine N°1, b[nx,ny] : nouvelle position
b2[x,y] : boule d'origine N°2, b2[nx,ny] : nouvelle position
la distance était calculé entre les boules b[nx,ny] & b2[nx,ny], sauf qu'on ne tennait pas compte de la position d'origine ! bref la distance² correspond à la vitesse² donc pour pallier à ce pb, j'ai fait : distn = distn - b.v² - b2.v² qui correspond au pire scénario ... Je crois que j'ai perdu des gens en route... lol
-les rebords se font par détection de croisement, entre les segements de déplacement de la boule b[x,y] à b[nx,ny] et le rebord, si ca se croise il y'a donc collision, on récupère la normale du plan de contact "p.n" et on sort son livre de physique sur la réflexion d'onde et puis voila ! lol
bon ok j'arret de vous saouler , ce qui compte c'est de pouvoir s'amuser ! En ce moment je cherche les règles du jeux de pool pour adapter le jeu avec les vrais règles ! c'est bientôt la fin ...
12 avril 2009 à 18:49
++
11 avril 2009 à 16:50
11 avril 2009 à 14:49
Cordialement,
Selim A.
11 avril 2009 à 14:45
Mon premier constat de ta nouvelle version est que la présentation graphique a été amélioré mais ici, le jeu est beaucoup plus lent et fonctionne au ralenti.
Est-ce normal ?
JDMCreator
11 avril 2009 à 13:25
Je viens de mettre à jour ma source, après avoir joué plusieurs partie en vrai, j'ai placé le coefficient de frottement à 0.018, dite moi ce que vous en pensé, j'ai aussi amélioré l'image du plateau, l'image de la queue(ca va plaire à Kimjoa) augementé la taille des boules, on ne peut toujours pas rentrer les boules dans les trous parce que je n'ai pas fini d'améliorer les collisions...
pour les effets, ce sera la prochaine étape quand tout sera opérationnel !
pour info :
- le poid de boule est situé à la ligne 29 : "this.m = 4;", et le choc dépend beaucoup du rapport des masses entre les 2 boules !
- le coef de frottement, est bien par rapport à la vitesse (donc décroissance linéaire, elle aurait été logarthimique si elle était liée à l'accélération ... elle l'est mais c'est négligable)
-pr les pertes liées aux chocs, on a un dégagement de chaleur qui est quasi null !
-on peu aussi avoir une perte lié à la déformation des matériaux, mais ce n'est pas le cas ici ! lol
11 avril 2009 à 11:07
pour la vitesse des boules ce serait bien de donner un poids aux boules
10 avril 2009 à 15:47
En tout cas pour réviser ses math et sa physique, c'est type top !!
Je me suis renseigné un peu sur wiki sur l'algo de la queue ...
Concernant le freinage, je suis pas sur , mais plus y a de vitesse et plus y'a de frottement non? donc un systeme basé dessus serait plus réaliste... le mieux serait de choper les vrai fonction ,mais là à appliquer j'imagine po :)
Sinon lors d'une collision y'a une déperdissions d'energie dut au choc ?
Prochaine étape la rotation de la balle avec les effets ect ... bon courage ;) ?
a++
9 avril 2009 à 17:09
En ce qui concerne la queue de billard, c'est un code spécial killer (moi) lol ! l'astuce c'est justement de ne pas faire de div de 1px mais de n pixels avec n le diamètre du trait, avec chaque pixel du trait passant par le centre de ces div, c à dire de (x-n/2,y-n/2) à (x+n/2,y/n/2) d'où par exemple à la ligne 362 je fais un diam/2 (diam est l'epaisseur du trait) ou plutot je fait un d2 = diam>>1 ; (rotation binaire à droit de 1 qui équivaut à un math.round(diam/2); en + rapide !)
voila j'espère avoir tuer personne avec mes explications, lol
pr info : en ce mmt je bosse sur les rebonds au abord des trous en réutilisant ma méthode collisions (simulation d'un choc avec une boule à l'arrêt qui ne bougerait pas) en test ...
8 avril 2009 à 14:20
J'ai pas le temps de regardé le code, mais je suis intrigué du comment tu as fais la queue de billard, avec des div de 1px successif?
Sinon pk ne pas avoir fait ça en canvas , ca aurait été bien plus fluide... bon je parle pas de flash ;).
good job !! a++
8 avril 2009 à 12:42
Merci pour vos commentaires , actuellement je réfléchi à une méthode pour la gestion du jeu la plus light possible !
Merci JDMCreator pour ta proposition, là où j'aurais besoin d'aide c'est dans les petits détails pour améilorer le graphisme et la jouabilité c'est à dire :
-image d'une table de billard à l'échelle (avec les trou) ce sera bcp mieu que mon ptit carrée vert
-refaire les images des boules au bon diamètre par rapport à l'air de jeu(ca m'a pris 10 minutes chrono avec photoshop) et rajouter des effets d'ombre etc..
-trouver des valeurs cohérentes à la force minimim, force maximum, coefficient de freinage ... constante : dmin, dmax, fmax,coefLin et seuilStop
c'est tout ces petits détails qui prennent du temps mais qui font tout le jeu !
je vais aussi essayer d'améliorer le dessin de la queue de billard, je ne m'attendais pas à ce que l'affichage soit aussi fluide !
8 avril 2009 à 11:41
7 avril 2009 à 23:24
Comme ton projet Collision, cette source me fassionne et j'aimerais beaucoup aidé à l'amélioré. Par exemple, je crois qu'il serait assez simple de faire "rentrer les balles dans les trous" en intérogeant les positions des balles. Félicitation pour le travail (ça du être un grand boulot) c'est sûr que si on pourrait diriger la force du bâton.
Cordialement,
JDMCreator