Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#51 Le 15/05/2008, à 21:23

tshirtman

Re : Ultimate Smash Friends: un smash bros like en python

kaoron a écrit :

Salut! D'abord, bravo pour le boulot effectué sur ce projet.

Petit rapport de bug ensuite : si je génere trop d'evenements souris (faire quelques mouvements), je perds la fenêtre pygame. Impossible d'en prendre le controle, de la fermer ou d'envoyer un signal de terminaison au process python, obligé de kill ou fermer le terminal. J'ai essayé de caler un pygame.event.pump() à chaque tour de boucle pour vider la file d'evenements non gérés, mais rien n'y fait.

oui je ne comprends pas trop ce bug mais quasiement tout le monde m'en parle, ayant le jeu en plein écran, je ne l'ai pratiquement pas vus, mais j'arrive maintenant à le reproduire, il faut que je cherche je ne doit pas être le premier a avoir des problèmes de focus avec pygame...

Et aussi, le stickman fait un mouvement sur la droite lors d'un simple saut sur place.

Vouala, je m'abonne et bonne continuation! big_smile

un simple saut? pour le double saut c'est normal qu'il fasse un retour en arrière en retombant (c'était pour tester le fait qu'on puisse mettre des vecteurs comme on veux dans les animations, n'ayant pas trop d'idée de trajectoirs plus interressantes j'ai laissé ça). Si c'est bien pour un petit saut c'est un bug...

merci de ton interêt smile

Dernière modification par tshirtman (Le 15/05/2008, à 21:25)

Hors ligne

#52 Le 16/05/2008, à 07:03

kaoron

Re : Ultimate Smash Friends: un smash bros like en python

Peut-être une rustine : Ce qui fait locker le programme, c'est une suite d'evenements non retirés de la file, qui finissent par la saturer.
Je m'étais trompé sur le rôle de la méthode pump(), et c'est clear() qu'il faut appeler pour vider la liste. Un appel à pygame.event.clear() à la fin de Controls.poll() et tout semble redevenu normal.
D'autres solutions pourraient être :
- d'empêcher pygame de mettre les évenements non gérés dans la file avec pygame.event.set_blocked(type)
- de gérer tous les elements avec pygame.event.get() et de les trier à postériori.

Voilou! smile

PS : pour un remake de smash bros, je te conseillerai de faire un tour du coté de la jeune pySFML qui utilise l'accélération graphique, et qui semble avoir des fonctionnalités qui seraient particulièrement utiles ici, notamment l'utilisation de vues pour un zoom/dézoom efficace quand un perso passe hors champ.
http://www.sfml-dev.org/index-fr.php
Ce serait peut-être l'occasion d'en faire un paquet. big_smile

Dernière modification par kaoron (Le 16/05/2008, à 07:18)

#53 Le 16/05/2008, à 13:00

LittleWhite

Re : Ultimate Smash Friends: un smash bros like en python

tshirtman a écrit :

en fait quand il y as un a coup c'est que le jeu a dézoomé, on ne comprends pas bien car le centrage du zoom n'est pas parfait, on peut rendre le dézoom plus fluide (de plus petits a coup) mais ça diminue les performances (je ne peut pas me permettre de recalculer l'étirement/compréssion du niveau a chaques images, donc la première fois qu'on tombe sur un niveau de zoom je le calcul et le met en mémoire, si on augmente la fluidité du zoom on calcul bien plus souvent, et donc le ralentissement devient sensible, sur mon eeepc en tout cas.

Je n'est pas trop comprend toute la procédure mais j'ai compris que c'etait lourd ( en fait ça m'etonne pas )
Donc normalement ce qui suis est un suggestion ( à moins que ça soit déjà fais comme cela ).
Donc la procédure de dezoom ( la plus lourde à cause du recalcul des images ) doit se faire uniquement lorsque deux perso s'eloigne trop ( perso qui est le plus a gauche et perso qui est le plus a droite ) , met tu ne dois pas scroller si tu dezoome. Tu scrolle uniquement si tout les perso se deplace de l'ecran vers le meme point.

Si je me suis mal expliquer tu peux toujours me redemander une explication detaillée

Le bug que tu dis avoir laissée alors qu'il est facile , si on a plusieurs vie pourquoi apparait t'il des que je tu ( une fois ) J1, J2, J3. Enfin si c'est simple a corriger, je te fais confiance.

Bonne continuation sur le dezoomage / scrolling wink


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

#54 Le 16/05/2008, à 22:42

tshirtman

Re : Ultimate Smash Friends: un smash bros like en python

@kaoron: cool je vais tester le clear, j'avais pas encore eu le temps de chercher et ce bug est assez génant, ton explication et ta solution ont l'aire bonne, merci smile. Pour SFML c'est une lib uniquement c++ non? Si ça devient necessaire je considèrerais de recoder tout l'affichage en c ou c++ avec open gl, mais si je peut éviter c'est pas mal, parce que pygame me simplifie beaucoup la tache de ce coté là ^^.

edit: mea culpa j'avais pas lus bien loin -_- en effet c'est dispo pour python et ça a l'aire bien puissant... par contre ça veux dire que je doit quasiement refaire tout mon code qui utilise pygame, donc là pour l'instant c'est un peu hors de question ^^. Peut être pour une version 2 si les idées dépassent les capacitées de pygame, mais j'aimerais bien pousser celui ci dans ses retranchements d'abords...

@LittleWhite: le scrool ne coute pas cher, (enfin rien en fait, c'est comme un affichage normal) ce qui coute c'est de changer la taille de l'image complete du niveau, (j'ai essayé d'autres solutions par prédécoupage mais ce n'est pas mieux) pour le mode de calcul c'est pas rès diférrent de ce que tu dit.

zoom = plus grand écart vertical ou horizontale entre deux perso, avec un maximum (pour ne pas trop zoomer quand tout le monde est au milieu) et en diminuant un peu pour que les personnages ne soit pas collés au bords de l'écran, je ne sais pas si c'est clair ^^.

scroll = le centre de l'écran doit correspondre au barycentre des personnages, qui est en gros le point dont tous les joueurs sont le plus proche (programme de seconde il me semble, si tu est plus jeune)

mais le calcul du centre marche un peu moins bien depuis que j'ai ajouté le zoom, il faut que je bosse dessus.

pour le bug "facile" j'ai regardé ce matin dans le train et il est en partis résolus wink mais il s'agit en fait de deux bugs, dont l'un est qu'on peut perdre plusieurs vis d'un coup en tombant (quand on se jette tous seul surtout apparament) et que je doit chercher.

Sinon: je ne pense pas avoir trop de temps pour y bosser ce week end, je vais à la pycon-fr (conférence python à paris) mais d'un autre coté j'y apprendrais surement des trucs qui me ferons avancer plus vite après smile.

Dernière modification par tshirtman (Le 16/05/2008, à 23:39)

Hors ligne

#55 Le 18/05/2008, à 09:59

vida18

Re : Ultimate Smash Friends: un smash bros like en python

Ça a l'air énorme, j'ai hâte de le tester ! As-tu des screenshots ?

Hors ligne

#56 Le 18/05/2008, à 13:43

tshirtman

Re : Ultimate Smash Friends: un smash bros like en python

en voila un smile il n'est pas de moi mais d'un autre user, j'en ferais d'autres plus tard. wink
smash.png

sachant qu'il est possible de dessiner des niveaux différent facilement (avec background, niveau et foreground séparés), et des personnages assez facilement (le plus gros du boulot c'est le dessin de toutes les positions). Donc niveau graphismes ça peut énormément évoluer suivant les contributions que l'on m'apporte. smile

