đź’» Picotron (et Tic-80)

 

 

Picotron vient de sortir le 14 mars dernier. Il s'agit de la nouvelle « console imaginaire » de Lexaloffle, qui avait dĂ©jĂ  rĂ©alisĂ© PICO-8 dans un genre similaire. Celle-ci offre moins de limitations que son ancĂŞtre, tout en gardant un aspect retro et 8-bit du plus bel effet.

 

Est-ce un OS ? un kit de dĂ©veloppement de jeu ? Une oeuvre d'art ? Un outil multi-fonctions ? C'est un peu tout cela Ă  la fois...

 

Il présente une interface où tout est intégré pour créer des images, des lutins ("sprites"), des sons et instruments, des musiques, des cartes de jeu, ainsi que pour l'édition de code, et le bureau pourrait évoquer un système opératif pour machines du passé, à l'instar de SymbOS qui tourne sur Amstrad, MSX et ZX Spectrum Next.

 

Ses caractĂ©ristiques sont les suivantes :

 

Affichage : 	480x270 pixels / 64 couleurs
Audio : 	    SynthĂ©tiseur 64 nĹ“uds et tracker 8 canaux
Code : 	        Lua 5.4 avec compatibilitĂ© PICO-8
Cartouches :    .p64.png (256k ROM data) / .p64 (sans limites)

 

Il est possible d'éditer le thème général du bureau, ainsi que de programmer en lua le papier peint animés et les économiseurs d'écran. Il y a également un système de fichiers virtuels avec disque RAM et cartouches montables.

 

Les jeux peuvent se lancer en mode fenêtrés ou en plein écran, et il y a une compatibilité au niveau de l'API avec les jeux PICO-8, il est donc envisageable d'adapter assez facilement un jeu de l'ancien système pour le faire tourner dans une fenêtre de picotron, certains l'ont déjà fait (moi y compris, mais il reste encore des bugs, à la fois dans mon code et dans celui de picotron).

 

L'« Ă©volution », toutes proportions gardĂ©es, vis Ă  vis de PICO-8 est notable. Je trouvais ce dernier trop petit, et TIC-80, que l'on verra plus bas, Ă©tait plus intĂ©ressant.

 

Pour comparaison, les caractĂ©ristiques de PICO-8 :

 

Affichage :		128x128 16 colours
MĂ©moire : 		32k
Sons :      	4 canaux
Code : 			Lua + Api spĂ©cifique
CPU :  		    4M vm insts/sec
Sprites :		256 8x8 sprites
Carte : 		128x32 tuiles

 

C'est une version alpha (la 0.1.0b), aussi il substiste encore des petits problèmes, mais le projet est très prometteur. PICO-8 a su réunir une importante communauté de développeurs et d'enthousiastes, et il n'y a pas de doute que Picotron va profiter de l'expérience de ceux-ci.

 

Une petite cartouche utilisable en ligne :

 

https://www.lexaloffle.com/bbs/?tid=140919

 

Picotron n'est pas libre malheureusement, à l'instar de son ancêtre PICO-8. J'avais un peu délaissé PICO-8 pour me mettre sur TIC-80, qui a des limitations moins sévères que PICO-8 et surtout qui est complètement libre (licence MIT). Picotron lève encore ces limitations, tout en restant dans l'esprit d'une console des années 90, ce qui reste stimulant pour les adeptes du retrogaming et de l'esprit demoparty.

 

Quand j'ai entendu parler de Picotron, je n'étais tout d'abord pas intéressé, préférant rester sur TIC-80, mais je dois avouer que c'est tellement bien réalisé que j'ai craqué et j'ai acheté direct. Le générateur de sons notamment m'a bien bluffé, avec ses divers effets et ses sons FM, et j'ai bien l'intention de l'utiliser pour composer quelques musiques sur le tracker intégré, à défaut de programmer des jeux avec...

 

Autant certains logiciels propriétaires sont assez dégoûtants et je n'y toucherais pas même avec un bâton (photoshop, suite ms office), autant celui-ci reste enthousiasmant, car on peut travailler sur un écosystème où la plupart des codes de jeux sont publiés et ouverts. Le fait que l'outil ne soit pas libre, je vois plus cela comme un moyen qu'a trouvé Zep de pouvoir développer PICO-8 et Picotron à temps complet. Je trouve ça un peu dommage, mais je me demande quel autre modèle économique il aurait pu développer pour pouvoir en vivre comme il le fait.

 

En parlant de ça, et pour revenir à TIC-80, j'ai contribué pour ce dernier à hauteur de ce que j'ai payé Picotron, pour faire bonne mesure.

 

Et autant pendant un moment le dĂ©veloppement de TIC-80 Ă©tait erratique, autant depuis quelques annĂ©es on sent qu'il a le vent en poupe, Ă  la fois de la part de "Nesbox", le dĂ©veloppeur principal, mais aussi de la part de l'Ă©quipe qui s'est constituĂ©e autour de lui. Ainsi, mĂŞme si tout le monde ne contribue pas Ă  la mĂŞme hauteur, il y a en tout 114 dĂ©veloppeurs et dĂ©veloppeuses diffĂ©rents qui y ont contribuĂ©, dont une vingtaine on dĂ©passĂ© la dizaine de commits !

 

Je rappelle ici les caractĂ©ristiques de TIC-80 :

 

 affichage : Ă©cran de 240 × 136 pixels, palette de seize couleurs ;
 entrĂ©es : deux contrĂ´leurs de jeu avec huit boutons, la souris est optionnelle ;
 sprites (Ă©lĂ©ments de base) : 256 sprites en premier plan (taille 8 × 8) et 256 sprites en arrière‑plan (taille 8 × 8) — il est possible de combiner ces sprites pour en rĂ©aliser de plus grands, mais cela en diminue d’autant le nombre maximum ;
 carte (de jeu) : cellules de 240 × 136 pixels (par Ă©cran) et 1 920 × 1 088 pixels maximum ;
 sons : quatre canaux avec des ondes sonores configurables ;
 code : 64 Kio maximum (512 Kio dans la version « pro », qui est libre Ă©galement, mais qui sert surtout Ă  aider le dĂ©veloppeur) ;
 Programmation en Lua, MoonScript, JavaScript, Wren, Fennel, Squirrel, Ruby, Janet, Scheme et Python.

 

Enfin, c'est une des rares consoles imaginaires à proposer autre chose que l'habituel Lua, en ayant rajouté ensuite MoonScript, JavaScript, Wren, Fennel, Squirrel, Ruby, Janet, Scheme et Python. Même si je n'apprécie pas Python et que je trouve Lua plus adapté, ce dernier intéressera sans doute du monde quand même...

 

On peut toujours espérer un jour voir le language FORTH rajouté dans cette déjà longue liste...

 

En attendant, vous pouvez faire les excellents exercices du Tiny Code Christmas, sous forme de challenges, avec des exemples entre TIC-80 et PICO-8, c'est ludique et instructif.

 

 

Page d'accueil de Picotron (sur le site lexaloffle)

Page d'accueil de TIC-80

 

Tiny Code Christmas

 

Liste de consoles imaginaires

Love2d, un autre moteur de jeu en Lua...

 

 

#informatique

#blog

 

↩️ Index Gemlog

🏠 Index Accueil