Salut chers amis,
je rédige ce premier article pour vous raconter my life de programmeur, et comment se passe la conception de Pong. Histoire d'écrire quelque chose quoi ^^".
C'est quoi un jeu?
D'abord, un jeu, a game, c'est des milliers de lignes de codes. Ces lignes de code, c'est quoi? Ce sont des instructions écrites dans un langage de programmation. C'est quoi un langage de programmation? C'est un langage bas niveau qui a été créé par d'autres développeurs pour simplifier la conception d'un programme.
Genre si je devais le faire en binaire, ce serait qu'une suite de 0 et de 1. Alors que là ces suites de 0 et 1 ont été simplifiées légèrement en ces langages, et c'est ces langages de programmation qu'on utilise pour faire les programmes. Une fois fini, on "compile" ce code grâce à un outil, le "compilateur" qui transforme nos lignes de langage bas niveau en langage binaire (0 et 1), compréhensible par l'ordinateur.
De plus, sachez qu'il existe de nombreux langages de prog. Pong est fait en java. Pourquoi? Parce qu'entre le C, le C++ et Java, seul ce dernier gère nativement tout ce qui concerne les graphiques et les fenêtres, alors qu'en C++ par exemple on aurait eu besoin d'un gros module ou bibliothèque genre Qt, et la SDL par exemple avec le C. En plus Java est multi-threadé, on peut lui demander de faire plusieurs choses en même temps grâce à son ordonnanceur (qui alterne les actions et les exécutent petit à petit). Enfin, le C++ et le Java sont orientés objets donc ça exclut d'office le C. Finalement j'ai choisit le Java pour sa simplicité, même si je regrette les pointeurs du C++.
Pour écrire et gérer ce grand nombre de lignes et de fichiers de classes, on utilise un IDE, qui fait à la fois office de traitement de texte, de compilateur et de debuggeur (il indique ou ça beugue en résumé). Pratique quand l'oubli d'un point virgule vous empêche de lancer le jeu.
Qu'est-ce qui t'a donné l'idée du nom, du concept du jeu ?
Ben Pong pour ses graphismes rectangulaires. Mon premier jeu en java était une réplique de Pong, un jeu de tennis minimaliste ou deux joueurs contrôlent leur raquette et montent/descendent pour toucher la balle. Ensuite j'ai voulu faire un jeu de plateforme ou on contrôlerait un rectangle blanc qui pourrait sauter, et que l'on devrait guider jusqu'à un objectif. Pong Aventure 1 était en noir et blanc, seul le personnage subissait la gravité. Puis y a eu Pong Aventure 2 avec son fond d'écran bleu, la transparence des couleurs, et un meilleur contrôle du personnage. Puis Pong Aventure 3 avec son moteur physique ou plusieurs blocs étaient contrôlés par la gravité. A ce moment là je voulais à tout prix faire un éditeur pour faire soi-même un niveau. Avant cela je devais, pour créer un simple sol, indiquer sa position X, Y, sa longueur et sa largeur, son type de bloc, lui assigner le niveau, et déclencher sa gravité.
Et bam, Pong Aventure 4. L'éditeur a révolutionné le jeu, on pouvait désormais sauvegarder le jeu. J'avais rencontré Touffu un peu avant cela, et je lui en avais déjà parlé dès PA3. Avec l'apparition de la sauvegarde je pouvais lui passer des niveaux, même si c'était dur d'éviter les bugs. J'ai du faire le forum dès la PA 4.6.
Et maintenant ?
And now, les mouvements sont apparus, les check points, les téléporteurs, les blocs de lave, les blocs déplaçables, les interrupteurs, le scrolling et sa possibilité de monde infini, les limites automatiques, l'amélioration du moteur de jeu pour gérer plus de 200 blocs sans bug ni lag, l'effaceur, et récemment l'intelligence artificielle rendant le niveau quelque peu vivant.
Ces temps ci, j'ai commencé les armes en général, je prévois de faire un bouton BlocArme qui, au choix, créera un bloc qui affecte l'arme au personnage qui le touche, ou directement l'affectation de l'arme au bloc cliqué. Mais j'ai surtout de gros problèmes sur le moteur physique du jeu. Il bug avec à peine 30 blocs, j'ai du modifié un truc.. bref.
En conclusion...
VIVEMENT LES VACANCES, et merde.