Culture Geek

Je code, tu codes… vous codez ? #1

Je code, tu codes… vous codez ? #1

Introduction à la programmation

 

Bonjour à toutes et tous, et bienvenue dans cette nouvelle série d’articles qui traitera – en long, large et autres travers – de la programmation, et puisque nous sommes sur Cleek, nous parlerons bien entendu ici de l’art geek dans toute sa splendeur : le jeu vidéo & les étapes nécessaires pour créer le votre de A à Z !

Non, non, ne fuyez pas tout de suite, rassurez-vous, le développement de logiciels n’est en aucun cas, contrairement à certaines idées reçues, une affaire d’intellos reclus et monomaniaques ! En effet, quelques cuillères à soupe de logique, une ou deux onces de patience ainsi que quelques grammes de curiosité sont les seuls ingrédients requis pour développer la base d’un jeu vidéo.

Nous allons aborder dans ce premier article quelques points théoriques essentiels destinés aux néophytes (peut-être même que certains roublards du code en profiteront pour revoir leurs bases ?) et rapidement, dans le prochain numéro, nous pourrons nous pencher ensemble sur la partie pratique, à savoir l’utilisation de « Unity », un outil de développement révolutionnaire entièrement dédié à la création de contenus vidéo-ludiques.

 

Un petit cours d’anatomie

 

Nous avons tous déjà entendu parler de disque dur, de RAM et autres processeurs… sous ces noms barbares en apparence se cache en fait un système relativement simple qui permet à votre ordinateur d’exécuter les tâches quotidiennes que vous lui demandez : depuis l’utilisation d’internet la plus basique (consulter votre boîte mail par exemple) jusqu’aux jeux vidéo, en passant par l’affichage de l’horloge ou encore la visualisation de vos films favoris…

Si nous comparons un ordinateur lambda au cerveau humain, nous pouvons établir certains parallèles entre les éléments de votre PC et les fonctions basiques de ce qu’il se passe dans votre tête. Les points importants qui nous intéressent sont les suivants :

– le disque dur stocke des informations pour vous (vos films, jeux, tous vos fichiers) : il est l’alter ego de votre mémoire sur le long terme (vos souvenirs, vos connaissances…).

– la RAM, ou mémoire vive, est une sorte de mémoire instantanée qui stocke les informations importantes sur le court terme, comme lorsque vous faites un calcul mental et que vous gardez en tête les différents nombres nécessaires à votre réflexion (alors qu’il est peu probable que vous vous souveniez de cette opération deux mois après l’avoir faite).

– le processeur sert à faire des calculs et à donner des ordres aux autres composants. Il s’agit donc ici de la fonction de base de votre cerveau : penser et donner des ordres au reste du corps (lire cet article et en comprendre le contenu par exemple, ou tendre le bras pour attraper un produit en haut d’un rayon dans un supermarché).

Pour résumer, un logiciel pioche donc des informations dans le disque dur. Il les place dans la RAM pour que le processeur fasse ses calculs et affiche plein de choses sur votre écran, puis il sauvegarde votre travail qui retourne sur le disque dur jusqu’à votre prochaine utilisation de ce même logiciel.

 

Une affaire de variables

 

Le premier point important quand on commence à programmer est la compréhension de la notion de « variable ». Ce terme regroupe toutes les données utilisées et traitées par votre ordinateur pour faire fonctionner les logiciels. Ces mêmes données sont alors stockées dans la mémoire vive de votre ordinateur pendant toute la durée de fonctionnement du programme qui les utilise.

Pour faire simple, utilisons une métaphore pour représenter la mémoire vive : imaginez une looongue ligne sur laquelle seraient alignées des millions de boîtes à chaussures.

Chacune de ces boîtes est composée du corps de la boîte, de son couvercle ainsi que d’une étiquette qui nous renseigne sur le contenu de la boîte :

– un nom d’article (par exemple : « escarpins bleu ciel marque XYZ »)

– une catégorie (« chaussures femme printemps-été »)

Et bien figurez-vous que les variables sont organisées de la même manière : elles sont alignées dans la mémoire vive, et disposent de plusieurs caractéristiques qui les représentent :

– le nom de la variable (« nom du joueur »)

– son type (« texte »)

Une variable, en simplifiant un peu les choses, est donc une information d’un certain type (un texte, un chiffre…) qui est identifiée par un nom.

 

Programmation

 

Oui mais… une variable, comme son nom l’indique, ne devrait pas varier, changer ?

