22 vla les bugs !

 



    Les choses avancent ! J'ai rencontré quelques difficultés à terminer la seconde disquette de mon jeu, et j'ai pu y mettre moins de choses que prévu. J'ai rencontré une bonne série de bugs, qui m'ont donné quand même des sueurs froides ! En effet, alors que mes 13 premiers tableaux sur la première face, s'étaient enchainés sans problèmes, j'ai pensé que la seconde disquette fonctionnerait directement sans trop de soucis !

    Et pourtant dès la fin du 13ème, problème le changement de face de disquettes ne fonctionne pas ! Mais finalement, plus de peur que de mal, c'était juste une erreur dans mes données CSV qui n'étaient pas à jour sur la première disquette. Ensuite arrivé à l'écran 14, un planton à la cinquième ligne de dialogue ! Je n'y comprends rien au début et par réflexe, je lance ? fre("") pour voir s'il me reste de la mémoire libre. Et là, c'est le drame ! Il ne me reste que 8 kio ! C'est sidérant, car quand on charge le moteur, au début il reste 33 kio ! Je me suis donc revu avec les problèmes de gestion de RAM de mon ancien jeu, et j'ai frémis car ces 14 premiers écrans ne sont pas les plus gros du jeu en plus !

    En étudiant plus finement le code de mon moteur, je m'aperçois que j'ai fait une erreur d'innatention ! J'avais pris le soin de créer une routine pour appeler fre("") qui fait aussi Garbage Collector (Si vous ne savez pas ce que c'est, c'est en gros un truc qui défragmente la mémoire du basic en libérant la place occupée par les variables non utilisées).  Mais cette routine n'était appelée nulle part. Je corrige ça, et j'obtiens la même erreur avec cette fois ci quelques centaines d'octets en plus ! 

    J'étais blême, qu'est ce qui pouvait se passer. J'ai donc patiemment revu les données de mon écran 14 dans Excel, et là l'erreur m'a paru bien plus évidente ! A partir de la ligne 5, j'avais oublié de remplir, une colonne contenant une donnée technique précisant si la ligne est du texte ou une option de choix.

    Une fois corrigé, j'ai rencontré encore quelques bugs, mais tout s'est enchainé à peu près correctement jusqu'à l'écran 21. J'ai pas mal galéré, là encore, je n'ai pas compris d'où venait l'erreur au début, jusqu'à ce que je m'aperçoive d'une première erreur dans mes données. Je corrige, je mets à jour mes disquettes, puis je tombe sur une autre erreur. Là, j'ai décidé de coder un outil dans mon éditeur pour détecter ces erreurs à la génération des fichiers pour gagner du temps. Et j'ai bien fait, car il y avait ce type d'erreur dans 3 autres tableaux !

    Une fois ceci réglé, l'écran 21 s'est bien déroulé et j'ai enfin pu déroulé l'écran 22, tout se passe bien, l'écran 23 devait m'amener dans une taverne et j'atteris dans la bibliothèque ! 



    Ca n'est pas très grave, je me suis juste mélangé dans mes références entre mes différents tableaux, ça sera vite corrigé. En tout cas, ça avance, le moteur tourne quand même bien, même s'il m'a fait quelques frayeurs. J'espère que tout se passera bien sur mes plus gros tableaux avec beaucoup de dialogues, sinon ça voudra dire que je devrais les morceler.

    Donc je reste confiant pour la suite, je tiens le cap !
 

Commentaires

  1. Excellent mon cher Eric , une aventure dans l’aventure dis donc ! Merci pour ces retours où je t’imagine très bien en mode blême devant ton écran devant le peu de mémoire restante … ! Ça a du te rappeler des souvenirs lointains :-)

    Bien à toi

    RépondreSupprimer

Enregistrer un commentaire

Posts les plus consultés de ce blog

Crocofest 2025 : Manque de préparation !

The memory remains !