Profitant de l'actuelle promotion, j'ai acheté
SmileBASIC 4 ce week-end sur l'e-shop.
Il s'agit d'un langage de programmation dérivé des vieux BASIC (oui, celui qui était intégré dans les Amstrad, Thomson ...). Celui ci embarque tout un tas d'instructions customisées pour faciliter l'utilisation de graphismes (sprites, décors ...) et de sons, et pour utiliser tous les "inputs" propres à la Switch (manettes, écran tactile, gyro, capteurs, toy-con ...). Le but étant de créer des jeux "facilement" (notez les guillemets).
J'avais déjà acheté les versions précédentes sorties sur DS et 3DS (dans les premières versions, le logiciel portait son nom japonais : Petit Computer) et, radin comme je suis, j'attendais juste une promo avant de repasser à la caisse. C'est fait.
Alors comment ça se présente ?
Divers menus permettent de commencer à taper son programme, de gérer ses fichiers, de télécharger des jeux de la communauté (ou de mettre les siens en ligne), et de suivre des tutos.
*- Taper un programme :
Attention, on est pas dans Scratch. Il n'y a pas d'interface graphique ici, tout passe par des lignes de
code.
Le GROS plus de cette version, c'est bien entendu la gestion de claviers USB. Sur 3DS, les claviers ne fonctionnaient pas, même celui fourni avec
Pokémon Typing ("A la conquête du clavier"). Aucun soucis de ce coté là, les claviers Azerty sont gérés. On peut également brancher et utiliser sans problème une souris. A défaut de disposer de ça, il faudra se rabattre sur le clavier tactile (en mode portable uniquement donc), qui fait le job.
Si le langage est une version modernisée du BASIC de notre (votre ?) jeunesse, il en garde les archaismes et se révèle donc très familier si on a tâté de la chose dans les années 80. On peut en effet programmer à coups de GOTO et de GOSUB (vers des balises définies dans le programme, pas des numéros de ligne, heureusement), même si des structures plus avancées sont possibles via divers systèmes de boucles et de fonctions qu'on peut créer et appeler comme on veut (avec variables locales, globales ...). Il est donc pas impossible de reprendre ses vieux Hebdogiciels et d'adapter les programmes avec un minimum d'effort
Le langage embarque des tas de graphismes, sons et musiques qui sont utilisables directement en les appelant par leur identifiant via des instructions faciles à utiliser. On peut bien sur créer ses propres assets (il y a un logiciel de dessin intégré pour du pixel art).
Notez que je suis un éternel débutant en programmation (j'ai régulièrement essayé de m'y mettre sans progresser très loin), et je m'amuse bien à taper des programmes de quelques lignes qui font bouger des trucs et des machins ... Mais pour des programmeurs plus ambitieux et talentueux, il y a de quoi réaliser de belles choses, comme on va le voir ci dessous.
*- Télécharger des jeux :
Franchement, même si vous n'avez jamais l'intention de vous mettre sérieusement à la programmation, l'achat sera amorti en jouant aux jeux créés par la communauté, surtout si vous avez un penchant pour la production nippone des années 80/90 (SmileBASIC est un logiciel japonais, quasiment tous les utilisateurs sont des japonais aussi). Déjà bonne nouvelle : il n'y a pas besoin de s'inscrire au Nintendo Online pour pouvoir télécharger (contrairement à Mario Maker). Moins bonne nouvelle : sans payer un supplément, vous ne pouvez effectuer qu'un seul téléchargement toutes les 8 heures. Mais quelque part, c'est sympa d'aller découvrir un ou deux nouveaux jeux chaque jour.
La qualité est vraiment étonnante. Il y a beaucoup de shmups (classique, danmaku, twin shooter ...), dont certains sont franchement bluffants.
Exemple :
https://twitter.com/Ishmokin/status/1369268692282871815
Plus d'aperçus des jeux disponibles :
https://twitter.com/search?q=%23petitcom&src=hash
A partir de l'interface, on peut trier les jeux dispos selon plusieurs critères comme leur genre ou leur popularité (nombre de "likes"). Il est aussi possible d'entrer un
code trouvé sur le net pour accéder directement à un jeu donné.
Ce site (en japonais, mais on s'y retrouve) en répertorie des tonnes dont on peut se faire une idée via quelques screenshots ou une petite vidéo :
https://smilebasic.kurun96.com/
Perso, j'ai trouvé mon bonheur via cette excellente adaptation de Rogue (il est possible d'afficher tous les textes en anglais) :
https://smilebasic.kurun96.com/work/4KKQ3N3Q4/
Note pour plus tard : tester ce
Space Harrier like qui en jette sur les screenshots :
https://smilebasic.kurun96.com/work/4N4XEA3AD/
Quand à ce gars là, il mérite un like juste parce qu'il a très bon gout
:
https://smilebasic.kurun96.com/work/4BAQVF3N4/ (reprend la fameuse démo Boing Ball de l'Amiga)
*- Tutos / Apprentissage :
Si vous ne lisez pas l'anglais, ça va être un peu compliqué ...
Sinon, et c'est LA grande force de cette nouvelle version face à tout ce qui existe comme alternative, vous pourrez découvrir les joies de la programmation via la section "Beginner's Guide". C'est super bien fichu : différents persos qui apparaissent dans des vignettes vont présenter les bases (entrée d'instructions, variables, erreurs, boucles, conditions, manipulation de graphismes ...) via de petits sketches très sympas, et surtout interactifs. On nous demandera d'entrer les instructions nous même à plusieurs moments. C'est super abordable sans nous prendre pour des débiles. C'est LE truc que j'ai cherché toute ma vie pour apprendre / progresser en programmation. Hélas, 100 fois hélas, après une poignée de leçons, c'est fini. Pour aller (un peu) plus loin, il faudra télécharger des .PDF sur le site officiel et regarder des vidéos sur la chaîne Youtube officielle. Dans les 2 cas, c'est encore une fois assez bien fichu, mais on sort de l'environnement Switch et ce n'est plus directement interactif. Mais même avec ce qui est dispo, on ira pas aussi loin qu'on le souhaiterait ou on ne comprendra pas toujours bien l'utilisation de telle ou telle instruction. Reste alors le vecteur d'apprentissage principal : analyser les programmes des autres, en particulier les exemples fournis avec SmileBASIC.
Autre chose très appréciable quand on tape ses programmes, il est possible d'appeler à tout moment une aide pour chaque instruction tapée. Par exemple vous tapez SPSET, qui est l'instruction pour invoquer un sprite dans votre programme, vous appuyez sur F1, et hop une doc autour de l'instruction SPSET s'affiche à droite de l'écran, avec le détail de son utilisation et des exemples. Très cool, d'autant qu'on peut la garder sous les yeux tout en tapant.
*- Alternative : Fuse 4
Il existe un autre langage de programmation, relativement proche du BASIC, disponible sur Switch. Ca s'appelle Fuse 4 et c'est fait par des anglais.
Je ne connaissais pas les anciennes versions et je ne l'ai pas acheté pour l'instant (il était assez cher quand il est sorti mais il me semble que le prix a baissé depuis). Par contre j'ai acheté il y a déjà plusieurs semaines
FUSE Player, sur l'eshop, qui permet de télécharger quelques jeux et de voir leur
code source, sans pouvoir le modifier ni taper ses propres programmes.
De ce que j'ai vu : les jeux sont assez sympa dans l'ensemble mais ont, comme on pouvait s'y attendre, une sensibilité différente de la production SmileBASIC. Coté SmileBASIC, vous avez des productions qui évoquent la scène Doujin japonaise (sans les jeux de Q), alors que coté Fuse4, ça fait plutôt penser à des jeux flash ou aux petits jeu indés de la Xbox 360 (XBLIG, pas XBLA).
Quand au langage lui même, d'après ce que je peux observer, ça semble plus proche de choses plus modernes que le BASIC (on dirait plutôt du Python), ce qui à mon avis rend Fuse 4 moins abordable pour des débutants complets, mais plus utile pour quelqu'un qui se destinerait à programmer sérieusement par la suite, et qui pourrait plus facilement passer à Python ou au C.
Mais dans ce cas là, je pense que c'est peut-être mieux d'apprendre directement Python (qui me semble avoir le meilleur ratio entre facilité d'apprentissage et utilité) sur son PC parce que, d'après ce que j'ai lu sur le net, Fuse 4 n'apporte rien de plus en terme de tutos et d'aide à l'apprentissage (il n'y a pas les super tutos interactifs de SmileBASIC et la doc se consulte à part je crois).
Bref, si :
*- vous avez envie de jouer à de petits jeux indés créés par des japonais
*- vous voulez apprendre à programmer de manière simple et ludique
*- vous comprennez l'anglais (pas indispensable, mais ça aide)
*- vous avez une dizaine d'euros à dépenser sur l'e-shop
*- vous êtes nostalgique des programmes en BASIC de votre micro 8 bits des années 80
==> SmileBASIC 4 est fait pour vous !