Mes Premiers Pas De Dev Sur Ds


Asthroth
 Share

Messages recommandés

Bonjour à tous, je me présente, Asthroth, et j'ai découvers ce fort sympathique forum lors de lesrecherche sur le développement pour DS.

Un beau jour je me suis dit "tiens et coment ca marche le dev sur DS?"

Ayant pas mal de bouteille dans le dev, et au vue des exemple trouvé ca et là sur le net, je n'ai pas trouvé cela si complique=é que l'idée que je m'en faisait.

Et j'ai commencé a m'y interressé et je suis tombé sur votre forum, l'esprit que je me fait du développement avait l'air d'être le même que vos membres.

Et donc je me suis inscrit chez vous pour avoir un endroit et je sais que je trouverais une aide en cas de besoin.

J'ai commencé par m'interressé à PALib, mais n'arrivant pas vraiment le faire fonctionné (et manquant cruellement de temps, mes emploies du temps étant tres plein) et comme j'ai cru comprendre qu'elle n'était plus maintenau, je opté pour NdsLib.

J'ai trouvé dans votre boite à idée une idée (étonnant non) de jeux qui pourrait être sympa, et je me suis lancé.

Pour le moment j'en suis essentiellement a me remettre en mémoire du C++ (ca doit bien faire 15 ans j'ai plus tapé une ligne de C, mais comme ca fait au moins aussi longtemps que je pratique le développement d'application, ca va, les automatismes reviennent vites) et j'en suis à reprendre les exemple livré avec DevKitPro et les arrangé selon mes besoins.

Voila, je passerais mettre a jour ce post et, si vous le désiré, mettre mes petits prototypes en ligne.

En tout ca, une chose est sure, je sens que je vais me trouve parfaitement à l'aise ici :)

Amicalement.

Asthroth.

Mise à jour du 23/10/2013:

Mon premier travail a été de retenir l'environnement de développement, j'ai opté pour ndsLib pour les raisons évoqué plus haut.

Puis il m'a fallu trouver un ou des outils pour le graphisme, donc naturellement ce sera photoshop (ayant un peu l'habitude de m'en servir, je vais réapprendre un outil graphique) et pour la partie Ds ce sera Wingrit.

Coté code pur, j'ai commencé à me remettre les mains dans le développement C++ en commençant par la création de classes très simple, une pour le compte à rebours (enfin pour le moment en fait plutôt chronomètre) et une pour la gestion du stylet.

J'ai également fait un début de classe pour la gestion des personnages du jeu, le but étant surtout de valider la manipulation de tableau dynamique d'objets (chaque élément du tableau étant un objet représentant un personnage).

La prochaine étape étant de faire un vrai compte à rebours (ce qui ne devrait pas être difficile), de faire en sorte que ma classe pour le stylet gère les boutons (pareil, c'est assez simple l'ayant déjà faire mais de façon procédurale) et le gros morceau, la gestion de graphisme au sein du code et là, ça va être un peu plus tendu je pense, mais ça devrait passer ;)

Mise à jour du 25/10/2013:

