Articles

A fond dans le moteur !

Image
        Les amateurs de mécanique automobile, reconnaîtront avec ce gif animé en illustration, le moteur Wankel que l'on désigne abusivement comme moteur rotatif. C'est un moteur très intéressant sur le papier mais dont la mise au point a été une véritable plaie et bien des constructeurs s'y sont cassés les dents (Coucou Citroën !!). Mais trêve de métaphore mécanique, cela fait 8 jours depuis mon dernier billet qui ne disait en plus pas grand chose sur mon avancement !     J'ai décidé de simplifier mon moteur en fixant quelques limites raisonnables. En effet, j'avais au départ réfléchi à un format de fichier pour décrire mes dialogues avec des choix avec une zone texte en mode 2 en bas de l'écran. A présent, nous sommes en mode 0, et même si la librairie de RetroPoke me permet d'afficher 37 caractères sur une ligne, la place reste un peu plus limitée. J'avais donc à l'époque considéré que sur une seule ligne de mon fichier, je pouvais indiquer plusie

Seulement les ventilateurs !

Image
      L'occasion était trop belle de faire une allusion à ce site web bien connu ! Voici enfin la chaleur estivale que tant de personnes attendaient dans le sud ! De mon coté, par contre je ne l'attendais absolument pas et je me réjouissais de son retard par rapport aux années précédentes !     Mais voila, elle arrive avec donc son cortège de contraintes :  les ventilateurs et leur bruit les stores à fermer assez tôt pour ne pas laisser rentrer la lumière et la chaleur laisser les velux ouverts la nuit en espérant qu'il n'y ait pas d'orage Le bruit continu des ventilateurs est pour moi une gêne, mais ce n'est pas le pire. Le pire c'est la chaleur la nuit, avoir une chambre dont la température monte à 28°C est franchement pénible et engendre forcément beaucoup de fatigue. C'est pour ça que j'espère que la chaleur sera moins forte cette année.      Quoi qu'il en soit, je continue de bosser sur mon moteur, je fais en sorte de le revoir pour intégrer

Happy Progress day !!!

Image
      Décidément, je fais de la publicité pour la série Arcane, à la moindre occasion ! "Happy progress day !!" est une réplique de cette série ! Je ne vais pas vous raconter l'épisode, pour ne pas vous spolier la découverte de cette série.      Je voulais juste vous rassurer sur le fait que je progresse à nouveau sur le moteur. J'obtiens enfin des résultats tangibles à l'écran. Il reste encore des choses à corriger, à améliorer mais ça avance enfin ! Par contre visuellement, je n'ai pas grand chose à montrer de neuf ! Le fait est que j'avais des exemples faits auparavant avec des valeurs en dur, m'avait permis de faire des screenshots convaincants.     Donc à présent, je lis un fichier qui contient 2 structures de données différentes en un seul fichier. C'était un pré-requis important pour réduire le nombre de fichiers différents produits pour chaque tableau. Il me reste encore quelques fonctionnalités à développer sur ce moteur avant de pouvoir f

Oh Hisse

Image
          Décidemment, je suis dans les métaphores maritimes en ce moment ! C'est bizarre pour un montagnard comme moi ! Bon après, je me qualifie de montagnard de part mon enfance, alors qu'en définitive, J'ai certes vécu mes 18 premières années en Lozère, mais j'ai vécu les 30 suivantes, à Montpellier, en Gironde et à Montauban ! J'ai donc passé plus de temps en dessous des 60 mètres d'altitudes qu'à mes fort modestes 600 mètres initiaux !     Mais assez parler de ma vie, sinon je n'aurai plus rien à raconter en début de stream ! 😉  Le fait d'avoir réduit le périmètre du projet m'a redonné un peu de motivation pour faire marcher ce moteur ! Jusqu'à présent, je bloquais à cause d'un véritable sac de noeuds de dépendances qui faisait que chaque avancée semblait ne jamais rien changer à l'avancement global !          Finalement, mon coup de sabre dans ce noeud gordien était nécessaire. Je ne doute pas qu'un bon programmeur s'e

Réduire la voilure !

Image
      Cela fait un moment que je galère sur ce moteur de jeux ! Je dirais même que ça fait trop longtemps ! J'ai beau me creuser la tête, je n'arrive pas à trouver comment diminuer significativement la longueur du code de ce moteur ! J'arrive à 16 ko de code source, et le moteur n'est toujours pas terminé ! Je dois garder de la mémoire disponible pour pouvoir charger les écrans, et même les fichiers de données. La complexité du moteur, vient en premier lieu du fait qu'il gère 2 types d'écrans :  Les écrans à choix multiples Les écrans à saisie libre      C'est ce deuxième type d'écran qui est le moins avancé dans mon moteur. Il est évidemment plus complexe à gérer. Même si l'algorithme n'est pas très compliqué dans le principe, son implémentation en BASIC du CPC, entraine beaucoup de code supplémentaire. Ces écrans amènent la nécessité de créer un très grand nombre de tableaux supplémentaires. Comme je l'ai déjà expliqué, quand je définis une

Est-ce que c'est dans le contrat ?

Image
      En théorie de l'informatique, on utilise ce que l'on appelle des paradigmes. Il existe plein de paradigmes différents actuellement. Les paradigmes consistent à volontairement limiter les possibilités offertes par le langage de programmation afin de rendre celui-ci plus intelligible et maintenable. Ainsi, lorsque l'on respecte le paradigme de la programmation structurée, on s'interdit d'utiliser l'instruction GOTO. Certains langages supportent nativement plusieurs paradigmes, par contre notre bon vieux BASIC du CPC ne facilite pas vraiment la tâche. En même temps, le CPC est sorti en 1984 !     Ce n'est qu'en 1985 que Bertrand Meyer a présenté un nouveau paradigme : la programmation par contrat par le biais de son langage Eiffel. Pour simplifier, ce langage permettait au programmeur de rajouter des instructions dédiées permettant d'arrêter l'exécution si jamais une condition ou plusieurs conditions ne sont pas vérifiées. Il était bien sur po

Tout ce qu'on fait compte !

Image
  Dans un projet sur CPC, il y a toujours un moment où l'on tombe sur un éceuil : La mémoire ! Dans l'informatique depuis ces 20 dernières années, on a pris la mauvaise habitude de ne plus regarder à la dépense en termes de mémoire, amoins de travailler sur des volumes colossaux, en général notre PC est capable d'encaisser des codes long de plusieurs méga octets sans sourciller. Mais sur notre CPC sorti en 1984, il en va bien évidemment autrement ! Lorsque l'on stocke en mémoire, du texte, chaque lettre représente un octet. Et nos 41 kilo octets disponibles en Basic, sont vite consommmés si l'on prend de mauvaises décisions ! Ainsi, pour stocker les objets entreposés dans les différents lieux du monde, j'avais prévu de créer un tableau de chaîne de caractères et de concaténer dans chaque case correspondant chacune à un tableau, les identifiants des objets présents. La forme aurait été pour me simplifier la vie 00035;00046;00008; Cela consomme évidemment plus de