Projets perso

Créations et autoformations créatives personnelles en informatique.

https://alchiweb.fr/herve/projets-perso/

projets perso

Découverte de la programmation grâce au BASIC

C’est à l’âge de 9 ans que, grâce à mes parents et à mes frères plus âgés, j’ai découvert les débuts de la micro-informatique. C’était fascinant de voir tout ce qu’on pouvait créer, grâce à la programmation en BASIC. Je me souviens des programmes à recopier à partir d’un hebdomadaire, et à sauvegarder sur cassettes… c’était toute une époque !

https://alchiweb.fr/herve/projets-perso/basic/

Premier programme en C : Abalone

J’ai eu la chance de pouvoir utiliser un PC dès le début de l’année 1988, ce qui m’a permis d’explorer les possibilités offertes par cet ordinateur. J’ai d’abord appris à utiliser le MS-DOS et puis mon père m’a donné des outils pour programmer en langage C, pour l’été 1989… L’attrait de la programmation était si fort que je m’y suis mis.

Résultat : j’ai créé le logiciel Abalone en C, pour MS-DOS (en 640×480 16 couleurs, avec la souris).

https://alchiweb.fr/herve/projets-perso/premier-programme-en-c-abalone/

Programmation sur calculatrice

Comme beaucoup, j’ai eu une calculatrice… et j’ai voulu l’utiliser pour programmer. J’ai essayé de faire le maximum que je pouvais, avec le petit BASIC qu’il y avait. Par exemple, j’ai fait :
Master Mind
Donjon : un labyrinthe en pseudo-3D (en mode graphique)
Démineur : comme le démineur qu’on retrouve sous Windows (en mode graphique)
Font Editor : un éditeur de polices de caractères (en mode graphique)

https://alchiweb.fr/herve/projets-perso/programmation-sur-calculatrice/

Premier programme en C++ : Relief

Pendant l’année scolaire 1993/194 à l’IUT d’informatique d’Orsay, on n’a pas appris le C++, puisqu’il fallait d’abord maîtriser le C. J’étais trop curieux pour attendre d’apprendre la programmation orientée objet, et c’est pourquoi j’ai profité des vacances d’été pour faire du C++.
Les stéréogrammes étaient alors à la mode, et dans un numéro de SVM (Sciences et Vie Micro), il y avait un programme fait en Pascal permettant de créer un stéréogramme, avec une formule mathématique.

Je me suis dit que ça serait intéressant de créer un logiciel permettant de faire toutes sortes de stéréogrammes :
– pour le motif en 3D : soit une formule mathématique, soit un fichier image dans lequel chaque couleur définit une profondeur
– pour le motif répété : soit un motif pseudo aléatoire, soit un fichier image en 256 couleurs.
Petite remarque : Relief affiche des stéréogrammes en 256 couleurs, jusqu’à la résolution de 1024×768 pixels.
C’est ainsi que j’ai créé la classe “StereoGramme”, ma première classe dans un langage orienté objet.

https://alchiweb.fr/herve/projets-perso/premier-programme-en-c-relief/

Jeu sous Director : Abalone

Après mes différentes expériences en programmation,, j’ai pensé qu’il serait bien de créer des applications multimédias, très intuitives et ergonomiques pour l’utilisateur final. La programmation en C++ sous Windows offrait à l’époque, très peu de facilités pour construire de telles applications, simplement.
C’est la raison pour laquelle je me suis tourné vers le logiciel Macromédia Director, qui sert pour la création de programmes multimédia (par exemple, il y a beaucoup de logiciels culturels et ludo-éducatifs).

J’ai manipulé Director, et j’ai eu la surprise d’y trouver un langage de script (Lingo), permettant de programmer certaines choses.
Je me suis lancé le défi de faire le jeu d’Abalone, sous Director, de telle sorte qu’il soit ergonomique et attrayant. C’était l’occasion d’ajouter au jeu la réflexion de l’ordinateur, en me basant sur mes cours de maîtrise concernant l’intelligence artificielle.
Malheureusement, la vitesse de réflexion de l’ordinateur n’était pas optimale… ce qui est logique, étant donné que Lingo n’est pas un langage fait pour ça : la puissance de Director se situe dans tout ce qui est multimédia.
D’ailleurs, un peu plus tard, j’ai commencé à faire un jeu d’aventure original, sous Director. Malheureusement, ce projet n’a pas abouti, pour diverses raisons.

https://alchiweb.fr/herve/projets-perso/jeu-sous-director-abalone/

Jeu sous BeOS : aba_Be_lone

C’est en mai 2000 que j’ai installé BeOS 5 sur mon ordinateur. C’était la première fois qu’un système d’exploitation vraiment multimédia et facile d’utilisation, devenait accessible gratuitement au grand public. J’ai alors compris que BeOS était le système d’exploitation dont j’avais toujours rêvé.
Voulant vérifier par moi-même la facilité de programmer des applications multimédias sous BeOS (en comparant à Windows ou Unix), je me suis lancé dans une adaptation d’Abalone pour BeOS, en C++.

Mes objectifs étaient d’apprendre à programmer sous BeOS, et d’aboutir à une version informatique d’Abalone, d’une grande qualité (ergonomique, rapide, modulaire,…).
Enfin, je pouvais concilier le côté multimédia et ma maîtrise du C++.

https://alchiweb.fr/herve/projets-perso/jeu-sous-beos-ababelone/

Premiers pas en Squeak

Grâce à la revue Login:, j’ai été attiré par un langage dérivé de Smalltalk, un langage purement objet : le Squeak. C’est réellement étonnant de découvrir un langage très puissant, entièrement objet (contrairement au C++), et qui permet de créer des applications multimédias très conviviales. Il est à noter que des enseignants ont compris l’intérêt pédagogique de Squeak, qui intègre des objets résolument tournés vers une utilisation pédagogique et multimédia (les E-Toys)

https://alchiweb.fr/herve/projets-perso/premiers-pas-en-squeak/

Adaptation de Skweek pour mobile (en Java)

J’ai commencé à adapter le jeu Sweek (très connu du temps de l’Amiga et de l’Atari ST) pour mobile. Le moteur du jeu, en JavaME avec le framework de InFusio marchait bien sur mon Sagem myX6, mais je n’ai pas eu le temps de le terminer. J’ai pu quand même intégrer les graphismes originels, car j’ai contacté l’auteur du jeu pour avoir les sources (j’ai signé une clause NDA).

A titre d’illustration, le fichier source Java est disponible ici (sans les ressources).

https://alchiweb.fr/herve/projets-perso/adaptation-de-skweek-pour-mobile-en-java/