💾 Archived View for gem.ortie.org › gemlog › 2024-03-22.gmi captured on 2024-06-16 at 12:17:11. Gemini links have been rewritten to link to archived content

View Raw

More Information

⬅️ Previous capture (2024-05-10)

-=-=-=-=-=-=-

đź’» 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