Moteur de combat 2d
BETA
Version beta (http://delfare.pizz.biz/moteurfight.nds)
Présentation :
Bonjour,
voila, je cree un moteur de combat 2d.
Une fonction que j'ajouterai peut-etre a PAlib suivant la taille.
Historique :
Réalisé :
- affichage des perso
- points de vie des 2 persos
- choix du nom des persos
- jump
- choix de la gravite
- choix des attaques :
>> choix de la touche a appuyer
>> choix du gfx du perso
>> choix des degats de l'attaque
>> gestion de la vitesse d'execution de l'attaque
Autres informations :
A améliorer :
- intelligence artificielle de l'ennemis : assez avance.
- creation de combo : ok, mais sera peut-etre ameliore.
dreamers team
26/11/2005, 17h58
Salut Delfare.
Nous sommes Daygoshen et Strider du Team Dreamers: nous sommes italien (pardon pour notre français de très bas niveau!) et nous avons vu ton annonce pour le moteur 2D que tu est en train de completer: c'est très interessant pour nous, et si tu as besoin de graphistes, nous pourrons t' aider si tu es d' accord.
Est ce que tu as un projet a toi, une histoire ou un environment que tu aimerais realiser? On pourrait travailler ensamble pour creer quelque chose d' interessant.
On attend tes nouvelles, alors. A bientot!
Daygo&Strider
je reouvre ce projet :
je suis en train de recoder le moteur dans une nouvelle version(plus lisible, mieu faite et permettant d'utiliser le wifi(pas encore fait, ca) ).
ce qui fonctionne :
-affichage des persos
-affichage de la vie
-rotation horizontale quand on change de cote
-on peut maintenant passer de l'autre cote de l'ennemis en lui sautant au dessus
-la gravite est amelioree(formules de physique utilisees pour plus de realisme : MRUA)
-collisions ameliorees :D : systeme de bounding box à placer sur les differentes parties du perso (tete, corps et gun(partie qui attaque ex: epee ou poing) )
en developpement :
-les combos
-le wifi
-ajout d'une fonction qu'on peut appeler a chaque tours externe au moteur(pour integrer wifi, IA, ...)
-le son
-les background(enfin, il suffit de la charger avant, ca pose pas de probleme)
-l'editeur de bounding box(c'est long d'entrer manuellement les coordonnees du bounding box)
-les combos sur l'ecran tactile
une demo :
moteur_combat.nds (http://delfare.pizz.biz/moteur_combat.nds)
pour voir a quoi ca ressemble, voici le main qu'on utilise avec ce moteur pour faire l'equivalent de la demo :
int main(void) {
// PAlib init
PA_Init();
PA_InitVBL();
PA_InitText(1, 0);
PA_InitText(0, 0);
PA_SetTextCol(1,31,0,0);
perso perso1;
perso1.spritePAL = (void*)sprite0_Pal;
perso1.sprite = (void*)frames_Sprite;
perso1.size = OBJ_SIZE_32X64;
perso1.jump=0;
add_mouvement(&perso1,(bool*)&(Pad.Held.Right),1,1,0,0,0,-1);
add_mouvement(&perso1,(bool*)&(Pad.Held.Left),1,-1,0,0,0,-1);
add_mouvement(&perso1,(bool*)&(Pad.Newpress.Up),-1,0,-10,0,5,-1);
add_mouvement(&perso1,(bool*)&(Pad.Newpress.Down),2,0,10,0,0,-1);
add_mouvement(&perso1,(bool*)&(Pad.Newpress.A),4,0,0,10,0,20);
add_position(&perso1,0,body,0,0,32,64);
add_position(&perso1,0,head,0,0,32,64);
add_position(&perso1,0,gun,0,0,32,64);
add_position(&perso1,1,body,0,0,32,64);
add_position(&perso1,1,head,0,0,32,64);
add_position(&perso1,1,gun,0,0,32,64);
add_position(&perso1,2,body,0,0,32,64);
add_position(&perso1,2,head,0,0,32,64);
add_position(&perso1,2,gun,0,0,32,64);
add_position(&perso1,3,body,0,0,32,64);
add_position(&perso1,3,head,0,0,32,64);
add_position(&perso1,3,gun,0,0,32,64);
add_position(&perso1,4,body,0,0,32,64);
add_position(&perso1,4,head,0,0,32,64);
add_position(&perso1,4,gun,0,0,32,64);
combat(perso1,perso1);
return 0;
}
int add_mouvement(perso *perso1,bool *key,int id_sprite, int x, int y,int degat,int jump, int time)
: permet d'ajouter un deplacement ou une attaque
int add_position(perso *perso1,int id_sprite,int type, int x1, int y1, int x2, int y2) : permet d'ajouter un bounding box sur un sprite du perso(on peut mettre plusieurs bounding box
le mode wifi avance bien :D, je teste pour l'instant avec mon pc et ma ds(car j'ai pas encore pu teste avec une 2eme ds qui se connecte au serveur) mais les persos se placent aux bons endroits,les id de sprites se changent bien,les rotations se font,...
bon, premiere demo du wifi : http://delfare.pizz.biz/moteur_combat_wifi.zip
je n'ai pas pu tester cette version avec une autre personne mais ca fonctionne en mode debug en passant les infos depuis le serveur vers ma ds donc, j'espere que cela fonctionnera(si ca fonctionne pas, merci de me le signaler)
si quelqu'un veut faire une partie contre moi, ca m'arrangerais :D
fonctionnement :
lancer le serveur sur un ordinateur, vous recevez votre ip
lancer le fichier .nds sur les consoles puis entrez l'ip
jouer
comme promis, une release des sources de mon moteur de combat
(ici, les sources sont pour le wifi et c'est pas encore parfait mais les fichiers moteur_combat.c et moteur_combat.h fonctionne bien, main.c est un template)
http://delfare.pizz.biz/moteur_combat_source.zip
vous pouvez ajouter des mouvement avec la fonction
add_mouvement(perso *perso1,bool *key,int id_sprite, int x, int y,int degat,int jump, int time);
ou ajouter un bounding box avec la fonction
add_position(perso *perso1,int id_sprite,int type, int x1, int y1, int x2, int y2);
type peut etre head,body ou gun
vBulletin® v.3.7.2, Copyright ©2000-2008, Jelsoft Enterprises Ltd. Tous droits réservés - Version française vbulletin-fr.org