Traduction en anglais

Le challenge de l’année 2020 sera de traduire tout le contenu affiché à l’écran de l’hubibox également en anglais. Je commence à mettre en place dans le programme un système multi-langue.

Ce processus va être très long ! L’air de rien la totalité du programme contient de nombreuses phrases à traduire ! Comme cela est un peu fastidieux et demande de multiples tests, je ferai au fur et à mesure.

Je m’attaquerai ensuite à la traduction des diaporamas, textes et etc…

Coloriage

J’ai ajouté au jeu ‘dessiner’ la possibilité d’afficher un modèle de dessin et de le colorier. L’algorithme de remplissage est optimisé pour être rapide sur une tablette. En fait le programme utilise un post traitement en générant un fichier qui sera utilisé avant les opérations. J’ai aussi utilisé mon logiciel de traitement d’images pour optimiser le fichier png du modèle à colorier et conserver uniquement des contours très foncés – noirs.

Enfin sur tablette android !

Après des semaines de recherches et des échanges avec les équipes techniques d’AppGameKit, l’Hubibox fonctionne sur une tablette android. Une avancées importante pour le projet !

Du coup je reprends le code et effectue quelques aménagements pour un meilleure intégration tablette. Puis je teste. Je voudrais en profiter pour corriger progressivement certains bugs.

Je suis satisfait de la réécriture récente d’une partie de l’algorithme du jeu Bubble, cette fonction récursive de détection des éléments en grappe à effacer n’était vraiment pas au point ! Puis je me suis ensuite attaqué à la correction des mouvements des ‘dominos’ du jeu Tetrixe et c’est maintenant parfait (jusqu’au prochain bug détecté !).

Le tour des machines et systèmes.

Depuis le début de ce projet, j’essaye le programme sur des plateformes différentes. L’idée est de trouver la moins onéreuse, la plus petite, pratique et performante. Ce qui correspond à des heures de recherches souvent infructueuses et décevantes. Ce n’est pas le plus fun. Bilan de mois de tests.

Windows.

Celui qui convient le mieux c’est Windows. C’est de loin le plus souple, le plus complet, et de tous le plus expérimenté. De plus, le matériel est toujours bien reconnu. La licence de Windows est certes payante, mais elle se retrouve sur d’ancienne machine et ne coûte plus rien. L’ordinateur contenu dans le meuble de la borne physique n’est pas le plus récent mais tenait parfaitement la route sous son Windows 7. Je l’ai passé sous Ubuntu, Windows 7 ne recevant plus de correctifs. Windows c’est du plug’n play, du solide. Le programme était même exécuté directement depuis la clef USB ! Sur l’ordinateur Tablette tout en un, c’est vraiment super sympa. Ce type d’ordinateur à écran tactile n’a pas trop fonctionné commercialement parlant, c’est bien dommage.

Linux.

Sur le meuble borne, au début Ubuntu ne parvenait pas a arrêter la machine. Mais finalement un correctif y parvient maintenant. Sous Linux, le programme de l’Hubibox ne peut lire les vidéos sans lancer un logiciel tiers, le lecteur VLC. Vraiment dommage et déçu. Cela fonctionne mais n’est pas très esthétique. L’utilisateur peut quitter l’application en cours de route par inadvertance. L’OS est très stable et l’interface plaisante à utiliser. Ensuite il faut toujours aimer taper des lignes de commandes pour mettre à jour le système de temps en temps. Linux reste quand même un système rarement utilisé en grand public.

Installé sur le Raspberry PI4, c’est un pétard mouillé, çà décolle pas vraiment car la carte est trop nouvelle et je n’ai pas une version AppGameKit suffisamment finie pour me convaincre de réaliser tout en open source. Encore la vidéo à lancer avec VLC et c’est encore plus bidouille. La carte chauffe et je ne suis pas parvenu à lancer l’application. Et Zut. Tout placer dans une petite boîte juste à relier à la TV, l’idée était très séduisante.

Android.

En ce qui concerne Android, le système est très bon pour gérer les dispositifs tactiles et se perfectionne au fil des années. Ensuite les différents systèmes de sécurité et la gestion des fichiers ne facilitent pas la résolution des problèmes lors du développement. Quelquefois, il peut y avoir une mauvaise surprise et un sacré défi à relever.

