Utilitaires
Scripts
Divers
Jeux
Rechercher
Quillevere.net
Réflexions informatiques

Pico-8 et les consoles imaginaires

20/02/2021
Pico-8 est une fantasy console, que l'on peut traduire par "console imaginaire". Petit tour d'horizon de ses fonctionnalités.

Les Fantasy Console

Si l"on schématise l'évolution d'une console de jeux classique, celle-ci est imaginée, construite et distribuée par une société, les jeux sont commercialisés à part, par le constructeur lui-même et plusieurs éditeurs de jeux. Les support des jeux sont sous la forme de cartouches, CD, DVD, Blu-ray ou tout simplement via un téléchargement.

Le temps passant, la console est délaissée par la plupart des joueurs et le constructeur, au profit d'un nouveau modèle plus avancé. Vient alors l'heure de l'émulation. Des développeurs passionnés et talentueux s'affairent à reproduire par la programmation la partie matérielle et logicielle de l'appareil. Le but est toujours le même : faire fonctionner le plus fidèlement possible la logithèque (jeux, utilitaires...) depuis une autre machine que celle d'origine.

Avec les Fantasy console, le processus est volontairement inversé : on est dans un logiciel (un pseudo émulateur) qui simule une console qui n'a jamais existée. Il s'agit concrètement d'un environnement visant à créer et imaginer un petit univers. Celui-ci est bridé volontairement afin de se concentrer sur l'essentiel : le plaisir de construire et de jouer. Pour cela, les Fantasy Console ne s'embarrassent pas de graphismes poussés ni de musiques enveloppantes : elles imitent les technologies des années 1980-1990, l'âge d'or de la micro-informatique.

Pico-8 est l'une de ces premières consoles imaginaires et est proposée depuis fin 2014.

Présentation de Pico-8

Pico-8 est développée par la société Lexaloffle et plus particulièrement par Joseph White. Malgré des dehors simplistes, elle présente un environnement riche doté de plusieurs interfaces, présentées ci-dessous.

Un mode exécution

Celui-ci gère le rendu et peut être traité par un exécutable Windows, Linux, Mac OS mais aussi via un navigateur. Ce mode donne l'apparence de n'importe quelle console, avec, au démarrage, une petite musique d'intro, un petit effet graphique volontairement oldschool, comme sur une console. Puis l'affichage d'un numéro de version sur fond noir rappelle le démarrage d'un ordinateur. Enfin, le logiciel souhaité démarre normalement. Les interactions avec le clavier sont également limitées, car seulement les touches fléchées et 1 à 3 touches de fonctions sont reconnues.

Seul ce premier environnement est gratuit et tout un chacun peut donc jouer sur Pico-8. Pour les autres, il faut utiliser la version payante mais qui est d'un tarif très abordable (environ 12 euros en 2021).

Jeu sous Pico-8

Un mode création de logiciel

Plusieurs éditeurs existent pour coder, créer des sprites, créer la carte du jeu, paramétrer les effets sonores, faire du soundtrack... Les éditeurs proposés, en apparence simplistes, sont assez poussés pour faire de l'auto-complétion, utiliser la souris pour naviguer et scroller, faire de la reconnaissance syntaxique. Ce mode est en fait un environnement complet de création du jeu pour Pico-8 . Rien de plus n'est nécessaire pour créer un jeu sur Pico-8 !

Éditeur de sprites

Un interpréteur de commandes

Ce mode est accessible dès le démarrage et permet de saisir des commandes spécifiques à Pico-8, comme sur un shell classique.

La commande HELP liste les commandes disponibles. Elles permettent de charger un jeu, de l'exécuter, de parcourir les fichiers, de faire des exports (avec la génération d'exécutables ou d'exports web),de redémarrer le système...

On a vraiment l'impression d'être sous un shell Dos ou Linux, mais ici aussi simplifié et dédié aux besoins de l'environnement.

Console

Un explorateur de logiciels

Splore permet d'explorer la logithèque de Pico-8.

En tapant simplement "splore", la liste de tous les logiciels s'affiche, avec une capture d'écran. D'une simple validation, le logiciel sélectionné est téléchargé et se lance.

Splore

La partie technique de Pico-8

Le programmeur peut écrire son code sous Pico-8 en Lua, un langage proche du BASIC et aussi rapide à prendre en main. Le code des logiciels chargés est totalement accessible.

L'affichage est limité à 16 couleurs, sur une matrice de 128x128 pixels. Aves un balayage à 30 ou 60 images par seconde.

