Les bugs 

   Nous allons discuter ici d'une chose qui va très certainement vous embêter et
vous mener la vie dure pendant que vous créerez votre jeu vidéo.
On appelle ces vilaines petites bêtes des Bugs !  

 

    Mais qui sont-ils ? Et pourquoi sont-ils si méchants !?! 
    En fait, le mot bug vient de l'anglais et veut dire "insecte". Si l'on en croit wikipedia, cela viendrait du fait que le premier bug informatique viendrait effectivement d'un insecte (sans doute à l'époque où les ordis étaient grands comme des immeubles) .

    En français, on devrait dire "bogue", mais ce mot ne veut rien dire en français, et n'est qu'un essai de francisation du mot anglais... Maintenant, à chacun son point de vue.

    Mais alors, pourquoi je vais vous parler des bugs ? Tout simplement pour mieux les classer et les repérer.



        I- Les types de bugs

    Bon, commençons par la bonne nouvelle : des bugs il y en a partout ! (Si, si, je vous jure !  Ah... Vous le saviez déjà ?  ).
    Mais il en existe de plusieurs types, certains plus sérieux que d'autres. Nous allons essayer d'en dresser une liste basique :


    Niveau 1 : le bug gentil qui n'empêche pas le programme de fonctionner et n'est pas trop gênant.

    C'est typiquement le bug cosmétique : clipping, défaut d'affichage, textures qui se chevauchent, lumières mal gérées, animations étranges, etc.
    La liste peut être très longue !


    Cela peut aussi être un défaut de programmation, ou une programmation lacunaire (dû souvent à la flemme du programmeur . Ben, oui, ça arrive à tout le monde !
).
    On pourrait ainsi citer des menus mal gérés, des collisions avec des hitboxes un peu trop larges (qui a parlé de Roswyn, là ? ), un scrolling qui suit pas parfaitement le héros, un personnage sur une plateforme qui passe au travers des murs...

    Ces bugs doivent être évités dans la mesure du possible, mais il y en a tellement qui peuvent apparaître (et plus le jeu sera complexe, plus potentiellement ils peuvent apparaître) qu'il est très difficile (impossible ?) de tout prévoir. D'ailleurs, ce serait intéressant, sur le forum, d'essayer de trouver au moins un jeu sans bug connu (ça va être dur... Relèverez-vous le défi ?
).

    Tout ça pour dire, faites la chasse à ces bugs, mais n'y passez pas non plus votre vie. Certains très bons jeux ont fait un carton, alors qu'il leur restait bien des bugs. Certains font même leur charme et les rendent célèbres !





    Niveau 2 : le bug sévère qui entâche le plaisir de jouer.

    Aïe, celui-là est nettement plus sérieux et doit être pourchassé jusque dans les tréfonds de sa cachette !
    C'est un bug abominable qui vous donne envie de lancer la manette par la fenêtre, écrabouiller votre PC, attaquer votre écran (le pauvre, il a rien fait ! ), et surtout vous dégoûte de continuer au jeu auquel vous êtiez en train de vous adonner !

    Des exemples ? Là encore, ils peuvent être variés. On peut avoir des niveaux presque impossibles/injouables (level design désastreux), des commandes tellement approximatives ou difficiles qu'elles rendent certaines actions presqu'impossibles (combinaisons de 25 touches pour sauter ?! 
Non, là j'exagère un peu ! Mais imaginez un jeu qui repose sur des sauts millimitrés et pour lequel il faut 15secondes à la touche saut pour réagir !  Oui, argh !).

    Sinon, l'un des exemples les plus frustrants pour moi dans cette catégorie, c'est la mauvaise gestion des sauvegardes. Là, c'est pire que tout. Vous venez de passer 100h sur un gros RPG, vous approchez enfin de la fin, vous faites une petite sauvegarde par précaution , et là, malheur , comble de malheur , c'est le freeze ! Une seule solution, redémarrer le jeu, mais comme le fichier de sauvegarde n'a pas été fermé correctement, il est corrompu, voire pire ! effacé !!! Plus qu'à tout recommencer à zéro ! Eh bien, je vous le dis tout de suite, vous n'allez pas en trouver beaucoup des joueurs qui vont tout recommencer juste pour tester si le bug va se reproduire !





    Niveau 3 : le bug qui fait planter le jeu systématiquement voire même l'empêche de démarrer.

 

    Bon, celui-là, c'est du lourd, du très lourd ! Le genre de bug tout simplement inadmissible (et à raison ! ) Ce genre de bug doit être éliminé purement et simplement dès le départ. Heureusement pour nous, il est souvent tellement gros qu'en général, on le remarque (quand ça plante dès le premier niveau par exemple ou dès qu'on veut charger une sauvegarde...). Malheureusement, il reste quand même des exemples qui nous prouvent que non (qui n'a jamais fait planter son PC, levez la main ?  Euh... personne ? ).

    Ce type de bug est dramatique pour un jeu (ou un logiciel en général) car il le rend inutilisable. Sans parler des jeux qui refusent tout simplement de se lancer (pour d'autres raisons que de n'avoir pas respecté le programme d'installation ou la config. minimale, bien sûr
!), on trouve des jeux qui se crashent inopinément, n'importe quand et on finit par avoir plus peur que le jeu se plante que des monstres dans le jeu ! ).

 

        II- La chasse aux bugs

      Comme vous êtes un fan de jeux vidéo comme moi, et que vous voulez offrir la meilleure expérience de jeu à vos joueurs (le premier d'entre eux étant vous-même ! ), vous allez vouloir traquer tous ces maudits bugs.
    Alors, quand on pense bug, on pense alors avant tout à la programmation, mais les bugs peuvent aussi venir d'ailleurs ! Faisons un petit tour d'horizon :

    1. Le bug imputable à la programmation : C'est le bug classique : vous avez oublié de prévoir une issue de sortie dans une boucle infinie (aïe, aïe, aïe ! ), vous abez oublié de refermer un fichier après sa lecture, vous avez oublié de tester qu'une variable n'était pas nulle, vous avez des vilaines fuites de mémoire , etc...
    Seul moyen de le corriger, se plonger dans le code. Un conseil, essayez d'abord d'identifier de quelle partie du code / fonction, cela peut venir et utilisez les informations fournies par le débugger pour l'identifier. Avec l'expérience, vous verrez qu'on commet souvent les mêmes erreurs...


    2. Le bug imputable au level design : Eh oui, si les sauts sont quasiment impossibles ou si certains niveaux sont tellement durs parce qu'ils fourmillent de monstres, ça peut aussi être la faute du level design. Pourquoi ne pas simplement rétrécir ce trou, enlever quelques ennemis (pour éviter que ça rame trop aussi) ?
    Notez aussi que si vous savez que quand le joueur est sur une plateforme mobile, il peut passer au-travers des murs, évitez de mettre des murs sur son chemin à ce moment-là! Et il n'y aura plus de bug (jusqu'à ce qu'un petit malin bidouille votre jeu pour créer ses propres niveaux et s'en rende compte 
).

    3. Le bug imputable aux graphismes : Eh oui, ça peut aussi venir de là (c'était d'ailleurs le problème principal de Roswyn d'ailleurs...). Imaginez par exemple, que pour détecter les collisions, vous utilisez la taille de chaque sprite mais que le dessin du sprite n'occupe pas toute la place à l'intérieur de son cadre. Eh oui, cela va donner l'impression au joueur qu'il y a collision alors que les sprites ne se touchent pas. Lui, il ne verra pas les hitboxes, il verra juste les petits personnages et trouvera qu'il y a un bug... Comme quoi, le dessin peut avoir son importance !


    Voilà pour ce bref tour d'horizon. On pourrait encore dire beaucoup de choses sur les bugs ! Mais on va s'arrêter là pour l'instant !

    D'ailleurs, si vous avez des commentaires sur ce sujet, au combien houleux, n'hésitez pas à poster un petit commentaire ci-dessous !




 

Connexion

CoalaWeb Traffic

Today11
Yesterday123
This week608
This month2081
Total1752892

14/06/24