:: PlayerAdvance.org ::  

Précédent   :: PlayerAdvance.org :: > :: Développement Amateur :: > Tutoriels

Publicité

Réponse
 
Outils de la discussion Modes d'affichage
Vieux 28/08/2006, 12h53   #1
Dr.Vince
Administrateur
 
Date d'inscription: 10/11/2005
Messages: 4 965
Voir les codes amis Nintendo DS Voir les codes amis Wii
Par défaut Développer sur Nintendo DS pour les nuls

Développer sur Nintendo DS pour les nuls

Le but de ce tutorial est de présenter rapidement les différentes notions à connaitre pour développer sur Nintendo DS.
En aucun cas il ne s'agit de cours de programmation.



Introduction

Pour développer un jeu ou une application sur NDS, vous aurez besoin de connaissances en langage de programmation.
Les différents langage utilisés sont les suivants : C, C++ et ASM.

Le plus courant est le C. Vous trouverez de nombreux tutoriaux sur ce langage à travers le net.
voici quelques adresses utiles :

- http://www.commentcamarche.net
- http://www.developpez.com
- http://www.siteduzero.com
- http://www.google.com

En plus, voici une liste non exhaustive d'ouvrages de références(*) pour apprendre le langage C :

- "Le Livre du C premier langage" de Claude Delannoy
- "Le langage C" de Claude Delannoy
- "Programmer en langage C" de Claude Delannoy
- "La référence du C norme ANSI/ISO" de Claude Delannoy
- "Programmer en langage C : Cours et exercices corrigés" de Claude Delannoy
- "Le langage C, norme ANSI" de Kernighan (pour changer )

(*) Ces ouvrages ont été suggérés par les différents codeurs du forum.



Et ensuite ?

Maintenant que vous maitrisez parfaitement le C, voyons ce dont vous avez besoin pour développer sur NDS.

Pour cela il va vous falloir un "logiciel" : devkitpro. Vous pouvez le trouver à l'adresse suivante : http://www.devkitpro.org

En fait il ne s'agit pas d'un logiciel, mais d'un package regroupant tout ce dont vous aurez besoin :

- devkitarm : compilateur PC->ARM
- msys : permet de compiler via un makefile
- libnds : une librairie bas-niveau permettant de manipuler plus facilement la NDS


Il vous faudra également un éditeur de code. Voici une liste des plus utilisés :