Exactement ! Reprenons notre métaphore des boîtes à chaussures. Imaginez que le contenu de chaque boîte n’est pas nécessairement fixe et définitif, la seule restriction est que lorsque vous soulevez le couvercle, le contenu de votre boîte corresponde aux spécificités indiquées sur l’étiquette… un petit exemple geek pour illustrer tout ça !

Dans les jeux vidéos, la notion de points de vie est omniprésente, et nous la représenterions comme suit :

nom de la variable (« points de vie du personnage »)

type de la variable (« nombre »)

contenu de la variable (« 100 »)

Si votre personnage subit des dégâts (admettons, 15 dégâts), ses points de vie vont baisser. Nous allons donc chercher la boîte (la variable) appelée « points de vie du personnage » et en modifier le contenu afin de représenter la blessure que le personnage aura subit :

nom de la variable (« points de vie du personnage »)

type de la variable (« nombre »)

contenu de la variable (« 85 »)

Vous savez désormais tout ce qu’il faut savoir sur les variables en elles-mêmes, sur leur nature et leur fonctionnement. La prochaine étape sera donc de savoir comment les manipuler.

 

Lard et la manière de jouer avec ses variables

 

Nous parlions plus haut du processeur et de sa fonctionnalité principale : faire des calculs. En programmation, vous allez donner des instructions à ce fameux processeur afin qu’il créée et manipule des variables. Ces instructions (vulgairement, des lignes de code) peuvent être regroupées en plusieurs catégories simples :

– la création, modification et suppression d’une variable

– les conditions : si il se passe telle chose, faire telle action en réponse

– les boucles : répéter une action un certain nombre de fois

En réussissant à maîtriser ces trois concepts, n’importe qui peut commencer à programmer !

Pour expliquer ces notions, nous allons tout d’abord présenter leur fonctionnement en français, avec quelques mots-clés qui permettent de résumer l’architecture d’un programme dans le langage courant que nous utilisons au quotidien : cette discipline s’appelle l’algorithmique.

Imaginons le jeu du « Plus ou Moins » dans lequel l’ordinateur choisit un nombre compris entre 1 et 100 (dans notre exemple, l’ordinateur voudra que l’on trouve le nombre 42), et que vous devez trouver ce nombre sachant qu’à chacune de vos propositions, l’ordinateur ne vous répondra que par « Plus petit » ou « Plus grand » jusqu’à ce que vous trouviez la bonne réponse, auquel cas l’ordinateur vous répondra d’un chaleureux « Bingo ! ».

En algorithmique, ce programme serait représenté comme suit :

 

 

 

Explications :

Première étape : il faut dire à l’ordinateur que nous allons utiliser deux variables qui représenteront le nombre à trouver, ainsi que la proposition du joueur. Notons que ces deux variables sont des nombres.

Seconde étape : grâce au « tant que » nous allons répéter les instructions situées entre les deux éléments soulignés en rouge, tant que la réponse ne colle pas avec le nombre à découvrir.

Troisième étape : à l’intérieur du « tant que », nous allons vérifier si la proposition du joueur est plus grande, plus petite ou égale au nombre à trouver (conditions soulignées en vert), et faire afficher la réponse de l’ordinateur en fonction de ces conditions (instructions « dire quelque chose » soulignées en bleu).

Nous avons donc manipulé des variables grâce à une boucle (le « tant que ») et exécuté des instructions en fonction de certaines conditions (les « si… sinon… »).

 

algorithmique

 

Mais… il est nul ton programme, je ne peux rien faire avec ça !

Justement, si ! Pour l’instant, il ne s’agit que d’algorithmique, une manière théorique d’écrire un programme, un peu comme un brouillon. Remplacez maintenant les instructions du programme ci-dessus par des instructions dans le langage informatique de votre choix (C, php, java, visual basic, C# ou n’importe quelle autre) et vous aurez un programme fonctionnel. L’avantage de l’algorithmique réside dans le fait que vous pouvez apprendre la programmation sans vous restreindre à un langage particulier : une fois que la logique est ancrée en vous, la seule chose qui changera si vous souhaitez faire votre programme dans un langage ou un autre sera la syntaxe de vos instructions, mais cela ne modifiera en rien l’architecture de votre création.

 

Voila, c’est tout pour aujourd’hui ; et désormais, les bases de la programmation sont vôtres ! Nous aborderons dans le prochain article un type de variables un peu plus complexe, mais ô combien utile : les « objets », et nous commencerons à manipuler « Unity » pour mettre rapidement vos pattes de geek dans le cambouis.

 

 

Culture Geek
Plus Culture Geek