Ainsi sur ma tablette chinoise 10 pouces achetée pour le développement, je me suis vu des pierres et pas mal de désillusions avant de parvenir à une résultat finalement prometteur. Ouf !

Sur les box Google ou Android TV le programme tourne encore mieux. Le matériel embarqué est souvent beaucoup plus puissant. Cela pèche toujours sur la quantité de RAM ou la possibilité de retenir l’heure (pas de réseau WiFi, pas de RTC donc pas de date et d’heure hors connexion !). Mais je vois que les configurations commencent à s’étoffer au fil du temps. En plus elles décodent de plus en plus facilement les vidéos. Il est a noté que ma box UGOOS de 2Go de Ram possède un module RTC intégré.

Bilan

Jamais de solution miracle Sous Android le matériel géré est séduisant par son coût, sa compacité et sa gestion du tactile. Bien souvent en cours de développement des mauvaises surprises peuvent surgir . Windows convient le mieux, mais le matériel tactile comme les tablettes ne possèdent plus l’OS, ce qui est bien dommage. Linux apporte toujours une grande stabilité et la promesse d’un tout open source, mais la distribution d’AppGameKit n’est pas encore tout à fait adaptée à ce nouveau Raspberry 4.

3d vers 2d

Pour le jeu ‘Volconian’ j’ai construit un modèle 3D. Il est ensuite animé et rendu en 2d. J’ai repris en main Lightwave, j’en ai profité pour améliorer certains graphismes des jeux de l’hubibox. Au passage j’ai corrigé certaines parties du code. J’ai également revu mes quatre dernières productions musicales…

J’ai reçu le PI4. Il chauffe pas mal malgré le dissipateur thermique et pour l’instant impossible de lancer une application AGK. Il devrait y avoir une mise à jour du logiciel en septembre.

Comment une nouvelle partie est ajoutée au programme de l’Hubibox

Dans un premier temps, je réfléchis à l’algorithme du programme et effectue des recherches. Ensuite je commence à produire les premiers graphismes. Ils sont dérivés des précédents, pour coller à l’aspect général.

Ces éléments en main j’écris la structure de base du code de cette partie qui est directement incluse dans le code existant de l’Hubibox. Je tends alors de plus en plus vers mon idée en écrivant de plus en plus des lignes de code. Je teste petit à petit le fonctionnement, débusque les bugs les plus déroutants. Trouve des solutions pour un bon fonctionnement de l’ensemble. Généralement je peaufine ou j’ajoute des graphismes.

J’essaye toujours d’aller à l’essentiel. Je suis seul pour réaliser mon idée, et souvent de nombreuses heures sont nécessaires. J’entrecoupe souvent ces séances de réalisations. C’est mon véritable boulot qui fait la coupure. Et au final certaines journées sont très longues. Le tout est de pouvoir terminer l’idée, la partie concernée. De nombreux développeurs amateurs se lancent des défis trop importants et ne terminent jamais leur projet.

La musique est produite en cours de réalisation. Elle aide et encourage la création. Une fois écrit le code est à tester de nombreuses fois. L’ordinateur insulte de ses messages signalant les erreurs. Le débogage n’est pas facile, comprendre ce qui cloche et converser avec un ordinateur demande beaucoup de pratique et de sang-froid. Cette étape fastidieuse est plus agréable lorsque la musique est en place. Dans d’autres parties comme les diaporamas je produis la musique à la fin.

Tout ce temps passé, est du temps de ma vie. Et j’ai beaucoup de choses à faire. Ce ne semble pas être un gros projet et pourtant il consomme des heures. Comme c’est le travail d’une seule personne. Il me ressemble. Un programme d’auteur.

Le Raspberry 4 est sorti

La célèbre ‘carte ordinateur’ est mise à jour et je la testerai en embarquant le programme de l’Hubibox. Le processeur central est plus rapide, le processeur vidéo également, mais ce qui m’intéresse plus particulièrement c’est la Ram. Ainsi j’ai opté pour une carte de 4 Go contenue dans un petit boitier. Elle est déjà en rupture de stock. Je l’ai commandé en vue de tests en septembre. Le programme ne lisait pas les vidéos sur les précédentes versions. Espérons que je trouverai une solution pour combler cette lacune.