- Programmer’s Notepad (http://www.pnotepad.org)
- Eclipse (http://www.eclipse.org)
- Visual Studio
- N'importe quel éditeur de texte...



Particularité du développement sur NDS

Développer sur NDS n'est pas la même chose que développer sur PC. Les fonctions offertes par devkitarm ne sont pas les mêmes, surtout en ce qui concerne l'I/O.

Je vous conseille de jeter un oeil sur les différents sites de la partie ressources pour mieux comprendre ce dont je parle.



Lib ou PAlib, telle est la question ?

Une librairie haut-niveau existe pour développer facilement sur NDS. Elle a été créée par un membre du forum, Mollusk : il s'agit de PAlib.

Elle vous offrira toutes les fonctions nécessaires pour développer un jeux ou un programme sur NDS sans vous soucier des problèmes de hardware. Mais de ce fait, elle ne vous permettra pas d'exploiter pleinement la puissance de la NDS.



Ressources

http://www.gbadev.org
http://www.double.co.nz/nintendo_ds/index.html
http://www.palib.com
http://www.drunkencoders.com
http://www.neimod.com/dstek
http://www.bottledlight.com/ds
http://www.patatersoft.info/nintendods.html
http://www.dev-scene.com/



N'hésitez pas à faire des remarques ou suggestions à propos de ce tutorial.
__________________
Projets Abandonnés: [Arcomage Advance] [Puzznic] [PA Card Games] [Blob Runner]
Projet en cours: [Ne plus abandonner de projet...]

Dernière modification par Bobby Sixkilla ; 24/09/2006 à 23h41.
Dr.Vince est déconnecté   Réponse avec citation

Publicité

Vieux 28/08/2006, 18h27   #2
KCV
Membre confirmé
 
Date d'inscription: 10/11/2005
Messages: 331
Par défaut

Merci pour ce tutorial Dr.Vince
__________________
KCV est déconnecté   Réponse avec citation
Vieux 28/08/2006, 19h19   #3
Samote
Membre confirmé
 
Date d'inscription: 12/01/2006
Localisation: Terre
Messages: 434
Par défaut

Pour le C le site du zero est votre ami.
__________________
Samote est déconnecté   Réponse avec citation
Vieux 28/08/2006, 20h58   #4
Bobby Sixkilla
Maître Chinpoko-extra-mon
 
Date d'inscription: 10/11/2005
Localisation: Palaiseau (Rive sud)
Messages: 6 466
Voir les codes amis Nintendo DS
Par défaut

Dr.Vince, il roxxx!

"Le Livre du C premier langage" de Claude Delannoy est vraiment un bon bouquin. Je le conseille aussi.
Bobby Sixkilla est déconnecté   Réponse avec citation
Vieux 28/08/2006, 22h43   #5
Dr.Vince
Administrateur
 
Date d'inscription: 10/11/2005
Messages: 4 965
Voir les codes amis Nintendo DS Voir les codes amis Wii
Par défaut

@KCV : de rien ! d'autres arriveront quand j'aurais un peu de temps

@Samote : lien ajouté

@Bobby : moi aussi je t'aime mon chou

@Staff de PA : ce serait possible d'épinglé ce tuto ? car, enfin c'est ce que je pense après c'est à vous de voir, mais ce tuto est "général" et il serait bien que les noob qui veulent se lancer dans la prog le vois direct
__________________
Projets Abandonnés: [Arcomage Advance] [Puzznic] [PA Card Games] [Blob Runner]
Projet en cours: [Ne plus abandonner de projet...]
Dr.Vince est déconnecté   Réponse avec citation
Vieux 29/08/2006, 00h11   #6
Bobby Sixkilla
Maître Chinpoko-extra-mon
 
Date d'inscription: 10/11/2005
Localisation: Palaiseau (Rive sud)
Messages: 6 466
Voir les codes amis Nintendo DS
Par défaut

C'est fait.
Bobby Sixkilla est déconnecté   Réponse avec citation
Vieux 24/09/2006, 23h21   #7
Chips Lay's
Membre confirmé
 
Date d'inscription: 24/09/2006
Messages: 78
Par défaut

Sur quelle site on peut commander un de ces livres ?
Chips Lay's est déconnecté   Réponse avec citation
Vieux 24/09/2006, 23h33   #8
Dr.Vince
Administrateur
 
Date d'inscription: 10/11/2005
Messages: 4 965
Voir les codes amis Nintendo DS Voir les codes amis Wii
Par défaut

sur gogole par exemple ??
__________________
Projets Abandonnés: [Arcomage Advance] [Puzznic] [PA Card Games] [Blob Runner]
Projet en cours: [Ne plus abandonner de projet...]
Dr.Vince est déconnecté   Réponse avec citation
Vieux 26/09/2006, 10h59   #9
omg
Modérateur
 
Date d'inscription: 10/11/2005
Localisation: Mad Monster Mansion
Messages: 3 755
Par défaut

Merci! Je vais commencer à m'en servir d'ici peut.
__________________

News GBA/DS:
Portable DEV
Colorer un jeu GB? Débutant - Avancé - Expert
Projets : Banjo Advance - The Last Quest - Klungo's Brain School
Site des jeux : BanjoKazooie.Free.Fr Web Site

FAN FOREVER
"La Vie n'est pas aussi simple qu'un Jeu Vidéo..."
omg est déconnecté   Réponse avec citation
Vieux 14/12/2006, 14h13   #10
van_tiberium
Membre
 
Date d'inscription: 30/07/2006
Messages: 12
Par défaut

Je remonte ce lumineux topic

Je me suis enfin décidé à me mettre sérieusement à la programmation (si si, vraiment, depuis mon dernier topic de juillet )
Je lorgne du côté du développement amateur en général, mais aussi du côté (ça tombe bien, c'est le but du site) du homebrew GBA/NDS.

La question va sembler un peu étonnante vu que la réponse est déjà connue et correspond aux spécificités techniques de la plate forme de Nintendo, mais est-ce encore raisonnable d'apprendre le C en 2006 ?

Sur pas mal de site et chez les bidouilleurs d'applications (et de jeux), on voit de plus en plus de projet sérieux en Python, avec l'appui de lib tel Pygame ou SDL.

On serait sur un forum de dév de projet pour PC (en général), je pense que la question aurait tout son sens, mais jusqu'à preuve du contraire, les GBA/NDS sont programmable uniquement en C... pour l'instant.

Donc vous voyez, suis-je impérativement bloqué par le C pour le dév sur GBA/DS.
Des projets de portage ou des compilateurs pour Python/SDL/etc sont-ils prévus ou envisageable ?
Certes, le C est universel, mais j'ai pu lire que certains programmateurs chevronnés refusait de revenir sur le C depuis qu'ils mettent en oeuvre du Python.

En outre, l'apprentissage de ce langage, avec des docs du type "Apprendre à programmer par le langage Python" chez O'reilly, parait nettement plus motivant que les ouvrages de Delannoy sur le C.

Pas facile n'est ce pas...

Dernière modification par van_tiberium ; 14/12/2006 à 14h27.
van_tiberium est déconnecté   Réponse avec citation
Vieux 14/12/2006, 14h42   #11
Lazarus
Membre confirmé
 
Date d'inscription: 15/11/2006
Messages: 93
Par défaut

Ben je dirais que j'ai commencé le dev il n'y a pas longtemps, et par le C, et graces aux portables de Nintendo, et que c'est n'est pas bien compliqué.
Je pense que tout langage n'est pas une perte de temps dans la mesure où ca développe quand même une certaine logique de programmation/conception qui te servira tôt ou tard ailleurs ou avec un autre langage.

Il y a une lib SDL portée sur DS, mais je suppose qu'elle fonctionne essentiellement en mode 8/16bits, donc tout en software, et je trouve ca quand même dommage de programmer sur une console qui n'a qu'un processeur de 66Mhz sans utiliser au maximum les capacités (4 fonds et 128 sprites en hardware par écran, de base, c'est quand meme une énorme puissance de calcul économisée par rapport au SDL, non ?)...

Ensuite, on parle de Python (encore que) et aussi de .Net (qu'on aime ou qu'on soit contre, ca reste pas mal du tout), et pour le .Net, si tu connais le C, le C# sera un jeu d'enfant et je pense que c'est pas plus mal...

Quand à savoir s'il y a des tutos pour le C... j'ai vu énormément de tutos, de tous niveaux, donc je ne pense pas que ce soit un soucis
Lazarus est déconnecté   Réponse avec citation
Vieux 14/12/2006, 15h06   #12
Arcadia
Modérateur saisonnier
 
Date d'inscription: 17/02/2006
Localisation: Compiègne
Messages: 2 942
Voir les codes amis Nintendo DS Voir les codes amis Wii
Par défaut

Citation:
Envoyé par van_tiberium
En outre, l'apprentissage de ce langage, avec des docs du type "Apprendre à programmer par le langage Python" chez O'reilly, parait nettement plus motivant que les ouvrages de Delannoy sur le C.


Je n'ai pourtant que très rarement vu de livre plus instructifs et extremement bien rédigés que les ouvrages de Delannoy. Certes y'a pas de zolies images en couleurs, mais il va directement à l'escenciel sans omettre des bases importantes. Tu as lu ne serait-ce qu'un chapitre avant de dire ça ?...

Coder en C ce n'est pas une tare. Maintenanct si tu veux coder en Python et bien fais le, mais ne remets pas en cause un langage qui existait bien avant toi et qui servira encore à pas mal de codeurs pendant des années, certes des codeurs amateurs pour la plupart...

Comme le souligne Lazarus, qu'importe le langage, ce qui compte, c'est d'aquerir une logique de programmation. Cette logique tu l'adaptes ensuite au langage utilisé. Il n'y a jamais de perte de temps en programmation, surtout pas en C.

Y'a pas possibilité de coder en Python sur GBA/DS ? Bah alors, soit tu crée un compilateur, soit tu attends qu'un autre le fasse, soit tu agis et tu code en C parce que pour le moment, y'a pas tellement de choix. Ah un moment faut faire un choix, et mettre de coté les questions existancielles....


[EDIT] Y'a possibilité de coder en assembleur aussi. Mais là tu va me dire que c'est encore plus dépassé...
__________________
.

Mes homebrews GBA : 1942 - Ghost'n Goblins




Mes autres passions, les flippers : Restauration d'un High Speed (Williams - 1985)

Dernière modification par Arcadia ; 14/12/2006 à 15h15.
Arcadia est déconnecté   Réponse avec citation
Vieux 14/12/2006, 15h56   #13
MIKEGBA
Membre confirmé
 
Date d'inscription: 22/11/2005
Localisation: DIJON
Messages: 221
Par défaut

Citation:
Envoyé par van_tiberium
Donc vous voyez, suis-je impérativement bloqué par le C pour le dév sur GBA/DS.

Ah, ben si t'es bloqué avec le C sur nintendo, va faire un tour sur mon tuto assembleur ! ( http://www.playeradvance.org/forum/s...ead.php?t=4537 )

Mais bon comme l'a dit Arcadia, va falloir agir, parce que sur les consoles, c'est C, C++ et ASM... donc ACTION->REACTION

et c'est pareil sur xbox 360 et consors donc.... oui le C mes semble tout à fait d'actualité en 2006
__________________
Codeur à 2 balles
MIKEGBA est déconnecté   Réponse avec citation
Vieux 14/12/2006, 17h57   #14
Toomagic
Membre confirmé
 
Date d'inscription: 16/05/2006
Localisation: Chiraquie
Messages: 383
Par défaut

On ne critique pas les livres de Delannoy qui sont exellent (quoique je ne suis jamais allé au bout d'un seul) mais ils sont très instructifs et trés bons que je te recommande bien que je ne sois pas encore un programmeur sur ce bonne chance !!
__________________
Codes amis : -Métroïd : 3093 1701 6113
-42 jeux :4553 5855 1730
-Star Fox : 225 285 186 800
Et oui, je reviendrai sur PA !!! Bohahahahahahahahahaha !!!!
Toomagic est déconnecté   Réponse avec citation
Vieux 14/12/2006, 18h24   #15
van_tiberium
Membre
 
Date d'inscription: 30/07/2006
Messages: 12
Par défaut

Je me suis mal fait comprendre.

Je ne dénigre pas le C ni les ouvrages de Delannoy qui sont d'une qualité indiscutable (et donc j'ai déjà son Initiation à la programmation...)

Je vérifiais juste, et j'ai eu ma réponse, s'il était encore possible de tourner autour du pot, et de se passer du C. Mais manifestement non.

Donc je crois que pour noël, je vais acquérir - "Le Livre du C premier langage" et "Programmer en langage C : Cours et exercices corrigés " de Claude Delannoy.

C'est le kit parfait du débutant je crois non ?

Dernière modification par van_tiberium ; 14/12/2006 à 18h37.
van_tiberium est déconnecté   Réponse avec citation
Vieux 14/12/2006, 18h56   #16
Lazarus
Membre confirmé
 
Date d'inscription: 15/11/2006
Messages: 93
Par défaut

Le Livre du C premier langage je l'ai pas trouvé extra (si c'est bien celui auquel je pense), en tout cas dans le cadre du dev DS
Lazarus est déconnecté   Réponse avec citation
Vieux 14/12/2006, 19h19   #17
Arcadia
Modérateur saisonnier
 
Date d'inscription: 17/02/2006
Localisation: Compiègne
Messages: 2 942
Voir les codes amis Nintendo DS Voir les codes amis Wii
Par défaut

Et puis un seul livre sur le C suffit amplement je pense. Tu peux complêter tes connaissances par des tutos sur le web, des exemples, etc...

Sérieux, on est plusieurs sur ce forum à avoir débuté le C avec les ouvrages de Delannoy et on en est tous content (enfin à une époque il faisait l'unanimité). Je ne me souviens plus du titre du livre qui m'a "instruit", je l'empruntais à la bibliothèque il y a 10 ans...

Sur ce bon courage
__________________
.

Mes homebrews GBA : 1942 - Ghost'n Goblins




Mes autres passions, les flippers : Restauration d'un High Speed (Williams - 1985)
Arcadia est déconnecté   Réponse avec citation
Vieux 14/12/2006, 23h18   #18
van_tiberium
Membre
 
Date d'inscription: 30/07/2006
Messages: 12
Par défaut

En fait, les deux ouvrages sont en "pack" sur amazon, et les lecteurs les conseillent, l'un complétant l'autre.

En matière de tuto, celui du site du zéro est vraiment très bien fait.
http://www.siteduzero.com/tuto-3-8-0...er-en-c-c.html

Dernière modification par van_tiberium ; 14/12/2006 à 23h34.
van_tiberium est déconnecté   Réponse avec citation
Vieux 06/02/2007, 16h05   #19
pilatomic
Membre confirmé
 
Date d'inscription: 06/02/2007
Localisation: Sur playeradvance !!
Messages: 484
Voir les codes amis Nintendo DS
Par défaut

je sens que je vais avoir l'air bete mais j'y connais rien !!! Bon, je me lance : c'est quoi la diférence entre un .nds ,un .sc.nds, un .ds.gba et un .gba ( j'ai cru comprendre que les 2 dernier c'était pour la gameboy advance mais a part ça ....) Quelqu'un peu m'aider
pilatomic est déconnecté   Réponse avec citation
Vieux 06/02/2007, 16h29   #20
LaBoule
Membre confirmé
 
Date d'inscription: 10/11/2005
Localisation: Lille (sem), Boulogne s/mer (we)
Messages: 429
Par défaut

Citation:
Envoyé par pilatomic
je sens que je vais avoir l'air bete mais j'y connais rien !!! Bon, je me lance : c'est quoi la diférence entre un .nds ,un .sc.nds, un .ds.gba et un .gba ( j'ai cru comprendre que les 2 dernier c'était pour la gameboy advance mais a part ça ....) Quelqu'un peu m'aider
alors je vais tenter de répondre :
un .nds c'est un fichier rom (jeu commercial ou homebrew) pour nintendo ds.
Un .sc.nds, c'est le même fichier que .nds mais passé par le logiciel supercard afin qu'il puisse se lancer sur une supercard.
Un DS.gba, je ne suis pas certainpour celui-ci mais je pense que c'est le même fonctionnement que le sc.nds
Un .gba, bah c'est un fichier rom (jeu commercial ou homebrew) pour gameboyadvance.
LaBoule est déconnecté   Réponse avec citation
Vieux 06/02/2007, 18h40   #21
Dr.Vince
Administrateur
 
Date d'inscription: 10/11/2005
Messages: 4 965
Voir les codes amis Nintendo DS Voir les codes amis Wii
Par défaut

arf petite correction du post précédent :

un .nds : c'est la rom compilé comme une rom commerciale, c'est celle-ci qui est utilisé par un émulateur PC
un .ds.gba : c'est la rom compilé pour nos chers amis les linkers, genre supercard
un .sc.nds : c'est le même fichier que le .ds.gba, on chnage juste l'extension car la SC lit que les .nds, ça évite donc de renommer le fichier
un .gba (ou .bin) : c'est une rom GBa, pour émulateurs/linkers
__________________
Projets Abandonnés: [Arcomage Advance] [Puzznic] [PA Card Games] [Blob Runner]
Projet en cours: [Ne plus abandonner de projet...]
Dr.Vince est déconnecté   Réponse avec citation
Vieux 06/02/2007, 19h11   #22
Pitt
Membre confirmé
 
Date d'inscription: 16/08/2006
Localisation: ...
Messages: 578
Par défaut

Citation:
Envoyé par Dr.Vince
arf petite correction du post précédent :

un .nds : c'est la rom compilé comme une rom commerciale, c'est celle-ci qui est utilisé par un émulateur PC
un .ds.gba : c'est la rom compilé pour nos chers amis les linkers, genre supercard
un .sc.nds : c'est le même fichier que le .ds.gba, on chnage juste l'extension car la SC lit que les .nds, ça évite donc de renommer le fichier
un .gba (ou .bin) : c'est une rom GBa, pour émulateurs/linkers
En fait, .bin c'est une rom brute, sans header. Pas forcément GBA, d'ailleurs. Le .gba est une rom .bin avec le header GBA.
Et le .mb.gba c'est un .bin avec le header GBA + le header multiboot ...
M'enfin on s'éloigne du sujet, là ...
__________________
Utiliser la libnds ?
What's it ?
Pitt est déconnecté   Réponse avec citation
Vieux 06/02/2007, 19h14   #23
pilatomic
Membre confirmé
 
Date d'inscription: 06/02/2007
Localisation: Sur playeradvance !!
Messages: 484
Voir les codes amis Nintendo DS
Par défaut merci

merci parce que je ne comprenait pas pourquoi il y avait plusieurs fichier pour un seul jeu.
pilatomic est déconnecté   Réponse avec citation
Vieux 06/03/2008, 18h16   #24
mesrine_29
 
Messages: n/a
Par défaut

Merci pour ces tutos
  Réponse avec citation
Vieux 15/04/2008, 10h30   #25
D-bj
Membre
 
Date d'inscription: 14/04/2008
Messages: 28
Par défaut

Bonjour je suis nouveau ici et dans la prog et je voulais savoir si vous pouviez me donnez des definitions sur des termes comme "sprites", merci

D-bj
__________________
Vive PAlib et la libnds !!
mon site de rien du tout / Mon Mail
D-bj est déconnecté   Réponse avec citation
Réponse

Liens sociaux

Publicité



Utilisateurs regardant la discussion actuelle : 1 (0 membre(s) et 1 invité(s))
 
Outils de la discussion
Modes d'affichage

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 02h22.


Édité par : vBulletin® version 3.7.2
Copyright ©2000 - 2022, Jelsoft Enterprises Ltd. Tous droits réservés.
Version française #16 par l'association vBulletin francophone
Design par Ass-Itch, DJP et Dr.Vince