Dernière modification par tshirtman (Le 18/05/2008, à 13:46)

Hors ligne

#57 Le 24/05/2008, à 12:12

vida18

Re : Ultimate Smash Friends: un smash bros like en python

Dans mes dépôts par défaut sur mon EEE j'ai pas python2.6 (mais 2.5). Je sais pas si c'est pour ça mais j'ai une erreur quand je lance le jeu.
ça remonte a character.py, ligne 33 in __init__:

a=ElementTree.ElementTree(...

AttributeError: class ElementTree has no attribute 'ElementTree'

Hors ligne

#58 Le 24/05/2008, à 17:00

tshirtman

Re : Ultimate Smash Friends: un smash bros like en python

essaye d'enlever "ElementTree." dans le fichier character.py

j'avais fait la modife après avoir testé sur debian, mais je me suis peut être trompé... xandrros étant dérivé de debian.

Dernière modification par tshirtman (Le 24/05/2008, à 17:06)

Hors ligne

#59 Le 09/06/2008, à 23:10

tshirtman

Re : Ultimate Smash Friends: un smash bros like en python

hop!
une nouvelle version toute chaude!
http://ultimate-smash-friends.googlecode.com/files/ultimate-smash-friends-2008-06-09.tar.gz

Il s'est écoulé un certains temps depuis la dernière version mais je n'ai pas exactement chaumé tongue
Au programme:
Un nouveau menu tout propre, chaque joueur peut choisir son personnage avec ses touches, on valide avec une touche, l'autre pour revenir en arrière, valider passe à l'écran de sélection des niveaux, touche valider pour lancer la partie.

S'ensuit une autre nouveauté, un écran de chargement, en effet lancer la partie prends a peine quelques secondes mais quand même ça fait moche un écrant noir wink.

En jeu le changement flagrant est le placement de la caméra qui est enfin correct!
J'ai réglé le zoom sur une granularité bien plus fine, ce qui fait que les mouvements peuvent apparaitre saccadés quand on s'approche de l'écran au début (le temps que la nouvelle taille soit crée et mise en cache) mais après ça vas très bien, c'est comme d'autres choses réglable dans config.py.

Autre nouvelle, on peut régler la taille de la fenetre et si elle est plein écran dans ce fichier, assez peut testé cependant... peut produire des bugs de vitesse/collisions/taille a vous de voir ^^ on est toujours dans de l'alpha tongue

On peut régler l'attraction gravitationnelle et la viscosité de l'air (qui as bien plus d'influence que la gravité je trouve).

Les séquences de touches sont maintenant soumises à conditions ce qui permet de produire des effet différent suivant l'action courante du personnage (coup vers le bas seulement pendant un sot par exemple). Il y as du boulot sur la définition d'une ergonomie je ne suis pas très fort pour ça, le fichier sequences.cfg est suffisement clair je pense, faites vos tests tongue.

Il faudrais aussi tester sous d'autres os que linux si possible, la dernière fois que j'ai testé sous windows ça ne marchait pas sad et je n'en ais pas sous la main (enfin je testerais vite fait au boulot sinon).

j'ai sans doutes oublié des choses ^^ vous me le direz surement smile

Hors ligne

#60 Le 10/06/2008, à 08:31

tominardi

Re : Ultimate Smash Friends: un smash bros like en python

moi ça m'a fait tout foiré. J'ai eu un menu vide et je pouvais rien faire, ni fermer, ni rien

Hors ligne

#61 Le 10/06/2008, à 09:03

tshirtman

Re : Ultimate Smash Friends: un smash bros like en python

arf hmm

Les touches de directions ne permettent pas de choisir un personnage? pour quitter le jeu depuis le menu c'est la touche "a" par défaut, (voir fichier .cfg).

Hors ligne

#62 Le 10/06/2008, à 09:05

tominardi

Re : Ultimate Smash Friends: un smash bros like en python

Bah j'ai 4 lignes graphiques, vides, rien dessus.

Je vais tenter avec la touche a.

Là j'ai pu passer par ctrl+alt+F2 pour killer le process à la main, et remettre ensuite ma résolution de bureau à la main, c'était pas cool tongue

Ya pas moyen de lancer l'appli en fenêtré ?

Hors ligne

#63 Le 10/06/2008, à 09:17

tshirtman

Re : Ultimate Smash Friends: un smash bros like en python

ah si normalement dans le fichier modules/config.py FULLSCREEN doit être à 0, j'ai merdé en uploadant? (moi je l'utilise à 1 mais il me semblait avoir désactivé avant l'upload -_-).

edit: oui pardon je l'avais pas fait, je vais mettre une autre archive en ligne incessement sous peu. Tu peut le corriger toi même si tu veux ne pas retélécharger. (c'est un tout petit fichier wink)

Dernière modification par tshirtman (Le 10/06/2008, à 09:20)

Hors ligne

#64 Le 10/06/2008, à 09:42

tominardi

Re : Ultimate Smash Friends: un smash bros like en python

character by_herb-blue created.
character by_herb-red created.
character stick created.
character 11 created.
wazo is not a valid character directory.
character blob created.
character stick-tiny created.
character 8 created.
character 6 created.
NOT biglevel-foreground.png
NOT baselevel.xcf
level baselevel-middle.png miniature created.
level biglevel-middle.png miniature created.
NOT biglevel.map
NOT biglevel-background.png
NOT baselevel-foreground.png
NOT baselevel-background.png
NOT baselevel.map

Voilà mon retour.
Toujours le même problème de menu vide.

Hors ligne

#65 Le 10/06/2008, à 09:49

tshirtman

Re : Ultimate Smash Friends: un smash bros like en python

Le menus est vide de base, c'est normal, quand on utilise les touches de directions (droite et gauche) d'un joueur un personnage apparait dans sa ligne et il peut le changer avec ces même touches, ensuite il faut qu'un joueur valide (le joueur 1 peut valider avec 'L' et le joueur 2 avec 'c'.

il faudras que je remette tout ça dans le fichier readme...

(les touches du joueur 2 sont toujours zqsd - cv de base, celle du joueur1 sont les touches de direction plus l et m)

Dernière modification par tshirtman (Le 10/06/2008, à 09:50)

Hors ligne

#66 Le 10/06/2008, à 10:23

tominardi

Re : Ultimate Smash Friends: un smash bros like en python

ha ok, bah ça fonctionne, ça a bien avancé ^^
moi le bouton a marche pas pour quitter en revanche :s

Mais sinon ouais, ya eu pas mal de boulot.
Tu t'en sors bien ?

Hors ligne

#67 Le 10/06/2008, à 11:03

tshirtman

Re : Ultimate Smash Friends: un smash bros like en python

Ah ouf enfin un retour positif! (j'ai eu d'autres gens qui on eu le même problème ailleur).

Je crois que je m'en sort pas mal coté code, c'est coté documentation (pas a jours) et contenus (personnages pas aussi "polis" les uns que les autres par exemple) que ça crains plus, je vais essayer de remettre a jours les différentes docs (utilisation et création de contenus) pour avoir plus de chances d'attribuer des contributions.

Je crois que mes choix de design s'il ne sont pas parfais ne sont pas trop bloquant pour le développement de nouvelles fonctionnalités, et le code a plus tendance à gagner en clarté qu'a devenir bordélique donc je pense que ça vas (même si il me reste des points noirs bien sur).

Enfin bon dans l'ensemble je suis plutot positif, même si il y as des choses dont je n'ai pas une envie folle de m'occuper (doc et création de perso), enfin pas autant que le code quoi, et qui ruinent un peu l'image de l'ensemble quoi.

edit: je note pour le bouton a...

Dernière modification par tshirtman (Le 10/06/2008, à 11:04)

Hors ligne

#68 Le 10/06/2008, à 11:06

tominardi

Re : Ultimate Smash Friends: un smash bros like en python

bah après ouais, l'idéal c'est de créer une plate-forme bien documenté et facile pour l'ajout de persos. Histoire d'attirer dans ton projet des infographistes qui n'auront pas à écrire une ligne de code.
Donc ouais vaut mieux se concentrer sur le code:p

Hors ligne

#69 Le 10/06/2008, à 11:41

tshirtman

Re : Ultimate Smash Friends: un smash bros like en python

bah là les infographistes n'ont pas de code à écrire, bon ok le xml c'est un peu du code, mais je ne vois pas plus simple pour qu'ils puissent changer le comportement du personnage, dit moi ce que tu en pense mais je trouve que le fichier media/characters/stick-tiny/stick-tiny.xml est assez simple à comprendre/modifier non?

enfin toute idée/critique constructive est bienvenue bien sur smile

Hors ligne

#70 Le 10/06/2008, à 12:43

tominardi

Re : Ultimate Smash Friends: un smash bros like en python

ouais voilà c'est clair là c'est nikel.

Un peu de XML ça va encore, surtout si ya un peu de doc à côté.

Hors ligne

#71 Le 10/06/2008, à 13:24

tshirtman

Re : Ultimate Smash Friends: un smash bros like en python

bon ça me rassure, sachant qu'on peut modifier tout le comportement d'un personnage juste avec ce fichier (sauf la pallette de mouvement autorisés, qui est globale et définis par sequences.cfg). Je pense que c'est correcte pour un designer de bosser là dedans, Je rajouterais des commentairs pour faire un fichier xml d'exemple dès que possible...

Hors ligne

#72 Le 10/06/2008, à 16:10

yohann

Re : Ultimate Smash Friends: un smash bros like en python

tshirtman a écrit :

essaye d'enlever "ElementTree." dans le fichier character.py

j'avais fait la modife après avoir testé sur debian, mais je me suis peut être trompé... xandrros étant dérivé de debian.

plop
j'ai telecharge la version alpha (stable) sur svn, et j'ai l'impression qu'elle est un peu moin évolué que celle dont vous parler sur le forum, (pas de definition des touches toussa)
sinon pour ElementTree j'ai du l'enlever egalement car j'ai python 2.4

et (j'ai commencé python hier) je pense que cette ligne n'a pas de raison d'etre
a ce que j'ai compris de la doc python:

from elementtree.ElementTree import ElementTree
a=ElementTree(...)

ou

from elementtree import ElementTree
a=ElementTree.ElemenTtree(...)

ou

import elementtree
a=elementtree.ElementTree.ElementTree(...)

enfin c'est ce que j'ai cru comprendre a a lecture du tuto de python.org
il y a peu etre une tolerance plus grande dans les nouvelle version de python...

sinon sur gentoo il faut penser a emerge dev-python/elementtree

voila, sinon tres prometteur le jeu, meme si un peu injouable pour le moment.

PS:je pense qu'avant d'avoir des possibilite de jouer en reseau c'est pas vraiment necessaire de porter sur windows, ca remonte a quelques anné mais de memoire windows a bcp de mal avec ce genre de jeux car il ne peut pas gerer plus de 3 (ctrl -alt suppr ??) touches appuyée simultanement, alors 4 personne sur un clavier avec 4 touche
chacun...

en tout cas courage et bonne chance pour la suite


j.vachez, le génie du net | Soirées jeux sur Lyon | 441
++++++++++[>+++++++>++++++++++>+++<<<-]>++.>+.+++++++
..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.

Hors ligne

#73 Le 10/06/2008, à 19:46

tshirtman

Re : Ultimate Smash Friends: un smash bros like en python

En effet la version "alpha" du svn est en retards, comme les tarball font un peu la même office j'ai négligé cette branche, je comptais la mettre à jours hier mais j'ai un problème avec le client svn apparement, je rééssaye bientot, comme ça tu devrais avoir juste un svn update à faire. edit :c'est bon

Pour la librairie le problème est que suivant la version de python elle n'est pas rangé pareil du coup je doit l'importer du bon module dans les deux cas, mais bon ce n'est peut être pas très propre j'ai un peu fait à coup de tests sur ce coup là... la ligne qui marche pour toi c'est quoi?

edit: pour le clavier il me semble que c'est simplement électrique (les lignes sont optimisé pour ne pas avoir besoin de 2 fils par touches), et en effet ça peut être génants pour ce genre de jeux, d'ou l'importance je pense, de gérer les joypads et autres périphériques d'entrés, ainsi que le réseau, dès que possible.

Dernière modification par tshirtman (Le 10/06/2008, à 20:04)

Hors ligne

#74 Le 11/06/2008, à 06:58

yohann

Re : Ultimate Smash Friends: un smash bros like en python

from elementtree.ElementTree import ElementTree
[...]
a=ElementTree(None,basepath+os.sep+name+os.sep+name+os.extsep+'xml')

cette combinaison fonctionne chez moi, mais je pense que d'autre doivent aussi fonctionner
PS: merci pour la maj du svn, c'est ad meme plus pratique que de re dl un archive a chaque fois big_smile


edit apres maj:

salut, voila les erreurs que j'obtient avec la derniere alpha sur svn:

j'ai un peu fouillé
-pour wazo je crois qu'il manque le fichier xml
-pour herb-blue, je comprend pas trop
enfin je crois que le pb vient des derniere ligne, je vois pas trop d'ou sort ce rep data, ni pkoi on ne peut loader border-grey.



wazo is not a valid character directory.
Cannot load image: media/characters/by_herb-blue/herb-portrait.png
by_herb-blue is not a valid character directory.
Cannot load image: media/characters/blob/blob-portrait.png
blob is not a valid character directory.
Cannot load image: media/characters/stick-tiny/stick-portrait.png
stick-tiny is not a valid character directory.
.svn is not a valid character directory.
Cannot load image: media/characters/by_herb-red/herb-portrait.png
by_herb-red is not a valid character directory.
Cannot load image: media/characters/stick/stick-portrait.png
stick is not a valid character directory.
Cannot load image: media/misc/border-grey.png
Couldn't open data/media/misc/border-grey.png

pour la version trunk, je suppose que tu n'attend pas de retour dessus mais on ne sait jamais:
le jeu se lance en fullscreen (800x600je pense) des boite de menu vide apparaissent, et c'est le bloquage complet
impossible de faire quoi que se soit avec X, obliger de revenir en TTY pour kill ultimate-bash-friend

oups, je met le lapsus en gras au cas ou ca te donne des idée:P

courage et merci

Dernière modification par yohann (Le 11/06/2008, à 07:35)


j.vachez, le génie du net | Soirées jeux sur Lyon | 441
++++++++++[>+++++++>++++++++++>+++<<<-]>++.>+.+++++++
..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.

Hors ligne

#75 Le 11/06/2008, à 11:05

tshirtman

Re : Ultimate Smash Friends: un smash bros like en python

Pour l'import ok, je vais essayer de rendre cohérent avec l'autre méthode, c'est sans doutes mieux comme ça oui.

Pour wazo c'est normal, j'ai commencé ce perso mais il n'y as qu'une seul frame donc normal qu'il n'ais pas de fichier xml non plus.

Pour les autres je ne sais pas trop (sauf border-grey j'ai une idée, et c'est la seule érreur vraiement génante.).

Pour le trunk le bug est connus, il faut "juste" que je comprenne pourquoi il est présent chez certains et pas d'autres, si tu désactive le fullscreen comme j'ai expliqué plus haut ça marche mieux ou pas?

Hors ligne