128 sprites de 8x8 pixels peuvent être créés.

Le son est caractéristique des puces des années 90, en 8 bits sur 4 canaux.

Les jeux sont enregistrés dans des fichiers P8 ou des fichiers PNG, nommés cartouche (Cartridge). De façon originale, l'outil permet ainsi de faire contenir tout le nécessaire du jeu (code, graphismes, sons) ainsi qu'une capture d'écran dans un fichier PNG (au format 160x205). Ainsi, sur un navigateur, on peut télécharger un jeu en faisant juste un clic droit sur l'image d'un jeu puis "Enregistrer sous" ou en faisant glisser l'image du navigateur vers son ordinateur. On peut difficilement faire plus simple.

Les fichiers sont également limités : un jeu ne peut pas dépasser 32 Ko. Il s'agit d'une limite imposée par l'image PNG de la "cartouche", car les informations propres au jeu sont stockées dans certains bits des pixels de l'image et la taille de celle-ci est fixe.

La logithèque de Pico-8

On pourra trouver sur Pico-8 beaucoup de jeux, dont certains sont assez avancés au niveau jouabilité. Il y a des reprises de hits du passé (Pac man, Bubble Booble, Tetris, Boulder Dash...) ainsi que beaucoup d'idées de jeux originales.

Quelques utilitaires sont aussi présents, comme par exemple le soundtracker sequence8 qui permet de composer des musiques façon "chiptune" assez rapidement.

Enfin, des démos, comprenez une démonstration technique des possibilités de la plate-forme, comme dans les années 90, existent aussi.

Ce qui est intéressant avec tous ces logiciels, c'est de retrouver, pour ceux qui les ont connus, les plaisirs vidéoludiques d'il y a 30 ans.

Programmer sur Pico-8

Le langage de programmation, le Lua, offre la possibilité de créer rapidement un logiciel et l'un des premiers objectifs sera d'imaginer le rendu final. Toute la documentation du jeu est contenue dans un fichier texte et une présentation rapide est proposée sur la "Pico-8 Cheat Sheet", tel un mémo.

Pour le programmeur, 3 fonctions seront obligatoirement à créer : _init, _update et _draw. Chacune de ces fonctions a un but propre et est appelée par le système à un moment donné :

  • _init est appelée lors de la première exécution et sert principalement à déclarer la valeur des variables au démarrage
  • _update est appelée tous les 1/30ème ou les 1/60ème de secondes. Elle sert à gérer les éléments présents à l'écran, comme lire les touches pressées au clavier, calculer la position des personnages, calculer les collisions...
  • _draw est également appelée tous les 1/30ème ou les 1/60ème de secondes et est utile pour préciser les éléments graphiques à afficher.

Ces méthodes sont vides et ce sera au programmeur de les remplir et d'organiser son code en fonction.

Des alternatives

Pico-8 a lancé une mode pour ce type de logiciel : il existe une cinquantaine de Fantasy Console. L'une des plus populaires est le TIC-80 Tiny Computer, qui est également payant, utilise LUA, a un nombre de couleurs limité mais une résolution d'écran plus élevée.

Conclusion

De part ses spécifications techniques, Pico-8 ressemble sur certains points à la programmation sur Amstrad CPC ou Commodore 64 : le nombre de couleurs limité, la quantité de mémoire, la partie sonore, l'accès à l'intégralité du code en appuyant sur la touche d'échappement, la présentation de version au démarrage, sa ressemblance avec le logiciel Sprites Alive!... Mais sa vitesse d'exécution est plus élevée si on la compare avec le BASIC. J'ai l'impression que la vitesse d'exécution est proche de ce qui était obtenu en assembleur Z80.

Le principe KISS (Keep it simple, stupid) a été suivi dans l'intégralité du projet : Pico-8 est un logiciel très bien réalisé techniquement et qui offre un environnement à la fois simple et complet à ses utilisateurs. Il est simple mais pas simpliste, contrairement à certaines applications s'appuyant sur le Material Design ou à l'environnement Android, limité en fonctionnalités de façon générale, sûrement pour être plus accessible au grand public.

Toutes ces qualités en font à mon avis une plate-forme idéale pour apprendre à programmer, bien plus que Scratch car plus proche de ce qu'est la programmation et avec une finalité intéressante : réaliser son propre jeu vidéo.

Dernière modification le 20/02/2021 - Quillevere.net

Rechercher sur le site

fr en rss RSS info Informations