#176 Le 06/08/2009, à 15:56
- Кຼزດ
Re : Ultimate Smash Friends: un smash bros like en python
Bon, voilà, pygame 1.9.1 relaeasé, ça remarche (devait y avoir un truc qui brisait la compatibilité)
Par contre, toujours ce bug avec le saut + la limite de hauteur → on meurt si on saute
edit : mise à jour du svn, toujours le bug ; et je viens de remarquer qu'il pouvait y avoir un match nul
(c'est un bug pour moi dans la mesure où il y avait marqué que j'avais gagné, puis j'ai sauté, et là ça affiche match nul )
Dernière modification par mathieuI (Le 06/08/2009, à 15:59)
dou
Hors ligne
#177 Le 06/08/2009, à 16:06
- tshirtman
Re : Ultimate Smash Friends: un smash bros like en python
Par contre, toujours ce bug avec le saut + la limite de hauteur → on meurt si on saute
sur quel niveau?
(c'est un bug pour moi dans la mesure où il y avait marqué que j'avais gagné, puis j'ai sauté, et là ça affiche match nul hmm)
c'est volontaire, j'ai voulus laisser un temps permettant le match nul, histoire de dire que c'est pas celui qui tombe une seconde avant l'autre qui gagne... mais bon c'est peut être trop long... sinon je prépare des trucs mais c'est encore un peu cassé de mon coté, donc pas de commit tout de suite... on verras ce soir si j'arrive à me dépatouiller ^^.
edit: cool pour pygame, ils m'ont fait peur pour le coup ^^.
Dernière modification par tshirtman (Le 06/08/2009, à 16:09)
Hors ligne
#178 Le 06/08/2009, à 16:14
- geenux
Re : Ultimate Smash Friends: un smash bros like en python
Par contre, toujours ce bug avec le saut + la limite de hauteur → on meurt si on saute
sur quel niveau?
mansion par exemple, quand on est sur le toit de la maison.
Hors ligne
#179 Le 06/08/2009, à 16:28
- Кຼزດ
Re : Ultimate Smash Friends: un smash bros like en python
Par contre, toujours ce bug avec le saut + la limite de hauteur → on meurt si on saute
sur quel niveau?
Tous
Sinon sympa le menu de pause ingame
dou
Hors ligne
#180 Le 06/08/2009, à 16:39
- tshirtman
Re : Ultimate Smash Friends: un smash bros like en python
ok, j'y arrive en faisant un triple saut avec le fantome, si je suis sur la pointe de la maison, mais pas facilement... bizarre... vous devez sauter plus haut que moi...
edit: je viens de tester au boulot sous win... en effet je vois le probleme, c'est hyper giga pas réaliste, et même carrément injouable... bon il est clair que j'ai un probleme car les FPS influe sur la hauteur des sauts! Merci d'avoir insisté sur ce bug...
Dernière modification par tshirtman (Le 06/08/2009, à 16:45)
Hors ligne
#181 Le 06/08/2009, à 16:43
- Кຼزດ
Re : Ultimate Smash Friends: un smash bros like en python
ok, j'y arrive en faisant un triple saut avec le fantome, si je suis sur la pointe de la maison, mais pas facilement... bizarre... vous devez sauter plus haut que moi...
Moi j'appuie juste une fois
Enfin je pourrais faire un screencast, mais c'est suffisamment explicite.
(oui, il saute beaucoup trop haut ; je peux survivre si je saute à partir du bas de la maison, par contre, mais c'est limite)
edit: ok
Dernière modification par mathieuI (Le 06/08/2009, à 16:46)
dou
Hors ligne
#182 Le 06/08/2009, à 16:45
- tshirtman
Re : Ultimate Smash Friends: un smash bros like en python
voir edit.
Hors ligne
#183 Le 06/08/2009, à 20:42
- tshirtman
Re : Ultimate Smash Friends: un smash bros like en python
if self.entity_skin.animation.vector is not 0:
self.vector[1] += (
-self.entity_skin.animation.vector[1]
* config['JUMPHEIGHT']
* dt
)
self.vector[0] += (
self.entity_skin.animation.vector[0]
* config['JUMPHEIGHT']
* dt
)
# Gravity
if self.gravity :#and not self.onGround:
self.vector[1] += (config['GRAVITY']) * dt
les sauts et la gravité sont gérés là, la gravité semble pas dépendante des fps, mais les sauts oui... je comprends pas...
(dt=différence de temps avec la frame précédente)
le frottement de l'air
# Application of air friction.
self.vector[0] -= config['AIR_FRICTION'] * self.vector[0] * dt
self.vector[1] -= config['AIR_FRICTION'] * self.vector[1] * dt
... et le vecteur est appliqué juste après comme ça:
# apply the vector to entity.
self.move ((self.vector[0] * dt, self.vector[1] * dt), 'vector')
(ouais je néglige la poussé d'archimède, je sais c'est honteux...:rolleyes:)
Hors ligne
#184 Le 06/08/2009, à 21:48
- geenux
Re : Ultimate Smash Friends: un smash bros like en python
J'essayerai de regarder plus en détail ce qui peut ne pas aller, voire si je trouve d'où ça vient. Tu n'as pas ce problème toi ?
Hors ligne
#185 Le 06/08/2009, à 21:53
- Кຼزດ
Re : Ultimate Smash Friends: un smash bros like en python
J'essayerai de regarder plus en détail ce qui peut ne pas aller, voire si je trouve d'où ça vient. Tu n'as pas ce problème toi ?
Lui il fait ça sur son eeepc, donc niveau fps ça pousse pas trop
Dernière modification par mathieuI (Le 06/08/2009, à 21:54)
dou
Hors ligne
#186 Le 06/08/2009, à 22:04
- kaoron
Re : Ultimate Smash Friends: un smash bros like en python
Évites les "vector[1]" en pagaille et essayes de nommer correctement tes variables (vitesse, accélération), là c'est un peu incompréhensible.
Une chose que j'ai cru comprendre, c'est que tu récupères un vecteur de mouvement donné par la frame courante de ton animation (entity_skin.animation), et qu'ensuite tu multiplies ça par le temps écoulé pour cette frame (quatre fois !!), et par différents coeffs (gravité, friction).
Tu peux m'écrire la formule modélisée ?
A mon humble avis, la dépendance au framerate vient du fait que tu récupères un vecteur de mouvement lié à une frame particulière de ton animation... malheureux, c'est pas comme ça qu'on fait de la cinématique ! Tu dois calculer ta position/déplacement sur une trajectoire, au lieu de ça tu multiplies un vecteur de déplacement absolu par du temps écoulé sur une frame : si c'est effectivement ce qu'il faut comprendre de ton code, bien sur que c'est frame-dépendant, gros godillot va .
Edit : Il serait même possible de précalculer des trajectoires de saut (des positions verticales relatives à l'impact de saut à différents instants), et tout ce que tu aurais à faire, c'est calculer en fonction de la date du saut quelle est ta position sur la trajectoire. Pas sur que ça vaille le coût computationnellement parlant, mais c'est une idée.
Dernière modification par kaoron (Le 07/08/2009, à 09:40)
#187 Le 07/08/2009, à 11:06
- tshirtman
Re : Ultimate Smash Friends: un smash bros like en python
l'idée c'était de mettre des coefficiens d'accélérations aux frames... afin d'avoir un mouvement fluide, donc oui on ajoute le vecteur d'acceleration multiplié par le temps passé, au vecteur de déplacement, et ensuite on ajoute le vecteur de déplacement multuplié par le temps passé, a la position.
c'était fait de façon un peu intuitive avec mes cours de terms en balistique, ce lien: http://gafferongames.com/game-physics/integration-basics/ confirme que ça "semble" une bonne idée, mais qu'en fait ça a des problemes, mais je pensait pas à se point (là vous sautez facilement 3x plus haut que moi) et j'ai pas encore pris le temps de bien comprendre ce qu'il propose pour l'implémenter.
pour l'idée de précalculer les trajectoirs je sais que ce serait plus simple, je suis juste pas fan ^^ (mais je l'ai fait pour les plateformes, ou ça me parait bien plus naturel)
Hors ligne
#188 Le 07/08/2009, à 12:46
- kaoron
Re : Ultimate Smash Friends: un smash bros like en python
D'accord, je n'avais donc pas totalement compris ton code.
La gravité ne suffit pas à avoir un mouvement fluide ? Si mes souvenirs de physique sont bons, une fois en l'air, un objet n'est soumis qu'à son propre poids (négligeant les forces négligeables).
Pourquoi donnes tu une accélération supplémentaire ? Donner une vitesse d'impulsion initiale devrait suffire, faire un self.velocity = JUMPIMPULSION (*groundnormal éventuellement) et laisser la gravité se charger du reste.
Après, comme l'article le souligne, les erreurs de précision se cumulent. Au choix implémenter la méthode d'intégration décrite, ou calculer systématiquement en fonction des conditions initiales du saut, et pas de la frame précédente (plus simple, mais peut-être plus limitant)
Edit : Autre chose, je pense que tu devrais avoir une animation en fonction de la vitesse et de la situation de ton objet, plutôt qu'avoir des durées d'animation fixes et des vecteurs d'accélération associés.
Dernière modification par kaoron (Le 07/08/2009, à 12:53)
#189 Le 07/08/2009, à 13:35
- tshirtman
Re : Ultimate Smash Friends: un smash bros like en python
oui, donner une impulsion initiale instantanée au changement de frame et non répartie sur le temps de frame serait plus prudent et moins source d'erreur... c'était juste moins facile a coder dans ma methode actuelle, donc je n'y ait pas pensé. Je voulait garder un systeme assez souple car vu le genre de jeu, pouvoir avoir des déplacement complexes en l'air (ou pas d'ailleur) est nécessaire.
Mais en effet il faut que je tienne compte de l'article pour ne pas avoir ce genre de cumul d'erreur.
Edit : Autre chose, je pense que tu devrais avoir une animation en fonction de la vitesse et de la situation de ton objet, plutôt qu'avoir des durées d'animation fixes et des vecteurs d'accélération associés.
Je ne vois très bien ni comment faire, ni pourquoi, si je supprime mon probleme avec les framerate ça devrait mieux se goupiller non? Enfin pour le cas de la chute (on doit changer d'anim quand on touche le sol) j'ai utilisé un event (mais j'ai des doutes sur le fait qu'il marche maintenant avec ces histoires). Si tu peux m'en dire plus (j'espère ne pas abuser de ta patience ^^).
Hors ligne
#190 Le 07/08/2009, à 13:59
- kaoron
Re : Ultimate Smash Friends: un smash bros like en python
Post #163 je te disais "[les personnages] restent collés au plafond si ils rencontrent un obstacle...". Tu n'est pas sur de la durée d'une animation. Si un obstacle est rencontré, un coup porté, ou que tu souhaites faire des tremplins qui permettent de sauter plus haut, ton saut durera plus ou moins longtemps, aussi tu voudras peut-être intercaler une animation si un évènement se produit en cours de saut, etc.
A mon avis, mieux vaut rendre ta physique totalement indépendante des animations, et jouer les animations en fonction du statut et des évènements de l'entité physique.
Comment faire ? Ben les events/notifications, ça me paraît pas trop mal
Pour les déplacements complexes, ils sont souvent gérés plus simplement qu'il n'y paraît.
Dernière modification par kaoron (Le 07/08/2009, à 14:04)
#191 Le 07/08/2009, à 14:19
- tshirtman
Re : Ultimate Smash Friends: un smash bros like en python
ah oui pour les persos collés au plafond, là *normalement* (je découvre que non) le fait de heurter le plafond multipliait le vecteur du persos par -0.5 et je laissait faire la gravité, je pense que ça ne suffit pas à cause du faut que l'accélération soit continue (et là beaucoup trop fort) et non ponctuelle, il faut que je fasse le changement pour savoir si ça marche mieux.
mais oui gérer certains passages d'animations par event, ça doit être plus simple...
je pense que je vois merci
Hors ligne
#192 Le 08/08/2009, à 01:05
- LittleWhite
Re : Ultimate Smash Friends: un smash bros like en python
Y a une histoire, normalement, qui faut employé une formule mais que j'arrive plus à mettre la main dessus :s
Ça semble s'appeler ( en anglais ) Semi Simulated Kinematic
je m'excuse pour ne pas pouvoir donner plus d'info
Linux ou mourir
Pour avoir des problemes : demarrer Windows
Script de compression multi archive : http://forum.ubuntu-fr.org/viewtopic.php?id=225297
Hors ligne
#193 Le 28/12/2009, à 12:36
- xapantu
Re : Ultimate Smash Friends: un smash bros like en python
Salut tout le monde,
Le projet continue : il est maintenant sur launchpad :https://launchpad.net/ultimate-smash-friends
Plein de choses sont en développement et notamment un nouveau système de menus (merci beaucoup à Samuncle pour le design de ces menus) et la traduction en plusieurs langue du jeu (enfin pour l'instant c'est sourtout anglais-français).
Il y a aussi maintenant une mascotte :
Pour obtenir la dernière version de développement (non stable) :
bzr branch lp:ultimate-smash-friends
Ensuite, pour lancer le jeu il faut aller dans le répertoire code et taper :
./ultimate-smash-friends
Pour utiliser les nouveaux menus (pas finis ) il faut taper :
./ultimate-smash-friends --gui
Et bientôt un site internet...
Hors ligne
#194 Le 28/12/2009, à 13:57
- tshirtman
Re : Ultimate Smash Friends: un smash bros like en python
merci xapantu
de mon coté j'essaye de faire avancer le support réseau, mais ce n'est pas gagné gagné ^^, je pense que je vais essayer de bosser sur l'intégration des persos...
on va essayer de sortir une beta bientot ^^, avec si possible un paquet deb ^^.
Hors ligne
#195 Le 28/12/2009, à 15:12
- edge_one
Re : Ultimate Smash Friends: un smash bros like en python
j'peux essayer de faire des menus en espagnol...
#196 Le 28/12/2009, à 15:31
- tshirtman
Re : Ultimate Smash Friends: un smash bros like en python
faut que tu regarde le fichier code/usf_media/local/messages.po avec poedit, au vus du peu de texte actuel, ça devrait aller vite ^^.
Hors ligne
#197 Le 28/12/2009, à 19:00
- xapantu
Re : Ultimate Smash Friends: un smash bros like en python
ça avance !
Ultimate Smash Friends a mainteant un site internet : http://usf.tuxfamily.org/
Pour l'instant, il est presque vide mais il se remplira (j'espère )
Pour le téléchargement de la dernière version de développement c'est là : http://usf.tuxfamily.org/wiki/Download
N'hésitez pas à poster des commentaires sur le site et sur le jeu, et si vous avez des idées pour améliorer le design (pour l'instant je ne sais pas si c'est terrible ) du site, postez aussi !
Et si vous voulez ajouter du contenu au site, il n'y a pas de problème .
Dernière modification par xapantu (Le 28/12/2009, à 19:34)
Hors ligne
#198 Le 28/12/2009, à 20:06
- tshirtman
Re : Ultimate Smash Friends: un smash bros like en python
t'as du faire une erreure de conf quelque part, il construit des urls foireuses dans certains cas, (probablement l'url de racine du blog, le mieux est sans doute de la laisser vide ).
exemple d'url foireuse:
http://usf.tuxfamily.orghttp//usf.tuxfamily.org//index.php?title=Documentation&action=edit
Dernière modification par tshirtman (Le 28/12/2009, à 20:06)
Hors ligne
#199 Le 28/12/2009, à 20:30
- xapantu
Re : Ultimate Smash Friends: un smash bros like en python
Comment t'arrive à avoir ça ?
En cliquant sur edit, il me met une url correcte.
Hors ligne
#200 Le 28/12/2009, à 20:38
- Кຼزດ
Re : Ultimate Smash Friends: un smash bros like en python
Comment t'arrive à avoir ça ?
En cliquant sur edit, il me met une url correcte.
http://usf.tuxfamily.org/wiki/Documentation « edit this page »
dou
Hors ligne