Description

Mise à jour à venir.

Sur la bonne voie??

Enfin l'automne est arrivé. Fini les belles chaleurs, les BBQ, la piscine. Bonjour le désir de pitonner sur l'ordi avec un petit café à ses côtés. Et hourra pour un des petits monstres qui a recommencé la garderie. Avec la fraicheur automnale et un peu plus de temps à soi, les idées, les solutions, les plans d'attaques et surtout, la motivation reviennent.  Mais suis-je pour autant sur la bonne voie?

Je me suis attaqué à mon problème d'affichage des images en utilisant OpenGL. La dernière fois, j'avais pas mal terminé le gros de la refonte de ma classe principale de chargement des images mais lors des tests, il ne se passait rien. Ma technique était basée sur celle utilisée par Sanglard et elle avait le défaut de ne pas dessiner les images de la même manière dépendamment de la version de java utilisée. J'ai donc trouvé sur le web un exemple utilisant LWJGL écrit par Kevin Glass qui semble correspondre à mes besoins. Dans son code, il y a une section qui convertit les images chargées dans le bon format pour OpenGL. J'espère que cette conversion réglera le problème de l'affichage inconsistant. J'ai à nouveau fait une refonte de la classe de chargement des images. J'ai déjà fait un test ou deux et j'avoue que ça n'a pas marché. Le problème semble se produire quand vient le temps d'afficher l'image, à ce moment, java pointe sur un objet null. De plus, avec la technique de Glass, le chargement des images est long, trop long. Ça va pour les petites images mais pour mon background, j'utilise une scène spatiale qui est une grande image dont seule la portion visible sera dessinée. Le chargement de cette image ne prend pas loin de 30 secondes à elle seule. Je ne m'acharnerai pas trop sur ce problème car à mon avis, s'en est un d'optimisation. Je suis quand même allé voir sur le web, et il semble y avoir un consensus général qui dit que c'est une très mauvaise idée d'utiliser d'énormes images pour des arrière-plans. Il est préférable de séparer l'image en plusieurs petites. Comme un casse-tête. Ainsi, on dessine les images que l'on a besoin, et la même petite image peut être utilisée à plus d'un endroit à la fois. Ce qui diminue la charge sur les composants vidéo. Plus tard, j'optimiserai mes backgrounds pour qu'ils utilisent cette technique.

Une autre chose que je désirais faire et qui a bien avancée, est une petite application Excel qui extrait les données emmagasinées dans le fichier hprof généré par le profileur java. Ça serait déjà terminé si je n'avais pas eu la fantaisie d'ajouter une section qui gère les fichiers .bat (commandes DOS). J'ai toujours trouvé que c'était pénible à gérer ce genre de fichier. Ainsi, avec cette application, je pourrai avoir plusieurs fichiers de commandes sous la main selon que je veuille faire rouler le programme en mode profilage, avec optimisation du GC ou en mode production. Et les graphiques Excel montreront l'état de la mémoire de la JVM, les classes et méthodes les plus utilisés, etc.  En plus, cette application est indépendante du programme, ce qui veut dire qu'elle peut fonctionner avec tout programme java.

Afin de poursuivre mon cheminement en informatique, je me suis finalement réinscris à un cours à la TELUQ. Au début je voulais suivre un cours sur les bases de données, mais ça fait au moins 100 ans qu'il est indisponible. Il était sensé être prêt pour l'automne mais il ne l'est pas. J'ai donc pris, un peu à contrecœur, un cours sur l'intelligence artificielle. Et, à bien y repenser, ce cours me sera 10 fois plus utile pour mon projet que les DB. Enfin j'espère, car j'ai lu les premiers chapitres et je trouve que ça date un peu, que l'approche démontrée est du genre : poser une question à l'ordi et il répondra adéquatement. Ce n'est pas très impressionnant. Il s'agit juste de monter une DB et de l'interroger. Et selon certaines règles préprogrammées, l'ordinateur fournira une réponse ou une autre question. Un système expert, quoi.  J'envisageais plus la simulation des comportements humains. Par exemple : le chasseur et la proie. Comment décrire leurs comportements pour que l'interaction entre eux soit plausible. Comment faire pour que le chasseur pose des pièges pertinents et que la proie ne tombe pas nécessairement dedans à tous coups ? Ou plus modestement, la proie se sauve en x,y , le chasseur converge alors vers x,y aussi. Sauf que si la proie est en mesure de menacer le chasseur, celui-ci se met à l'affut jusqu'à ce qu'une possibilité de capture se présente. Le cours ne semble pas traité de ce genre de choses. Mais ce n'est pas grave, c'est un cours de base dont je pourrai certainement utiliser les préceptes pour les comportements de mes Sprites.

Et finalement, juste une chose : free sex. Ha, ben non, c'est une blague. C'est juste pour que les moteurs de recherche me trouvent plus facilement. Sérieusement, j'ai pensé à mon projet de fin de certificat. Un éditeur de niveau. Faire un jeu fonctionnel me paraît irréaliste étant donné les problèmes qui me reste à surmonter et le temps que je peu y consacrer. Mais un éditeur de niveau me sera très utile, et me semble assez complexe pour être un projet valide. Il faudra juste convaincre mon futur tuteur. Comment ??? Free sex !

Commentaires