J'ai donc égrémenté ma classe de timer afin de pouvoir en faire un ecompte à rebours et création d'une classe gérant les boutons, classe très succinte (elle ne fait que détecter l'appui sur un bouton et renvoie lequel) et qui évoluera au fur et à mesure que le besoin s'en fera sentir.

Bon, donc maintenant il va afloir s'attaquer sérieusement à la partie graphique, mais également à la sauvegarde des données qui est essentielle pour un jeu.

Mise à jour du 30/10/2013:

Deux nouvelles classes.

Le première me permet de gérer le clavier virtuel, toujours sympa de pouvoir nommer son avatar dans un jeu.

La deuxième gère les sauvegardes, enfin pour le moment elle permet juste de créer une sauvegarde en utilisant la SRam de la console.

Et pour mettre tout cela en pratique, un petit proto qui vous demande votre nom, le sauvegarde et le relit derrière.

Donc pour le moment j'ai a ma disposition une classe pour l'ecran tactile, les boutons, la sauvegarde, le clavier virtuel et le compte à rebours (que je pense refaire car actuellement elle n'utilise pas les IRQ ce qui me semble tout de même un peu plus propre).

Bon, bein aller, il me reste le gros morceau, comprendre comment fonctionne les divers graphismes sur une DS, j'ai commencé à m'y mettre un peu et ca à l'air tout de meme un peu ardue, mais bon, ca devrait passer.

Mise à jour du 08/11/2013:

Trois nouveaux protos me permettant de voir comment gérer un peu un background:

* 1er proto: Gestion des "window" sur un background qui permet d'occulter une partie de l'ecran

* 2eme proto: Gestion de quelques effets (rotation, scale, scroll) sur le background et cela sur les 2 écrans.

* 3eme proto: Gestion des Fade in/out sur le background et cela sur les 2 ecrans, vers le noir et le blanc qui permet de faire des effets de transitions un peu plus sympa que de symplement switcher d'une image à l'autre.

Il me reste encore pas mal de zones d'ombres sur ces background, mais je pense que je vais laisser pour le moment car ceci me suffit (du moins je pense) dans un premier temps, suffisent pour ce que j'ai besoin de faire.

Prochaines étapes, corriger, suite à des remontées d'Alex, ma classe sur la SRam qui fonctionne sur un élumateur mais pas sur un linker, ce qui est dommage.

Et m'attaquer à un second aspect graphique et non des moindre, les tiles et les maps, je sens que je vais encore bien galérer.....

Modifié par Asthroth
Lien vers le commentaire
Partager sur d'autres sites

Ben bienvenue et bonne chance.

La ds n'est pas la console la plus ouverte aux hombrews dommage...

pas ouverte ? c'est probablement une des plate-formes les plus ouvertes qui soit ^___^

devkitpro, palib (et j'en oublie), des documentations (sur son fonctionnement et sa programmation) à la pelle, des homebrews par centaines, je trouve qu'elle se défend plutôt bien moi.

et n'importe quel linker à 5$ boote et fonctionne nickel sur DS, en intègrant ausssi tout le nécessaire pour que les homebrews s'y sentent bien (librairie DLDI, fonction soft reset, etc.)

malgré une puissance limitée, elle nous montre qu'elle en a dans le pantalon quand c'est bien optimisé. Et n'importe quel programmeur est à même d'en tirer tout le potentiel qu'il souhaite.

deaphroat, va faire un tour dans les téléchargements DS, et regarde tout ce qui existe déjà...ok, la DS est en fin de carrière point de vue homebrews (ls nouveautés de cette année se comptent sur les doigts d'une seule main), mais elle a toujours eu le vent en poupe quand elle était sur le devant de la scène (2005 à 2011 en gros)

ps : Asthroth, content de voir que la DS interesse encore des développeurs. J'ai hâte de voir ce que ça va donner ;)

Lien vers le commentaire
Partager sur d'autres sites

Mise a jour du post avec 2 nouvelles classes et un petit proto pour les mettre en pratique

bonne chance et continuation dans ton projet l amis n'esite pas a demander si tu as besoin d aide même si le c/c++ c est pas ma langue préférer je peut toujours essayer d'aider =)

Lien vers le commentaire
Partager sur d'autres sites

Merci pour les encouragements :)

je sens qu'avec la gestion du graphisme, je vais en avoir besoins ;)

on seras 2 quiche en gestion graphique mais avec 2 quiche on a un amateur xD

Lien vers le commentaire
Partager sur d'autres sites

  • 2 weeks later...

Bonjour a tous, mise a jour du sujet avec quelques protos pour valider certains aspects des background.

Je galère un peu donc j'avance doucement et j'ai due mettre de coté certaines fonctionnalitées, je verais plus tard car là j'avance plus du tout.

Lien vers le commentaire
Partager sur d'autres sites

  • 2 weeks later...

Bonsoir à tous, le constat est des plus mauvais.

Je galère vraiment sur la partie graphique, trop peut d'explications complètes sur le net (je ne trouve que des bout de code incomplets ou de la donc purement technique), trop peu d'aide disponible, bref, je rame vraiment sur la partie graphique.

Et mon principal probème, c'est le temps, je dispose de trop peu de temps libre, je pensais pouvoir avancé doucement mais régulièrement mais je fais du surplace depuis plus d'une semaine sur un truc qui semble hyper simple, mais que je n'arrive jamais à faire touner faute de vraiment savoir l'implication de chaque instruction.

Bref, a ce rythme là, je vais en avoir pour des mois et des mois pour sortir un truc qui, au final, ne correspondra pas à l'idée que je m'en faisais.

je pense donc sérieusement abandonné le développement. Dommage, ca aurait été amusant, mais c'est là aussi que la bas blesse, je ne m'amuse pas du tout, je passe mon temps a faire des recherches sur le net, et faire des essais en m'inspirant de ce que je trouve sans vraiment comprendre ce que je fait, je n'y prends plus de plaisir.

Je vais encore insister un peu et si d'ici la fin de la semaine rien de concret n'en ressort, je jette l'éponge.

Voila, tout est dit je pense.

Lien vers le commentaire
Partager sur d'autres sites

Aujourd'hui, la journée a été plutot positive. J'ai réussie a faire fonctionne un petit bout de code de la libfat sur la liker (mais ne fonctionne pas sur l'emulateur, ca va pas etre tres pratique pour le dev, mais bon) et j'ai enfin réussie a faire un truc graphique qui fonctionne (tres tres basique, mais rien que cela, pour moi, c'est une vrai victoire).

Je vais donc finaliser l'utilisation tres basique de la Linfat pour le besoin que j'en ai et après je me remet sur des essais graphiques.

Ca met du beaume au coeur :)

Lien vers le commentaire
Partager sur d'autres sites

Mais il faut aller sur player-advance. Tu as pockett.fr pour le dev sur DS. Et sans de bonne base en C voir C++ tu vas ramer à mort.

Pour bien débuter http://fr.openclassrooms.com/ et tu y apprendra le C et les pointeurs. PALib est très bien mais si tu comprend pas ce que tu fais et tu essaye d'imbriquer des bouts de codes par ci par là ça va être dur.

Pour ma part je suis surement encore plus débutant que toi, mais http://fr.openclassrooms.com/ à mon avis et tu commence par le C. Et ensuite tu pourra coder de joli truc sans même passer par une Lib et comme ça quand tu prendra une lib, tu saura exactement quelle instruction appeler et comment l'utiliser.

Pour le C de base tout les compilateurs comprennent les includes de bases

#include <stdio.h>

#include <stdlib.h>

int (void)

{

printf "hello world";

return 0;

}

Ca fait un bail que j'ai plus étudié le C et à l'époque j'avais juste fini le chapitre de if, else, else if.

Meme mon Hello World il est peut-être foireux lol.

Modifié par ALI
Lien vers le commentaire
Partager sur d'autres sites

Bonjour ALI, mon principal problème n'est pas le code en C (ca fait un bail que j'en ai pas fait, mais comme ca fait pres de 15 ans que je travaille dans le domaine du développement d'application, ca va, je gère ;) ) mais c'est plutot des problèmes liés à la LibNDS, j'ai beaucoup de mal à trouver des infos complètes sur divers sujet, essentiellement sur le graphismes.

Par exemple, j'ai deja des classes qui gère divers aspects de la console (comme l'ecran tactile ou les boutons), mais pour le graphisme, il y a des choses que je n'arrive pas à faire, et c'est tout simplement (des fois) car on ne peut pas le faire, mais comme c'est dit nulle part, je rame pendant des jours en m'acharnant sur un truc alors qu'en faite, on peut pas le faire.

Par exemple, faire de l'alpha blending entre deux bitmap, impossible et pourtant ca à l'air tout bête.

J'en ai conclu qu'on ne pouvait pas le faire puisque le meme code fonctionne très bien entre deux tiles maps.

Du coup, j'ai perdu une semaine sur ce truc alors que cela ne semble pas réalisable, bref, c'est ce genre de chose qui bloc, mais pas le code en c++ (oui, je fais du c++ à la place du c, l'habitude de la POO)

Modifié par Asthroth
Lien vers le commentaire
Partager sur d'autres sites

Ok, ben alors tu devrait essayer devkit pro. Et y a un blog fr peut-être tu le connait déjà et il y a quelque code source. Aussi je te conseil vivement d'aller sur PA et d'essayer de rentrer en contact avec certains dev comme flubby ou Zx81. Des français qui pourront t'aider et en plus ils sont sympa ;)

http://sylvainhb.blogspot.ch/2006/09/alpha-blending.html

L'ami Zx-81 est même sur notre forum. http://gueux-forum.net/index.php?/topic/270714-quelques-portages-pour-la-console-android-jxd-s5110/#entry2053564

Pourquoi je t'envoie vers Player-Advance et pockett.fr car vraiment ce sont les sites de dév fr pour la GBA et la DS. Il y a des développeur encore actif et d'autre qui sont à l'arrêt.

Et moi mes connaissances sont trop limitées et de plus j'ai vraiment pas le temps pour le moment avec ma vie de famille et un enfant de trois ans ... Mais quand ma vie de famille sera moins tendue, surement que je reprendrai des cours pour me perfectionner. :)

Modifié par ALI
Lien vers le commentaire
Partager sur d'autres sites

  • 4 weeks later...

Bonjour à tous, désolé de ne pas être passé plus souvent, mais le temps m'a manqué et donc je l'ai consacré au développement sur la DS chérie ;)

Voici donc ce qui en est ressortit, un petit applicatif vraiment basique mais que m'a bien occupé en tout cas :)

Celui-ci est encre a améliorer dans le sens ou les graphismes sont vraiment....bref, je pense revoir cette partie mais le plus gros est fait.

Pour le moment il n'a été testé que sur emulateur, n'ayant pas ma console à disposition cette semaine.

Dites moi ce que vous en dites et si vous avez des questions, je serais heureux d'y répondre: http://vincent.dupont21.free.fr/Aiguilles.nds

Lien vers le commentaire
Partager sur d'autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
 Share