PDA

Voir la version complète : Moteur de combat 2d


delfare
12/11/2005, 17h23
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.

delfare
21/11/2005, 18h08
je vais creer un vrai jeu utilisant ce moteur et je cherche des graphistes, si vous etes interessez, contactez moi ici ou par pm

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

delfare
26/11/2005, 22h35
ca me parait tres interessant.
L'histoire n'est pas encore inventee mais le type de jeu est decide : un jeu d'aventure avec gestion d'amelioration du perso,...(melange de RPG et de combat 2d).
Je serais interessé de travailler avec vous(surtout que votre image attachee est tout a fait la qualite graphique que j'esperait).

merci,
delfare

greeeg
26/11/2005, 22h40
Delfare, c'est cool tout ca...
Depuis le debut du developpement amateur sur gba, de nombreuses personnes revent d'un mugen-like... Peut etre arriveras tu à rendre possible ceci sur NDS ? En tout cas tu as tous mes encouragements !!!

delfare
26/11/2005, 22h52
ici, je devrais releaser bientot les fonctions du moteur(je fais un jeu avec dans le but de le tester et de l'ameliorer(et aussi pour faire un jeu, biensur :-) ) ), j'ajouterai normalement le moteur a PAlib

delfare
13/05/2006, 15h07
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

Tembargo
13/05/2006, 15h22
Cool :D
J'ai testé la démo les sauts sont biens, c'est fluide et "réaliste" comme tu dit :).

Bonne continuation ;)

delfare
14/05/2006, 15h20
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,...

delfare
14/05/2006, 16h50
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

sensei
15/05/2006, 00h20
Ton projet avance bien, j'espère que tu arriveras à le conclure c'est très ambitieux et je suis très intéressé.

BOn courage !

delfare
25/05/2006, 12h07
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

Jul13oSSx
25/05/2006, 19h02
Moi je vais faire l'impasse sur les sources, trop compliqué pour moi :p
Mais je vais tester la démo.

Je te souhaite une bonne continuation pour la suite de ton projet :)