#1 Le 01/04/2008, à 21:04
- tshirtman
Ultimate Smash Friends: un smash bros like en python
Alors voila, c'est pour présenter un jeune projet à moi (tout tout jeune)
Edit: Le projet a pas mal avancé, nous avons migré sur launchpad, et un site est ouvert.
Re-Edit: Le projet a migré sur github, et un autre site est en cours de construction sur github.
Ultimate Smash Friends
pour ceux qui ne connaissent pas Super Smash Bros (N64) ou Super Smash Bros Mélée (game cube - wii), le concepte est simple, baston en 2d (pour le gameplay, pas les graphismes) dans des arènes sympatiques avec pleins de héros qui ont la classe, la victoire s'obtient par "out" c'est à dire qu'il ne faut pas tomber du niveau, plus on prends des coup plus on éjécté violement l'hors d'un smash (un coup un peu plus lent mais qui projete l'adversaire assez loin).
ça saute dans tout les sens et ça regorge de coup bas et de surprises (des bonus qui tombent au pif bien sur). Bref personnelemtn ce jeu m'amuse assez pour avoir envie de dévelloper un jeu du même genre (voir carrément un clone) bien sur je n'ais pas les license pour mettre les héros de nintendo dedans (c'est vrais que démonter pikachu avec mario ou link ça à la classe) mais je pense qu'avec quelques motivés ont doit pouvoir faire quelques personnage au gameplay équilibré et qui ont la classe...
donc je donne le liens vers le dépot google code (je rappele que c'est très jeune, on ne peut que récupérer les sources par svn, et y'as pas grand chose à faire ingame, sans compter que y'as des bugs de collisions et ce genre de choses aussile code vas sans doutes changer pas mal tous les jours, a commencer par ce soir.) mais comme on dit "release early, release often"
dépot:
https://launchpad.net/ultimate-smash-friends/
screenshots:
donc si certains sont motivé par le code pas de problèmes, mais en fait c'est sans doutes du coté des graphismes qu'il vas y avoir le plus de valeur à ajouter. Donc si vous révez de créer un chevalier en armure, un robot ou un poulpe rose, qui s'agite dans tout les sens et tape sur les autres c'est le moment, Avoir 5-6 persos serais le minimum vitale et je pense que si on est débordé on en mettras pas plus d'une vingtaine de base (mais avant d'avoir une vingtaine de persos de qualité dans toutes les postures nécéssaires je crois qu'on a un peu de temps ^^.
Bon je crois que j'ai dis l'essentiel
edit: ah non info essentielle, il faut python-pygame pour lancer le jeu, rien a compiler.
au passage c'est actuellement dévellopé sur un eeepc, et donc adapté a l'écran pour les graphismes, je n'ai pas encore pus tester ailleur, dites moi ce que ça donne. Dernier point, on a parlé là de la possibilité de le faire tourner sur la pandora qui aurais un format proche de l'eeepc pour l'écran, quand ça sortira.
update: 3ans après, le projet avance toujours on a une IA, le code a été pas mal refondu, plusieurs persos ont été réalisés par un bon graphiste, on a pas mal de niveaux assez cohérents, testeurs et autres sont toujours bienvenues!
Dernière modification par tshirtman (Le 18/05/2012, à 10:30)
Hors ligne
#2 Le 01/04/2008, à 23:04
- tominardi
Re : Ultimate Smash Friends: un smash bros like en python
jme lance dans l'analyse de ces fichiers demain.
à propos d'analyse, tu as quel type d'analyse pour ce genre de chose ? UML quelque chose ?
Hors ligne
#3 Le 01/04/2008, à 23:28
- tshirtman
Re : Ultimate Smash Friends: un smash bros like en python
Hum je ne suis pas calé en UML je n'y ais pas fait trop d'effort à l'iut ni depuis.
je code sur le tas en réfléchissant avant a mes besoins, j'essaye de faire des modules assez simples a faire fonctionner. mais le code n'est pas completement désimbriqué (j'ouvre parfois directement les attributs des sous objets de mon objet, sans faire d'accesseur quand c'est juste pour lire, pour les modifications j'essaye de ne le faire que depuis l'objet lui meme).
Ce n'est pas du code "state of the art" mais la complexité de l'application ne devrais pas être trop grande, la façon dont je le vois c'est qu'il faut donner une bonne structure a l'ensemble sans se prendre la tête avec du code nickel au début, vu que je vais en jeter pleins de toutes façons en améliorant l'aspect objet polus tard, quand le l'enssemble seras bien cohérent je referais un profiling pour optimiser en premier ce qui coute cher en performance (oui j'en ais déja fais un mais parce que j'avais un vrais problème de performances, et trouver l'erreur a décuplé les perfs).
Voila voila. si tu veux m'aider sur le plan design de l'application ce n'est pas de refus, mais il vas falloir que je clarifie tout ça pour que tu comprenne sans trop de mal comment ça fonctionne actuellement.
Hors ligne
#4 Le 03/04/2008, à 10:52
- tominardi
Re : Ultimate Smash Friends: un smash bros like en python
J'ai regardé un peu pour modifier les graphismes : pas facile, j'ai créé un personnage, yavait toujours le mec en fil de fer derrière.
Mais ce premier perso jle trouve cool !
Hors ligne
#5 Le 03/04/2008, à 11:58
- tshirtman
Re : Ultimate Smash Friends: un smash bros like en python
tu es bien passé par le fichier xml pour creer ton perso? il faut aussi passer le nom du perso lors de sa création, dans le code, dans game.py (quand il n'est pas donné ça prends "stick" par défaut).
bon c'est vrais que je n'ai pas essayé encore d'en faire d'autre, mais je ne vois pas bien pourquoi ça ne marcherais pas ^^, j'essaye de faire un commit bientot, j'ai encore des problème avec le passage des vecteurs de mouvements dans le fichier xml (permet a chaques persos d'avoir des trajectoirs persos pour ses saut et ses actions).
j'ai pas mal retouché au systeme de collision et c'est mieux, on tombe maintenant "pile" sur les briques, ce qui simplifieras grandement les collisions latérales.
si tu n'y arrive pas pour le perso envois moi les fichiers par mail, gabriel [point] pettier [à] gmail [point] com j'essayerais de voir ce qui cloche (avec mon code ou avec les fichiers).
le perso à été fait par mon petit frère, il est simple et j'èspère avoir des propostions ou le temps d'en faire des plus "léchés" avec des jolis pixels tout fins pleins de couleurs pastels et tout pour retrouver l'esprit nintendo. Je me pose la question de la taille des persos par contre, plus petits serait peut être mieux non? ça augmenterais la taille de l'arène, par rapport, ensuite il faudras que je fasse des arènes plus larges que l'écran et un scrolling suivant l'emplacement des personnages, gros boulot à faire (beaucoup) plus tard... ^^'
Hors ligne
#6 Le 03/04/2008, à 20:10
- tominardi
Re : Ultimate Smash Friends: un smash bros like en python
Non j'ai simplement tenté de modifier direct les png.
+1^9 pour le scrolling
Hors ligne
#7 Le 03/04/2008, à 20:28
- tshirtman
Re : Ultimate Smash Friends: un smash bros like en python
heuu 1×1×1×1×1×1×1×1×1 chez moi ça fait 1 mais tu me diras c'est déja pas mal
pour faire un nouveau perso (en plus de l'actuel) il faut faire une copie du dossier "stick" et la renomer, ensuite placer toutes les images qu'on veut dedans et modifier le fichier (et renomer aussi avec le même nom que le dossier) le fichier xml, pour indiquer pour chaques mouvement quelle image correspond à quel temps et quel déplacement. ce n'est pas très compliqué, (mais bon pas non plus super simple je le reconnais) et ça devrais apporter suffisement de souplesse pour faire pleins de persos animés de façon sympatoche.
bon je mange et je retourne au code
Hors ligne
#8 Le 07/04/2008, à 06:03
- beny
Re : Ultimate Smash Friends: un smash bros like en python
salut sa me paret interressant comme projet
je debut dans la programation mais je serrais surment capable de fair des belle animation jai fait quelque chose de similaire pour supertux (en fait jai refait tous les anime du perso pour que se soit mario)
mais dit moi est ce que sa avancé un peut car la jai juste un stik qui bouje pas vraiment et qui ne peut que se jetter dans le vide infinie
a oui si le projet abouti va pas falloire oublié de fair un fork pour un street figther like
Hors ligne
#9 Le 07/04/2008, à 07:33
- tshirtman
Re : Ultimate Smash Friends: un smash bros like en python
alors oui ça avance, j'y ais pas mal bossé hier et je devrais encore avancer un peu ce matin dans le train, un peut en revenant et encore la soiré. bref des que j'ai du temps
hier j'ai découpé en deux ls svn pour avoir une version "stable" et une "en dev" la stable est celle de quand j'ai commencé cette discussion, l'autre (dans trunk) est plus avancé. Mais bon c'est surtout dans le code que ça se vois, c'est toujours juste un stick qui se déplace (mais il bouge plus et peut faire des sauts/doubles sauts).
Hors ligne
#10 Le 07/04/2008, à 21:27
- tshirtman
Re : Ultimate Smash Friends: un smash bros like en python
j'ai du partir un peut précipitement ce matin et on post était donc un peu baclé ^^
je voulais juste àjouter que je suis en train de déplacer les infos sur la taille "physique" du personnage dans le fichier xml, ainsi on pourras vraiement faires des persos de morphologie différentes, et surtout varier leur "forme" physique en fonction de leur action. le contrepoint c'est que ce seras un peu plus de boulot de créer un perso (noter a l'aide de gimp les coordonnées haut-gauche et bas-droite du rectangle "dur" du personnage de base, ainsi que ces meme coordonées dans les frames ou ça change.
Je ferais un tuto sur la création de perso quand ce seras un peu plus avancé mais je pense que le fichier ne changeras plus trop, sauf pour ajouter de l'info, il faut que je m'occupe des "points agressifs" qui s'ajouterons dedans, ce sont les points d'une frame dont la collision avec un autre joueur déclenche un "coup" encore un peu de boulot pour les créateur de persos mais ça encore, c'est indispensable.
En fait mon boulot pour l'instant c'est surtout de faire que le programme sache lire toutes les infos dans ce fichier, puis lance le jeu en définissant les regles basés dessus.
ça vas le faire
Hors ligne
#11 Le 08/04/2008, à 23:00
- TatrefThekiller
Re : Ultimate Smash Friends: un smash bros like en python
Salut,
C'est normal (je pense que non ) que j'obtienne des erreurs :
Cannot load image: media/levels/baselevel-middle.png
Couldn't open data/media/levels/baselevel-middle.png
J'ai créé à la main les fichiers .png pour la map... mais là il lui manque baselevel.map...
Apparement il manque aussi les characters.
Hors ligne
#12 Le 08/04/2008, à 23:27
- tshirtman
Re : Ultimate Smash Friends: un smash bros like en python
le fichier .map contient la géométrie du niveau: une simple suite de rectangles (un par lignes dans le fichier). un réctangle est décrit par les coordonnées de l'angle en haut à gauche et sa taille
Concretement le fichier du niveau de base contient ça:
130 128 100 32
206 150 68 38
402 198 208 30
108 400 580 50
ce qui veux dire qu'il y as 4 blocs durs dans le niveau, dont le premier a son angle à (130,128) (par rapport au coin haut gauche de l'écran) et fait 100 de large par 32 de haut. (gimp est assez pratique pour faire ça).
Dans le code je ne me suis pas occupé trop de la gestions des différents niveaux, il faut changer le nom du niveau appelé soit dans game.py (ajouter "nom_du_niveau" (avec les guillemets) entre les parenthèses de "level()", soit dans level.py (après levelname=) ou c'est la valeur par défaut (qui ne s'applique ce si on ne donne pas de nom, come actuellement, dans game.py).
vérifie aussi que tu as bien un lien symbolique de "data" vers ., je ne sais pas trop pourquoi mais j'ai eu besoin d'en faire un, apparement python s'attends a trouver certains fichier dans le dossier "data", il faudras que je me penche là dessus.
merci de ton interet
Dernière modification par tshirtman (Le 08/04/2008, à 23:40)
Hors ligne
#13 Le 08/04/2008, à 23:36
- aeacides
Re : Ultimate Smash Friends: un smash bros like en python
Salut,
C'est animation 2d ou 3d pour votre jeu?
J'étudie en 3d en ce moment, mais j'ai des bonne base en 2d. Graphisme / Animation confondue. Je prog également en Python, alors ce serait une belle occasion d'approfondir programmation pour le jeu
http://www.q-be.ca
Hors ligne
#14 Le 09/04/2008, à 00:16
- tshirtman
Re : Ultimate Smash Friends: un smash bros like en python
cool!:D les graphismes affichés sont en 2D, cela dit rien ne t'empèche de créer des animations 2d à partir de rendus 3d, au début j'avais une vision très "dessiné" du truc, mais en fait je me rends compte qu'on peut aussi s'amuser a faire des animations en 3d, photos, pate à modeller, tout ce qu'on veux, tant que c'est bien détouré et que les mouvement sont cohérents, que la taille reste la même entre autre.
Si tu te sent de faire de belles animations 2d aussi c'est pas de refus, Car c'est quand même ce qui me plairait le plus je pense (pour te donner une idée je suis bien plus fan des graphismes de frozzen bubble 1 que du 2). Pour le code si tu veux regarder prends tout le svn (beta et trunk), le trunk marche encore pas mal normalement (j'ai pas encore commité ce qui casse tout ^^) et le code dedans est mieux organisé, (y'as encore du boulot en pagaille bien sur) ne te sent pas obligé de plonger dans le code tout de suite, car c'est un peut le foutoir, mais si tu es motivé rien ne t'en empèche.
Bref toute contribution est bienvenue , que ce soit en idées ou en action coté code je restructure et j'essaye de rendre plus lisible (bien pour moi pour débugger aussi ^^)
Dernière modification par tshirtman (Le 09/04/2008, à 00:17)
Hors ligne
#15 Le 09/04/2008, à 01:01
- aeacides
Re : Ultimate Smash Friends: un smash bros like en python
cool!:D les graphismes affichés sont en 2D, cela dit rien ne t'empèche de créer des animations 2d à partir de rendus 3d, au début j'avais une vision très "dessiné" du truc, mais en fait je me rends compte qu'on peut aussi s'amuser a faire des animations en 3d, photos, pate à modeller, tout ce qu'on veux, tant que c'est bien détouré et que les mouvement sont cohérents, que la taille reste la même entre autre.
Si tu te sent de faire de belles animations 2d aussi c'est pas de refus, Car c'est quand même ce qui me plairait le plus je pense (pour te donner une idée je suis bien plus fan des graphismes de frozzen bubble 1 que du 2). Pour le code si tu veux regarder prends tout le svn (beta et trunk), le trunk marche encore pas mal normalement (j'ai pas encore commité ce qui casse tout ^^) et le code dedans est mieux organisé, (y'as encore du boulot en pagaille bien sur) ne te sent pas obligé de plonger dans le code tout de suite, car c'est un peut le foutoir, mais si tu es motivé rien ne t'en empèche.
Bref toute contribution est bienvenue , que ce soit en idées ou en action coté code je restructure et j'essaye de rendre plus lisible (bien pour moi pour débugger aussi ^^)
Je t'ai envoyé un pm :- )
http://www.q-be.ca
Hors ligne
#16 Le 09/04/2008, à 01:17
- tshirtman
Re : Ultimate Smash Friends: un smash bros like en python
je t'ai répondus
du coup je vais mettre un screenshot dans le premier post je pense. ça feras plus vendeur (ou pas ^^')
Hors ligne
#17 Le 10/04/2008, à 14:04
- tominardi
Re : Ultimate Smash Friends: un smash bros like en python
moi je t'ai pas oublié mais j'ai quelques soucis en ce moment qui m'empechent de me mettre à fond dans un projet.
Hors ligne
#18 Le 10/04/2008, à 16:26
- tshirtman
Re : Ultimate Smash Friends: un smash bros like en python
pas de problèmes de toute façons je vais avoir quelques jours plus calmes là ça attendras un peu la semaine prochaine, aeacides s'implique bien, il aide pour la doc que j'ai commencé déja mais lui aussi vas avoir d'autres choses à faire (exams) donc on est pas au pieces, on prends le temps.
Hors ligne
#19 Le 11/04/2008, à 19:47
- tshirtman
Re : Ultimate Smash Friends: un smash bros like en python
Nouvelle version de la alpha! copie du trunk d'il y as une heure.
svn co http://ultimate-smash-friends.googlecode.com/svn/trunk/alpha ultimate-smash-friends
en gros:
*possibilité de mouvements de persos grandement améliorées
*ajout d'un "avant plan" au niveau, gérant la transparence, pour de meilleurs possibilitées de design de niveau.
*bien meilleur gestion des collisions
*améliorations du support des animations des personnages
*plus de message d'erreur quand on quitte avec echap (pour ceux qui lancent dans terminal)
Hors ligne
#20 Le 11/04/2008, à 19:50
- aeacides
Re : Ultimate Smash Friends: un smash bros like en python
kewl! Je vais aller tester ça
btw, j'ai commencé un design de perso
http://www.q-be.ca
Hors ligne
#21 Le 11/04/2008, à 20:38
- tshirtman
Re : Ultimate Smash Friends: un smash bros like en python
j'attends de voir ça avec impatience
par contre pense à un truc, pour l'instant mon perso est toujours dirigé du meme coté, il vas falloire que je distinque les deux direction (ce perso peut être simplement inversé mais pour les autres ça risque de ne pas être le cas).
donc pense qu'il faudras faire les version tourné vers la droite et vers la gauche de chaque position. (plus une animation de transition entre statqiue droite et gauche et inversement).
ça fait un peu plus de boulot, mais je préfert avoir peut de persos, mais soignés que le contraire.
Hors ligne
#22 Le 11/04/2008, à 21:06
- LittleWhite
Re : Ultimate Smash Friends: un smash bros like en python
Je crois, que les infographistes me reprennent, que les versions "tournés" ne posent pas problème. C'est simplement une un mirroir ( flip en anglais ) honrizontale
Au sinon je suis très interesser par le projet mais je n'ai pas le temps d'y participer.
Tu dois etre bon codeur pour avoir deja fais tout ça , respect.
Bonne continuation, voeux de reussite
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
#23 Le 11/04/2008, à 21:28
- tshirtman
Re : Ultimate Smash Friends: un smash bros like en python
Merci de ton intéret, mais on ne peut pas toujours faire un flip, par éxemple si le perso n'est pas symétrique (un objet dans une main par exemple).
sinon je tente de m'améliorer mais je ne suis pas un "super codeur", c'est surtout le framework utilisé qui est super facile (pygame). mais merci du compliment.
Hors ligne
#24 Le 14/04/2008, à 10:13
- Ras'
Re : Ultimate Smash Friends: un smash bros like en python
Super projet, et grande motivation apparement ^^
Je touche pas du tout au graphisme et à la prog donc je serais pas très utile mais je compte bien suivre l'évolution du projet
Va t'faire shampouiner par le compteur_V2 en timezone[Canada/Eastern] !
Les types awesome n'ont rien à prouver. À personne.
'k bye là
Hors ligne
#25 Le 18/04/2008, à 19:57
- tshirtman
Re : Ultimate Smash Friends: un smash bros like en python
Bon pas de nouvelles depuis quelques jours mais ça bosse quand même
je viens de commiter la gestion des points agressifs dont j'avais parlé plus tot!
On peut maintenant définir des points a n'importe quelle étape d'une animation qui sont associé à un vecteur, le fait pour un autre joueur d'être sur l'un de ces points a pour conséquence immédiate la projection dans la direction et la force définie par le vecteur associé , pour ceux qui n'ont pas tout suivit: on tappe et l'enemi vole
Bon il vas falloir que je m'attaque a un truc qui as vraiement trop trainé: la direction des personnages, en effet pour l'instant le perso regarde toujours à droite quel que soit son sens de déplacement, le fait de le faire changer de direction vas demander d'inverser tous les mouvement et leurs vecteurs associés donc ça vas être un peu de boulot de tout remanier mais ça devrais aller d'autant que c'est completement indispensable ^^.
Quand ce seras fait on pourras commencer à parler d'une beta
Ah et j'ai commencé à implémenter un menu aussi, on l'active avec echap, et pour quitter il faut faire "q" une fois dans le menu, en attendant de faire un beau bouton à sélectionner .
Dernière modification par tshirtman (Le 18/04/2008, à 19:59)
Hors ligne