Mai 2024 | Lun | Mar | Mer | Jeu | Ven | Sam | Dim |
---|
| | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | | | Calendrier |
|
| | Avancement Daemon | |
| | |
Auteur | Message |
---|
azertyuiopqsdf
Messages : 280 Date d'inscription : 06/03/2013 Age : 28 Localisation : France
| Sujet: Re: Avancement Daemon Mar 2 Juil - 15:43 | |
| Zut, c'est embêtant parce que c'est une partie assez importante pour le jeu. Je vais aller demander conseil sur des forums. | |
| | | Azrael Admin
Messages : 242 Date d'inscription : 03/03/2013
| Sujet: Re: Avancement Daemon Mar 2 Juil - 19:20 | |
| De mon coté, je refais entièrement la fonction combat, je réutilise certaines parties de ton code notamment la gestion des évènement, des animations et des ips. C'est bien pratique d'avoir ces outils sous la main ! | |
| | | azertyuiopqsdf
Messages : 280 Date d'inscription : 06/03/2013 Age : 28 Localisation : France
| Sujet: Re: Avancement Daemon Mer 3 Juil - 12:27 | |
| Bon, sur un forum, on m'a conseiller de lire ça : http://www.bytehazard.com/code/sdlres.html Le soucis, c'est que je comprend pas bien l'anglais, et en plus j'ai jamais utiliser openGl. Donc, si tu pouvais étudier ce document, tu trouverai peut être la solution pour revenir au donjon après un combat. Edit : Youpi !!!! Devine quoi ? J'ai peut etre trouver comment charger tout les daemons en mémoire, ENFIN ! Grace a une petite ligne de code trouvée sur internet par pur hasard : - Code:
-
sprintf(chargementImage, "images/Kakashi.D_0%d.png", i+2);
C'est tout con, mais je connaissais pas cette technique. Du coup, je vais pouvoir charger tout les daemon ! Je vais essayer, je te tiens au courant si ça marche. | |
| | | Azrael Admin
Messages : 242 Date d'inscription : 03/03/2013
| Sujet: Re: Avancement Daemon Jeu 4 Juil - 16:45 | |
| En effet, c'est très habile ! ça devrait marcher !
| |
| | | azertyuiopqsdf
Messages : 280 Date d'inscription : 06/03/2013 Age : 28 Localisation : France
| Sujet: Re: Avancement Daemon Jeu 4 Juil - 18:04 | |
| Bon, c'est officiel, ça marche ! J'ai du demander un peu d'aide, mais au final, c'est fonctionnel ! On peut enfin charger les 27 daemons dans le jeu ! Et voila la fonction, celle dont je rêve depuis longtemps - Code:
-
Daemons* loadDaemon(int nbDaemon) { Daemons* tabDaemon; FILE* F = NULL; char numDaemon[255] = ""; int i;
tabDaemon = malloc(nbDaemon*sizeof(Daemons)); if(tabDaemon==NULL) exit(158);
for(i=1;i<nbDaemon;i++) { snprintf(numDaemon, sizeof(Daemons), "package/daemons/daemon%d.txt", i); F = fopen(numDaemon,"r"); if(F==NULL) exit(156);
fscanf(F,"%d",&tabDaemon[i].attaque); fscanf(F,"%d",&tabDaemon[i].defense);
fclose( F ); }
return tabDaemon; }
Sinon, ça avance ta fonction combat ? | |
| | | Azrael Admin
Messages : 242 Date d'inscription : 03/03/2013
| Sujet: Re: Avancement Daemon Jeu 4 Juil - 18:27 | |
| Pas vraiment, j'enchaine les petites fêtes là.... donc je suis pas vraiment studieux. | |
| | | azertyuiopqsdf
Messages : 280 Date d'inscription : 06/03/2013 Age : 28 Localisation : France
| Sujet: Re: Avancement Daemon Jeu 4 Juil - 18:28 | |
| | |
| | | azertyuiopqsdf
Messages : 280 Date d'inscription : 06/03/2013 Age : 28 Localisation : France
| Sujet: Re: Avancement Daemon Jeu 4 Juil - 19:27 | |
| Bon, je sais pas ce qu'il se passe, un miracle vient de se produire Alors, je décide de charger les daemons, j'écris l'instruction, tranquille. Je lance le jeu, je vais dans le donjon, CRASH ! Je regarde le code, a zut, j'ai mis un & en trop. Je relance, c'est cool, le donjon marche bien. Si je faisais un petit combat ? Je lance un combat......je gagne.........ET JE REVIENS NORMALEMENT AU DONJON !!!! Alors voila, ça marche, mais je sais pas comment. Bonne nouvelle du soir en tout cas ! | |
| | | azertyuiopqsdf
Messages : 280 Date d'inscription : 06/03/2013 Age : 28 Localisation : France
| Sujet: Re: Avancement Daemon Sam 6 Juil - 23:05 | |
| Je poste une petite version intermédiaire de Daemon, la 0.3.5, en attendant la 0.4 -retour au donjon après combat -chargement des daemons (grande et importante nouveauté, mais pas visible a l’écran ) -quelques corrections par ci, par la -travail sur les structures -ajout d'un petit cheat ( ) -petit travail sur les résolutions (optimisé pour le 16/9 ) fichier rar: daemon 0.3.5.rar En combat, appuyer sur P pour vous full life ! | |
| | | Azrael Admin
Messages : 242 Date d'inscription : 03/03/2013
| Sujet: Re: Avancement Daemon Dim 7 Juil - 9:58 | |
| Bon travail ! ça commence vraiment a ressemblé a quelque chose ! De mon coté, la fonction combat avance lentement mais surement. Là j'en suis a la disposition des éléments dans la fenêtre. J'avais une question, la sauvegarde "save0" du perso sert elle de source d'info sur les variables du perso dans chaque fonction ? | |
| | | azertyuiopqsdf
Messages : 280 Date d'inscription : 06/03/2013 Age : 28 Localisation : France
| Sujet: Re: Avancement Daemon Dim 7 Juil - 10:11 | |
| Non, en fait, "save0" va servir uniquement dans la fonction jeu, pour charger la structure du personnage après, on enverra la structure aux autres fonctions qui traiteront avec, puis, on sauvegardera les données sur save0. Ça, c'est juste quand on lancera une partie existante.
Par contre, quand on lancera une nouvelle partie, on créera une variable de structure et on la sauvegardera dans save0. D'ailleurs, je sais pas ce que t'en pense, mais on pourrait laisser le choix du nom au joueur. | |
| | | Azrael Admin
Messages : 242 Date d'inscription : 03/03/2013
| Sujet: Re: Avancement Daemon Dim 7 Juil - 10:27 | |
| Ok, donc il faut que je charge save0 dans la fonction jeu, et que je l'envoie en paramètre dans toutes les fonctions ?
Pour le nom, oui, on peut laisser choisir le joueur. On s'en occupera vers la fin. | |
| | | azertyuiopqsdf
Messages : 280 Date d'inscription : 06/03/2013 Age : 28 Localisation : France
| Sujet: Re: Avancement Daemon Dim 7 Juil - 10:35 | |
| Oui, c'est ça, tu créer un pointeur, tu le charge avec save0, et tu l'envoi a donjon.
Par contre, j'ai rencontré énormément de soucis avec l'allocation des daemons et de player. Car player contient un tableau de taille indéfini de daemon, ce qui fait que si on alloue player et daemon APRES, il y a des crash, donc fais gaffe avec ça, c'est casse-tête.
EDIT : Donc, dans l'ordre, il faut charger : 1- nom, niveau, PV, PVmax, PM, PMmax, XP -> depuis le fichier save0.txt grace a load() 2- le tableau de daemon grace a loadDaemon() 3- la position en mode manuel (attention, il faudra toujours positionner le perso au MILIEU exact de la fenetre, sinon, le scrolling va pas marcher)
EDIT 2 : En fait, c'est trop galère, j'ai recoder la fonction load(), elle s'occupe de l'allocation, du chargement, comme ça, tu vas pas te casser la tête, t'appelles juste la fonction et ça charge tout.
La voila : http://pastebin.com/vsfiMHfy
Et un fichier texte compatible : http://pastebin.com/KnC2s70U
Et dans la fonction jeu, ta juste a faire ça : http://pastebin.com/m78r5ydk | |
| | | Azrael Admin
Messages : 242 Date d'inscription : 03/03/2013
| Sujet: Re: Avancement Daemon Jeu 11 Juil - 17:17 | |
| Bien, donc j'ai commencé a remettre au propre la fonction combat. voici ce que ça donne pour le moment: J'essaye de faire une fonction claire et bien commentée donc ça me prend du temps. Mais déjà le résultat me plait beaucoup mieux: c'est bien plus propre que la première version. Pour le moment, il faut que je positionne tout les éléments de façon cohérente. Après, je m'attaquerai aux paramètres et enfin au déroulement du combat. | |
| | | azertyuiopqsdf
Messages : 280 Date d'inscription : 06/03/2013 Age : 28 Localisation : France
| Sujet: Re: Avancement Daemon Jeu 11 Juil - 17:34 | |
| Yes, ça fait grave plaisir, parce que une fois ta fonction combat finie, on aura une version encore jamais vue de Daemon ! Rien que l'image que tu montre, on sens que c'est mieux, rien qu'a la coloration de la case quand tu passes dessus (c'est trop classe) En plus, si ta fonction est mieux écrite, ça va être trop ouf ! Juste une chose, il faudrait définir une résolution d'écran pour la prochaine version, pour que tout concorde, je te propose 1280*720, c'est accessible a toute les cartes graphiques, et en plus, c'est la norme 16/9, donc, le meilleur. De plus, c'est vraiment la résolution parfaite dans les donjons. Dis moi ce que t'en penses. Sinon, de mon coté, c'est la grosse pause, je vois rien a faire, a part les implémentation, mais je me suis renseigné, et il y a rien dessus. Si t'a quelque chose a me déléguer, je suis preneur | |
| | | Azrael Admin
Messages : 242 Date d'inscription : 03/03/2013
| Sujet: Re: Avancement Daemon Jeu 11 Juil - 19:22 | |
| Pour la résolution il faut absolument du 16/9 ? je propose de faire la bêta en mode fenêtre, on s'occupera de l'adaptation en mode plein écran plus tard. là je suis parti sur du 720*430 comme c'était la résolution utilisé par ta fonction donjon. Sinon, ce que tu pourrais faire....si on pouvait avoir une ville de présentable pour la prochaine version de daemon, ce serait bien ! Avec pnj et interactions bidon du genre "bonjour !" Mais il faudrait trouver un moyen de faire se déplacer les pnj. | |
| | | azertyuiopqsdf
Messages : 280 Date d'inscription : 06/03/2013 Age : 28 Localisation : France
| Sujet: Re: Avancement Daemon Jeu 11 Juil - 19:43 | |
| Oui, je pense que le 16/9 est nécessaire, c'est la norme la plus répandue, c'est pour ça que je te le propose Pour le 720*430, c'est du 16/9 de toute façon, donc c'est bon Pour ce qui est de la ville, je vais bosser dessus, pour le interaction, c'est tranquille, mais je te laisserai gérer le ttf si tu veux bien, parce que j'aime pas cette lib Par contre, ça va être dur pour les faire bouger, mais je vais faire de mon mieux | |
| | | Azrael Admin
Messages : 242 Date d'inscription : 03/03/2013
| Sujet: Re: Avancement Daemon Jeu 11 Juil - 20:57 | |
| Ok, dans ce cas, je travaille en 720*430. Dans ce cas, le simple fait de rajouter SDL_FULLSCREEN devrait fonctionner.
Pour la ttf, il n'y a pas de soucis, fais comme si il y avait du texte à l'affichage. Blit un carré par exemple, je le remplacerai par du texte après. | |
| | | azertyuiopqsdf
Messages : 280 Date d'inscription : 06/03/2013 Age : 28 Localisation : France
| Sujet: Re: Avancement Daemon Jeu 11 Juil - 21:11 | |
| Ouai, ce qui compte pour la résolution, c'est que ça soit multiple de 16/9 Mais pour plus tard, j'insiste sur le fait qu'il faudra passer en 720p, parce que 720*430 en fullscreen, ça pique les yeux sur une dalle 1080p. En plus, ça sera pratique pour les portages (si on en fait), en effet, les tablettes et dernier smartphone sont en 720p | |
| | | azertyuiopqsdf
Messages : 280 Date d'inscription : 06/03/2013 Age : 28 Localisation : France
| Sujet: Re: Avancement Daemon Ven 12 Juil - 10:26 | |
| Bon, j'ai coder un petit moteur ce matin pour le déplacement du pnj, il marche, les collisions sont détectées et il se déplace bien, je suis content.
Il ne me manque plus que une fonction et c'est bon, cette fonction, elle récupère une vecteur de déplacement pour le pnj, et je voudrai faire de l'aléatoire.
Comme je suis pas a l'aise avec ça, si tu pouvais me dire comment on fait ce code en C :
int nbAléatoire = générerAléatoire (chiffre entre 0 et 10)
SI nbAléatoire <= 3 vx+=movespeed
SINON SI nbAleatoire > 3 && nbAléatoire <= 5 vx-=movespeed
SINON SI nbAléatoire > 5 && nbAléatoire <= 8 vy+=movespeed
SINON SI nbAléatoire > 8 && nbAléatoire <=10 vy-=movespeed
Le code complet : http://pastebin.com/WHnGw4Ft
Cette fonction ça serait vectorPNJ.
Yeeees !!!! C'est bon, j'ai trouvé tout seul !! Je suis trop heureux, ça marche enfin !!!!! et a merveille en plus !
Tien, regarde ça : http://www.fichier-rar.fr/2013/07/12/pnj-aleatoire-1/ | |
| | | Azrael Admin
Messages : 242 Date d'inscription : 03/03/2013
| Sujet: Re: Avancement Daemon Ven 12 Juil - 11:14 | |
| Ok, sinon, tu sais que dans la fonction combat j'utilise des aléatoires. donc tu pouvais tout simplement copier. C'est génial ! Du coup, on pourrait aussi faire des ennemis animés dans les donjons (en plus des ennemis fixes). ça rendra les donjon moins ennuyeux | |
| | | azertyuiopqsdf
Messages : 280 Date d'inscription : 06/03/2013 Age : 28 Localisation : France
| Sujet: Re: Avancement Daemon Ven 12 Juil - 11:20 | |
| Oui, tout va être animé, j'ai prévu le coup, ça sera facile a implémenter, le jeu va prendre une sacré amélioration En plus ta fonction combat, le jeu va être ouf ! EDIT : Bon, pleins d'avancements !! Premièrement, j'ai retravaillé la fonction donjon, je l'ai rendu beaucoup plus modulaire. J'ai modifié la structure Player, elle est composé de 4 surfaces, 4 animation, la direction ainsi que le sprint, tout est charger en début de programme, dans jeu. J'ai charger le premier ennemi mobile animé dans le donjon ! Ça rend vachement bien ! Et j'ai pensé qu'il faudrait créer un fichier constantes.h et tout mettre dedans, lib, define, enum, prototypes, ça rendra le code plus clair. Voila le jeu : http://www.fichier-rar.fr/2013/07/14/daemon-1/ Et j'en profite pour dire que je pars en vacances le 27, donc, je ne pourrai plus rien faire, et ce, jusqu'au 22 août. | |
| | | Azrael Admin
Messages : 242 Date d'inscription : 03/03/2013
| Sujet: Re: Avancement Daemon Jeu 18 Juil - 11:34 | |
| Ok, de mon coté, je n'ai pas accès a mon pc pour le moment. Mais je compte bien achever la version définitive de la fonction combat d'ici 2 semaines. Je garde toutefois un œil sur le forum depuis mon portable. Et je suis d'accord pour faire un fichier constante.h, ça simplifiera les fonctions. | |
| | | azertyuiopqsdf
Messages : 280 Date d'inscription : 06/03/2013 Age : 28 Localisation : France
| Sujet: Re: Avancement Daemon Jeu 18 Juil - 16:03 | |
| Ok, d'accord, je sais maintenant pourquoi tu postais pas trop ces temps ci :p Bref, je viens de remarquer un gros gros problème, comment charger différents donjon avec seulement la fonction donjon, vu qu'elle ne prend pas de paramètre sur la map et les autres structures ? Je peux proposer une technique pour ça, que j'utilise dans tout mes jeux. Le principe, c'est de créer une structure 'level'. Cette structure va prendre en paramètre tout ce qui est propre a un level, donc, la map, le tileset, les ennemis (position, apparence), etc... Dans la fonction jeu, on fais une variable choix, et on clique, le clique désigne un choix, on switch et on charge la structure en conséquence, puis, on envoi la structure a donjon qui s'occupe de charger le level. Je sais pas si j'ai été bien clair, voila un exemple issu d'un de mes jeux pour illustrer mon principe : selectLevel.c : http://pastebin.com/3Crzbr4M selectLevel.h : http://pastebin.com/1yKmss3w EDIT : C'est bon, j'ai fini de coder cette partie, plus un autre truc que tu avais proposé. Donc, dans jeu, j'ai inclus le choix et ça marche bien, touche 1-> donjon 1 touche 2-> donjon 2 du coup, on peut maintenant charger différentes zones en cliquant a différents endroits Tout est différent, la structure contient : la musique du donjon, la map, le tileset, les ennemis Et maintenant, les ennemis sont chargés par des fichiers texte contenant leur rect et les différents surfaces pour l'animation Vraiment proche de la version finale maintenant Edit 2 : J'ai une nouvelle (plutôt mauvaise). J'ai réussi a faire un tableau d'ennemis, pour qu'il y ait des ennemis différents dans les donjons. Mais je me suis heurté a un petit problème. En fait, les donjons doivent contenir exactement le même nombre d'ennemis et de PNJ car je charge les ennemis dans donjon. Je vais essayer de bosser ça pour trouver une solution, j'ai quelques idées en tête, mais super dures a coder. M'enfin bon, c'est ça le développement. Edit 3 : Non, en fait, c'est bon, j'ai trouver et j'ai réussi a faire des ennemis bien différent dans les donjons, je suis trop soulagé ! Mais par contre, c'est un peu chiant a manipuler coté programmation, mais au final, ce qui compte, c'est que ça marche. Edit 4 : Bon, je suis super content, j'ai rajouté une super fonction ! Avant, les fichiers qui contenaient les données étaient au format txt, ce qui fait que les données étaient modifiables par les utilisateurs du jeu. J'ai donc recodé TOUTES les fonction de chargement et de sauvegarde pour les mettre en binaire, maintenant, les fichiers sont au format bin et très très difficilement modifiables Mais du coup, impossible d’accéder aux fichiers et les modifier puis qu'ils sont en bits, comment on va faire pour la sauvegarde, les daemons, les ennemis, les maps ? C'est trop la merde ! Mais non, je déconne Je suis en train de mettre au points des éditeurs qui permettent de modifier et créer aisément des fichier daemon, map, et ennemis Les fichiers sortent tout chauds du logiciels, et sont prêts a être utilisés dans le jeu ! Tiens, je te passe l'éditeur de Daemons et l'éditeur d'ennemis, ils sont finis, je bosse maintenant sur les autres : http://www.fichier-rar.fr/2013/07/22/editeur-daemon/ http://www.fichier-rar.fr/2013/07/22/editeur-ennemis/ Bon, du coup, je pense avoir bien mériter mes vacances Donc, bonne vacances à toi et à la rentrée !!! | |
| | | Azrael Admin
Messages : 242 Date d'inscription : 03/03/2013
| Sujet: Re: Avancement Daemon Dim 28 Juil - 13:09 | |
| Formidable ! De mon coté, je vais vais poursuivre la fonction combat comme je viens de rentrer. je te tiens au courant. bonne vacances ! | |
| | | Contenu sponsorisé
| Sujet: Re: Avancement Daemon | |
| |
| | | | Avancement Daemon | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |