DÉVELOPPEZ COUCHÉ
Dernière mise à jour : 20/08/2012
Bonjour tout le monde et bienvenue dans l'annexe on-line de la rubrique "Développez couché" de Canard PC.
Au fil du temps cette rubrique s'enrichira de nouveaux liens, exemples, bouts de code et de ressources à télécharger. Elle servira aussi de point de rencontre et de discussion pour tous ceux qui ont des questions/suggestions au sujet de la rubrique. J'essaierai d'être le plus présent possible même si je n'aurai pas forcément le temps de répondre à toutes vos questions.
A PROPOS DE LA RUBRIQUE :
Cette rubrique est "goal oriented". C'est du punk, pas du solfège : je ne vais pas vous parler pendant trois heures d'un concept pour être sûr que vous ayez tout compris et après seulement passer à la pratique.
Au contraire, je vous donne direct des éléments qui vous permettent
(1) de voir comment un jeu vidéo est gaulé à l'intérieur,
(2) de prendre rapidement plaisir à réaliser quelque chose.
Si vous voulez voir plus loin et créer votre propre jeu vous devrez aussi travailler un peu tout seul (d'où les liens "pour débutants" en bas de ce post). Un cours complet prendrait 4 pages de chaque mag.
PLANNING :
INTRODUCTION :
CPC 242 (15/10/2011) : Installation de Visual C# Express et de XNA
CHAPITRE 1 :
CPC 243 (1/11/2011) : Leçon 1 - Le concept de classe, importer des fichiers (sons, images...) dans les ressources d'un projet XNA, dessiner une image à l'écran
CPC 244 (15/11/2011) : Leçon 2 - Variables, conditions simples (if / else if), lire l'état du clavier
CPC 245 (1/12/2011) : Leçon 3 - Stockage des objets dans un tableau, les boucles "for"
CPC 246 (15/12/2011) : Leçon 4 - Détection des collisions, classe Random
CPC 247 (15/01/2012) : Leçon 5 - Score et effets sonores OMG, ON A UN "VRAI" JEU !
CPC 248 (01/02/2012) : Leçon 6 - Faire défiler un décor de fond
CPC 249 (15/02/2012) : Leçon 7 - Tirer des projectiles
CPC 250 (01/03/2012) : Leçon 8 - Enemis (1/2)
CPC 251 (15/03/2012) : Leçon 9 - Enemis (2/2)
===> Télécharger le code source complet de Canardage tel qu'il était APRES la leçon n°9 (CPC n°251), à la fin du premier chapitre. (à décompresser dans C:\Users\[VOTRE NOM]\Documents\Visual Studio 2010\Projects\Canardage)
CHAPITRE 2 :
CPC 252 (01/04/2012) : Leçon 10 - Pixel shaders et post-processing
CPC 253 (15/04/2012) : Leçon 11 - Compteurs
CPC 254 (01/05/2012) : Leçon 12 - HUD et paramètres passés au shader
CPC 255 (15/05/2012) : Leçon 13 - Lecture/écriture de fichiers sur le disque
CPC 256 (01/06/2012) : Leçon 14 - Écrire du texte (à partir de fontes ou de polices "sprites")
CPC 258 (01/06/2012) : Leçon 15
CPC 259 (01/06/2012) : Leçon 16
CANARDAGE - LE CODE SOURCE COMPLET DU JEU :
Logiciels nécessaires : (!!! N'OUBLIEZ PAS D'INSTALLER TOUTES LES MISES A JOUR VIA WINDOWS UPDATE !!!)
- Environnement de développement Visual C# 2010 Express (descendez un peu sur la page pour avoir la version française)
- Framework XNA 4.0
CHAPITRE 1 :
Le code source complet de Canardage tel qu'il était APRES la leçon n°9 (CPC n°251), à la fin du premier chapitre (contient tout le code et toutes les ressources) :
(à décompresser dans C:\Users\[VOTRE NOM]\Documents\Visual Studio 2010\Projects\Canardage)
- canardage_chapitre1.zip
CHAPITRE 2 :
Le code source complet de Canardage tel qu'il était APRES la leçon n°10 (CPC n°252) :
(à décompresser dans C:\Users\[VOTRE NOM]\Documents\Visual Studio 2010\Projects\Canardage)
- canardage_lecon10.zip
Le code source complet de Canardage tel qu'il était APRES la leçon n°11 (CPC n°253) :
(à décompresser dans C:\Users\[VOTRE NOM]\Documents\Visual Studio 2010\Projects\Canardage)
- canardage_lecon11.zip
Le code source complet de Canardage tel qu'il était APRES la leçon n°12 (CPC n°254) :
(à décompresser dans C:\Users\[VOTRE NOM]\Documents\Visual Studio 2010\Projects\Canardage)
- canardage_lecon12.zip
Le code source complet de Canardage tel qu'il était APRES la leçon n°13 (CPC n°255) :
(à décompresser dans C:\Users\[VOTRE NOM]\Documents\Visual Studio 2010\Projects\Canardage)
- canardage_lecon13.zip
Le code source complet de Canardage tel qu'il était APRES la leçon n°14 (CPC n°256) :
(à décompresser dans C:\Users\[VOTRE NOM]\Documents\Visual Studio 2010\Projects\Canardage)
- canardage_lecon14.zip
Le code source complet de Canardage tel qu'il était APRES la leçon n°15 (CPC n°258) :
(à décompresser dans C:\Users\[VOTRE NOM]\Documents\Visual Studio 2010\Projects\Canardage)
- canardage_lecon15.zip
Le code source complet de Canardage tel qu'il était APRES la leçon n°16 (CPC n°259) :
(à décompresser dans C:\Users\[VOTRE NOM]\Documents\Visual Studio 2010\Projects\Canardage)
- canardage_lecon16.zip
RESSOURCES A TÉLÉCHARGER :
Ressources nécessaires à la leçon n°10 (Canard PC n°252) :
- PostProcess.fx
Ressources nécessaires à la leçon n°11 (Canard PC n°253) :
- warpzone.wma
Ressources nécessaires à la leçon n°16 (Canard PC n°259) :
- canardage_lapin2.png
- particule.png
Ressources nécessaires aux leçons précédentes (celles du chapitre 1) :
- boing.wav
- canardage_lapin.png
- ciel.jpg
- ciel1.png
- ciel2.png
- gros_lapin.png
- music.wma
- panpan.wav
- police2.png
- pouet.wav
- saucisse.png
- tir.png
LIENS UTILES :
NIVEAU GRAND DÉBUTANT : (jamais programmé auparavant)
- Le tutoriel C# du site du zéro. Lien (en français)
NIVEAU DÉBUTANT : (déjà programmé un peu mais jamais en C#)
- Un excellent cours d'introduction au C# par Serge Tahé, prof à l'université d'Angers. Lien (PDF, 20 mégas) (en français)
- Le tutorial HLSL de FaceWound, la meilleure introduction aux pixel-shaders DirectX qu'on puisse trouver sur Internet. Lien (en anglais)
SITES DE RÉFÉRENCE POUR TOUS NIVEAUX : (pas trop débutant quand même)
- CSharp.fr, plein de bouts de codes pour tout et n'importe quoi. Lien (en français)
- XNA-Connection.com, axé sur le développement de jeux avec XNA. Lien (en français)
AU FAIT, POURQUOI XNA ?
Parmi les milliers de langages, de frameworks et d'outils de développement disponibles en ce monde abandonné de Dieu, pourquoi avoir choisi le combo C# + XNA ? Plusieurs réponses à cela, que je suis heureux de vous fournir ici, dans un accès de transparence à faire pâlir de jalousie Eva Joly.
- Les "kits de développements" (que ce soient des outils pour neuneus type "FPS Creator" ou de vrais frameworks professionnels comme l'Unreal Development Kit) ne sont pas adaptés à une rubrique pédagogique. Quelqu'un qui a appris à utiliser l'UDK saura utiliser... l'UDK. Quelqu'un qui a appris les bases de l'algorithmique avec un vrai langage saura s'adapter à peu près à n'importe quoi.
- Pour cette même raison, il fallait un vrai langage orienté objet traditionnel (comprendre : pas Flash), si possible avec une syntaxe classique (comprendre : inspirée du C, pas de Visual Basic) et relativement facile d'accès (comprendre : pas le C++).
- Les outils de développement de C# (tout du moins dans leur version "express", que nous allons utiliser) sont gratuits.
- Même si le but est d'apprendre à programmer, c'est surtout la programmation de jeux qui nous intéresse (quel genre de taré est excité à l'idée de créer un tableur ?) XNA, qui permet de travailler très facilement sur les shaders DirectX et la gestion des ressources, est parfaitement adapté à celui qui veut découvrir les outils du développement de jeux modernes. Ca aurait été difficile en Java.
- Enfin, soyons honnêtes, parce que je connais parfaitement le langage et les bibliothèques et qu'écrire cette rubrique en Java m'aurait pris dix fois plus de temps.