Planète Casio - Tout le forum - Flux RSS http://www.planet-casio.com Programmes Casio, Jeux, Cours pour Calculatrices Casio fr-FR https://www.planet-casio.com/images/logo.gif Planète Casio - Tout le forum - Flux RSS http://www.planet-casio.com 55 50 Programmes Casio, Jeux, Cours pour Calculatrices Casio. Tue, 18 Aug 2026 19:09:54 GMT Tue, 18 Aug 2026 19:09:54 GMT contact@planet-casio.com (Planet Casio) contact@planet-casio.com (Planet Casio) 5 Air Control v2 https://www.planet-casio.com/Fr/forums/topic19691--.html — Toulouse control, hello, SWR042 A330-300 altitude 10 000 feet, heading to 60 degrees, 300 knots. — SWR042, Toulouse control, radar contact. — Toulouse control, SWR042, enroute to KUSEN. — SWR042, maintain flight level 100 and proceed direct KUSEN. — Maintaining flight level 100, direct KUSEN, SWR042 Cela faisait longtemps que je n'avais pas touché à ma calto, et ça faisait aussi un bout de temps que je voulais reprendre mon jeu Basic Air Control pour en proposer une version plus complète et réaliste. Pour cette seconde version, j'ai abandonné le Basic pour le Python, ce qui m'a donné une occasion rêvée pour jouer avec PythonExtra ! :p Quelles nouveautés ? Au programme de cette nouvelle version : - plus de gestion des avions au sol ou des taxiways, vous vous concentrez désormais sur les avions en vols - refonte totale de l'écran radar qui devient alors le menu principal du jeu : balayage, portée, affichage du vecteur de chaque contact, … bref tout y est ! - refonte totale des communications en se basant sur le manuel de phraséologie officiel pour un réalisme optimal, là où la précédente version était focalisée sur les vols à vue (VFR), cette version a été faite pour les vols aux instruments (IFR), préparez vous à orienter du gros porteur (ou à en écraser par terre si tel est votre envie) ! - dans la continuité du point précédent, vous pouvez maintenant orienter les avions en leur donnant des points de navigation, par exemple pour faire atterrir un avion, vous lui donnez une piste et l'avion va s'aligner et descendre tout seul. - une autre nouveauté : les avions vous demandent parfois des choses : autorisation d'atterrir, la pression au sol, etc. Mais ils peuvent aussi vous avertir d'une impossibilité de leur part d'exécuter une commande donnée. - les communications sont brouillées ! En fonction de la distance entre l'aéroport et l'avion, la communication peut être plus ou moins bonne, jusqu'à très mauvaise :E À quoi ça ressemble ? Assez de blabla, quelques exemples de la tête que ça a actuellement : AirControlv2_1.png AirControlv2_2.png AirControlv2_3.png Code couleur : - turquoise foncé / clair : contact trop loin pour les radars, les informations disponibles sont alors réduite et la communication mauvaise / contact actif - blanc : contact sélectionné - rouge foncé / clair : contact non sélectionné / sélectionné, ayant besoin d'une réponse de la tour Les triangles verts sont les points de navigations, chaque point de navigation a un petit nom et vous pouvez envoyez n'importe avion sur n'importe quel point. Qu'est-ce qu'il reste à faire ? Beaucoup de choses ! Pour l'instant j'ai surtout développé mais sans trop réfléchir, donc une phase de refonte / nettoyage va s'imposer assez rapidement pour éviter les redondances et autres absurdités. Par ailleurs il manque encore des fonctionnalités que j'aimerais ajouter : - possibilité pour les avions de décoller - collision entre appareil et avec le sol - génération de nouveaux contacts (actuellement quand tous les contacts ont été correctement aiguillés, il n'y a plus rien à faire) - de nouvelles maps ! Différents aéroports, différents reliefs - des urgences (carburant, annulation de décollage / atterissage) - gestion d'une météo dynamique avec fermeture de certaines pistes - gain d'argent / XP à chaque avion bien aiguillés avec la possibilité de rajouter des radars ou des points de navigations, de créer des routes, etc Mon, 17 Aug 2026 12:20:00 +0200 Les résultats du CPC #33 - Tout bons tout chauds !!! https://www.planet-casio.com/Fr/forums/topic19687--.html Bonjour à toutes et tous, C'est l'heure des résultats de la 33e édition du Concours de Planète Casio (CPC) ! https://www.planet-casio.com/storage/staff/cpc33_final.jpg (Crédit : photographie par Shadow15510, effets ajoutés avec GIMP) Du 26 juillet au 2 août, vous avez eu une semaine tout rond pour composer sur le thème de l'Eau. Un thème volontairement large, comme le rappelait l'annonce : « Que ce soit sa rareté cruelle durant un été caniculaire (toute ressemblance avec une situation existante ou ayant existé est purement fortuite), ou son abondance sur une lointaine planète-océan, élément calme et placide ou au contraire déchaîné et mortel, laissez libre cours à votre imagination ! » Et vous ne vous êtes pas gênés. Après deux semaines passées à éplucher vos petits bijoux de créativité, vos testeurs — SlyVTT et Shadow15510, vos humbles serviteurs — ont donc passé leurs soirées à irriguer, désaliniser, geler, colporter et vaporiser. Et le moins qu'on puisse dire, c'est que le thème a été pris au sérieux : là où on s'attendait à six variations autour de la même flaque, on a reçu six jeux qui ne se ressemblent absolument pas. Un Zelda-like, deux plateformers, un jeu de gestion en 3D, un puzzle logique et un jeu de stratégie au tour par tour. Autre fait marquant de cette édition : la 3D est omniprésente. Isométrique chez l'un, pleine 3D temps réel chez l'autre, fake 3D pour les plus malins — visiblement, l'eau donne envie de sortir du plan. Cette session a été unanimement focalisée sur la fx-CG50 (Graph 90+E) et la fx-CG100 (Graph Math+), avec beaucoup d'add-ins en programmation native (C/C++), mais il faut noter la présence d'une seule production en Python cette fois-ci, ce qui ne l'empêche pas de très bien se défendre. Pas de production pour Casio Monochrome qui soit arrivée au bout cette fois, mais nos chères fx9860G ne sont pas mortes pour autant. Petit rappel du barème avant d'entrer dans le vif, puisque nous allons le détailler pour chaque jeu : Gameplay : 3 points Graphismes et interface : 3 points Narration et univers : 2 points Level design : 1 point Interprétations originales / bonus : 1 point Chaque jeu a été noté séparément par les deux testeurs, et c'est la moyenne des deux qui fait foi. Vous trouverez pour chaque contribution le détail des deux notations, critère par critère : c'est plus transparent, et ça vous montrera aussi que nous ne sommes pas toujours d'accord. Prêt·e·s à mettre les pieds dans l'eau ? Suivez le guide. (Les jeux sont présentés par ordre alphabétique.) -------------------------------- Dam That River Par Fcalva – add-in C/C++ pour fx-CG50 / Graph 90+E Ingénieur hydraulique, un métier d'avenir Damthatr_20260816-181943.png Dans Dam That River, vous êtes plongé·e dans la peau d'un·e ingénieur·e chargé·e de manipuler le cours d'un fleuve à l'aide de réservoirs, de barrages et autres structures, pour alimenter une ville en eau et maintenir sa population en vie. Un mélange qui rappelle très nettement Terra Nil et Timberborn à Shadow15510, ce qui, sur une calculatrice, a de quoi impressionner sur le papier. SlyVTT y voit plutôt un potentiel SimCity sur calculatrice Casio, ce qui ne serait pas pour lui déplaire, ce style de jeu étant quasi inexistant sur calculettes. Commençons par saluer le travail technique, parce qu'il est réel : le terrain isométrique est rendu via Azur-p8, une extension d'Azur en cours de développement par Fcalva, chaque case et chaque mur étant un bitmap avec transparence, et Fcalva annonçait pendant le concours 17 ms par image — soit près de 58 images par seconde sur machine, avec encore de la marge pour des effets. Le moteur tient la route, et c'est précisément ce que son auteur revendique : « le moteur est solide en dehors du code écrit dans les dernières 24h ». Car c'est bien là que le bât blesse, et Fcalva est le premier à le dire — sa page de programme s'ouvre sur un franc « Absolument non achevé, mais bon », et il reconnaît volontiers un concept « un peu trop ambitieux pour un CPC ». Le jeu ne raconte jamais vraiment ce qu'il attend de nous : on arrive sur une carte, on déplace un curseur, on creuse, on barre — et il faut un bon moment (et pas mal de tâtonnements) avant de comprendre la boucle de jeu. Un écran d'aide, deux ou trois panneaux explicatifs au premier lancement, ou simplement un premier niveau qui fait office de tutoriel auraient changé énormément de choses. En l'état, les testeurs ont surtout passé du temps à deviner plutôt qu'à jouer, ce qui explique une note de gameplay en retrait — et un écart d'un point entier entre nous deux, Shadow15510 ayant eu un peu plus de patience que SlyVTT pour en percer les intentions. Les contrôles souffrent aussi du travers classique de l'isométrie : les axes de l'écran ne correspondent pas aux axes du terrain, et on se retrouve régulièrement à aller là où on ne voulait pas. Ce n'est jamais simple à résoudre, mais un repère visuel plus marqué sur la case sélectionnée aiderait déjà beaucoup. Il est à noter aussi un méchant décalage entre le positionnement du curseur servant à sélectionner les tuiles et la tuile réellement prise en compte par le jeu. Ce bug ne doit pas être trop méchant à régler (certainement une erreur dans une loi affine de passage d'un repère à l'autre, c'est malheureusement un grand classique), mais il gâche sérieusement le plaisir du jeu. Bonne nouvelle : l'auteur l'a lui-même identifié et le documente sur sa page — « le cassage des blocs est décalé et leur mise à jour est défaillante ». Signalons au passage que la caméra se pilote avec les touches 8/4/5/6 façon WASD, ce qu'on ne devine pas tout seul et qui aide beaucoup à s'y retrouver. Côté graphismes, le rendu est propre et lisible, mais la palette reste très minérale — du gris, du vert, du bleu — et manque un peu de vie. Quelques éléments de décor, des bâtiments pour symboliser la ville, une population visible qu'on verrait prospérer ou dépérir, et la carte prendrait tout de suite une autre dimension. C'est d'ailleurs le même constat côté narration : le pitch est bon, mais il n'existe que dans la description du jeu, jamais dans le jeu lui-même. Ce sont pourtant deux points sur lesquels il est facile de gagner beaucoup, très vite. En résumé : une belle base technique, une idée franchement séduisante, mais une production qui reste au stade du prototype jouable. Il manque essentiellement de l'accompagnement du joueur et un peu de contenu pour transformer l'essai. Une version post-concours avec un vrai tutoriel et trois ou quatre cartes bien pensées ferait immédiatement décoller le jeu. Item évaluéSlyVTTShadow15510MoyenneBarème Gameplay121.5 / 3 Points Graphismes et interface11.51.25 / 3 Points Narration et univers0.50.50.5 / 2 Points Level design0.50.50.5 / 1 Point Interprétations originales / bonus0.500.25 / 1 Point Appréciation générale3.54.54 / 10 Points -------------------------------- Desalination Master Par Mb88 – add-in C/C++ pour fx-CG50 / Graph 90+E De l'eau salée à l'eau potable, il n'y a qu'une usine Desalina_20260816-182201.png « Une violente sécheresse touche l'archipel. Ayant le monopole de la désalinisation d'eau, le gouvernement vous charge de sauver les îles. » Voilà le programme, et voilà une idée qu'on n'avait pas vue venir : vous naviguez d'île en île à bord de votre bateau pour approvisionner les populations et implanter des usines de désalinisation, en gérant votre carburant, votre eau et votre argent. Le tout en 3D temps réel sur fx-CG50, et ça, franchement, chapeau !!! Un mot sur la technique, parce qu'elle mérite qu'on s'y arrête : Mb88 a écrit son moteur 3D par-dessus gint, en virgule fixe, avec ombrage de Gouraud et tri en profondeur des polygones. Autant dire que le bonhomme ne s'est pas contenté d'afficher trois triangles. Et le résultat tient : on pilote un bateau sur une mer qui défile, les îles apparaissent à l'horizon, le soleil se couche, et ça tourne bien. La boucle de jeu est immédiatement compréhensible et, surtout, elle est chiffrée : chaque unité d'eau vous coûte 5 aux fabriques côtières et vous en rapporte 10 quand vous la livrez à une île. Une usine sur une île coûte 1500 dollars et deux jours de construction, après quoi l'île est définitivement sauvée. Et si vous tardez trop, l'île meurt — une croix s'affiche au-dessus, et vous ne pouvez plus rien pour elle. Ajoutez un menu d'améliorations accessible à OPTN (400 dollars pour une usine côtière supplémentaire) et les tornades qui viennent vous faire perdre un temps précieux, et vous obtenez un vrai petit jeu de gestion : il y a une tension permanente entre dépenser son carburant à explorer, thésauriser pour construire, et sauver l'île qui est en train d'agoniser pendant que vous faites autre chose. L'objectif annoncé par l'auteur — sauver les cinq îles, « mais je ne suis pas sûr que ce soit possible » — a d'ailleurs le mérite de l'honnêteté. C'est ce qui vaut au jeu la deuxième meilleure note de gameplay du concours, Shadow15510 allant même jusqu'au 3/3. Là où le bât blesse, c'est sur l'habillage — et là, en revanche, nous sommes parfaitement d'accord. La 3D est fonctionnelle mais très brute : des aplats de couleur, peu de textures, des formes géométriques simples. On comprend parfaitement le choix — chaque polygone coûte cher sur ces machines, et la fluidité était clairement la priorité — mais visuellement l'ensemble reste austère. Et l'interface souffre du même souci : les indications s'affichent en texte blanc directement sur la scène, ce qui les rend parfois difficiles à lire, surtout quand le fond est clair. Un bandeau semi-opaque derrière le texte, des icônes pour les jauges plutôt que des libellés, et on gagnerait immédiatement en confort. Les dégradés sur les polygones sont peut-être un peu trop consommateurs de ressources pour la fx-CG50 : du flat shading aurait peut-être été plus raisonnable, économisant les calculs pour permettre une optimisation du framerate. Le pilotage est en effet parfois un peu tendu à exécuter. L'univers, lui, souffre d'un mal qu'on va retrouver tout au long de cet article : la sécheresse, le monopole d'État, le gouvernement qui vous confie une mission — tout cela est écrit noir sur blanc par l'auteur, et rien de tout cela n'apparaît jamais à l'écran. On lance le jeu, on est sur un bateau, débrouillez-vous. Or ces deux lignes de contexte sont déjà rédigées : les afficher au lancement aurait littéralement coûté un écran de texte, et aurait fait basculer la note. La croix qui apparaît au-dessus d'une île morte est d'ailleurs la preuve que l'auteur sait raconter par l'image — il aurait suffi de pousser un peu dans cette direction, avec des habitants visibles, une île qui verdit quand elle est sauvée, un compteur d'îles perdues. Enfin, on aurait aimé plus de variété dans les îles et dans les événements. Les tornades sont une bonne idée, mais elles sont seules ; des courants, des zones de pêche, des îles aux caractéristiques différentes, des concurrents, et la rejouabilité grimperait en flèche. Notons pour finir que Mb88 a signalé lui-même, après le rendu, un souci d'options d'optimisation à la compilation affectant la rotation du bateau : à corriger en priorité dans une version post-concours, ça se ressent à la jouabilité. Bref : une réalisation technique impressionnante de la part de Mb88 et un gameplay qui tient debout, portés par une production qui manque encore de finition visuelle et de contexte. Il y a clairement de quoi en faire un vrai petit jeu de gestion, avec comme apport différentiant principal l'emploi d'une 3D maîtrisée. Bref, du bon pour le futur, à n'en pas douter. Item évaluéSlyVTTShadow15510MoyenneBarème Gameplay232.5 / 3 Points Graphismes et interface1.51.51.5 / 3 Points Narration et univers10.50.75 / 2 Points Level design0.510.75 / 1 Point Interprétations originales / bonus0.500.25 / 1 Point Appréciation générale5.565.75 / 10 Points -------------------------------- Hydralis Par Farhi – add-in C/C++ pour fx-CG50 / Graph 90+E (et PC) Une cité-oasis, un temple enfoui, et de l'eau qui monte et qui descend Hydralis_20260816-182359.png Il y a des jeux qui, dès l'écran-titre, vous font dire « bon, d'accord ». Hydralis en fait partie. Le décor, d'abord, et il est planté avec un vrai sens du lieu : « Au cœur du désert se dresse Hydralis, une cité-oasis réputée pour son abondance en eau. Cette richesse provient d'un temple très ancien, enfoui sous la ville, dont les canaux alimentent depuis des générations les fontaines et les réserves de la cité. » Le jour où le système se dérègle, vous incarnez un jeune habitant envoyé sous terre pour comprendre et rétablir le flux. Sur le papier, actionner deux ou trois mécanismes. En pratique, un temple bourré de leviers et de portes dont l'accès dépend du niveau de l'eau. Et c'est là le coup de génie de Farhi : dans Hydralis, l'eau n'est pas le décor, c'est le level design lui-même. Monter ou descendre le niveau change les chemins praticables, les plateformes utilisables et les portes que vous pouvez atteindre. Une mauvaise manipulation vous oblige à revenir sur vos pas pour trouver une autre combinaison. On tient là un jeu d'aventure et de réflexion en 2.5D dont la mécanique centrale est le thème du concours — pas une illustration du thème, pas une métaphore : le thème, transformé en verbe de gameplay. Peu de participations peuvent en dire autant, et ça se voit immédiatement à la manette : le déplacement est net (avec une course sur ALPHA maintenue, détail qui change tout dans un jeu à allers-retours), les salles s'enchaînent avec cohérence, les mécaniques s'introduisent progressivement sans jamais nécessiter de manuel, et on repose la calculatrice trois quarts d'heure plus tard en se demandant où est passé le temps. Les deux testeurs ont mis 3/3 en gameplay, à l'unanimité et sans hésiter. C'est beau et c'est fluide, le moteur fait des miracles. Graphiquement, c'est du très haut niveau. Le pixel art est soigné, les tuiles sont variées, les personnages sont expressifs, et surtout : Farhi a implémenté un véritable système de dialogues avec portraits, encadrés d'une jolie bordure ornementée. Voir Alice vous expliquer, portrait à l'appui, qu'il vous faudra un laissez-passer pour entrer, ça n'a l'air de rien, mais c'est exactement ce qui fait qu'on croit à un monde plutôt qu'à une suite de salles. Mieux : les dialogues évoluent avec votre progression, et certains PNJ finissent par lâcher un indice ou débloquer la suite si on prend la peine de retourner leur parler. C'est le seul jeu du concours où le monde réagit à ce que vous faites, et c'est très exactement ce qui lui vaut la meilleure note de narration de l'édition. Le jeu tourne également sur PC, ce qui est devenu la marque de fabrique de l'auteur et de son Particule SDK, et c'est un vrai bonus pour qui veut découvrir le jeu sans dégainer sa machine. Les reproches ? Ils sont, comme souvent avec les très bonnes copies, des reproches de luxe — et l'auteur les formule lui-même avant nous, puisqu'il annonce franchement une démo incomplète, livrée « telle quelle » avec ses infos de debug encore à l'écran et des menus non terminés. On évitera d'ailleurs soigneusement le menu des contrôles, que Farhi signale comme sérieusement buggé. On aurait aimé un poil plus de contenu : on sent que le moteur, le système de dialogues et le tileset pourraient porter un jeu trois fois plus long, et on reste sur sa faim au moment où ça commence vraiment à être intéressant. Quelques passages demandent aussi un peu de tâtonnement pour comprendre quoi faire ensuite — un journal de quête, même minimaliste, éviterait les allers-retours. Enfin, un ou deux effets d'ambiance supplémentaires (de l'eau qui s'écoule, des variations lumineuses dans les souterrains) achèveraient de camper l'atmosphère. On notera d'ailleurs que c'est le seul jeu du concours à décrocher le point d'interprétation originale chez l'un des deux testeurs, et on comprend pourquoi : faire du niveau d'eau une clé qui ouvre et ferme le monde, c'était un angle des plus malins dans cette édition. Mais soyons clairs : on parle ici d'une production qui, une semaine après le début du concours, est déjà plus aboutie que beaucoup de projets menés sur plusieurs mois. Farhi confirme édition après édition qu'il est devenu une des valeurs les plus sûres de Planète Casio, et il signe ici, selon nous, sa plus belle copie. On attend la version étoffée avec impatience. Item évaluéSlyVTTShadow15510MoyenneBarème Gameplay333 / 3 Points Graphismes et interface232.5 / 3 Points Narration et univers1.521.75 / 2 Points Level design111 / 1 Point Interprétations originales / bonus100.5 / 1 Point Appréciation générale8.598.75 / 10 Points -------------------------------- Icicle Par Alice – add-in C/C++ pour fx-CG50 / Graph 90+E De l'eau, oui — mais à l'état solide Iclice_20260816-184606.png Prendre le thème de l'eau et décider de la geler, c'est déjà une bonne idée. Icicle nous propose un petit jeu de stratégie au tour par tour dans lequel il faut, comme l'annonce sobrement le bandeau en haut de l'écran, freeze the lake — geler la surface d'un lac représenté par une grille de cases bleues. La structure est celle d'un tactical : vous déplacez un curseur sur la grille, un menu vous propose vos actions — move, gratuit, et freeze, qui coûte 5 points —, et un panneau latéral affiche l'état de votre unité avec ses points de magie (79 sur 99 au départ) et sa vitesse. La ressource est donc la vraie contrainte : chaque case gelée entame votre réserve, et il faut choisir où dépenser. L'ossature d'un bon jeu de gestion de ressources est là, et le concept d'avancer sur un lac qu'on solidifie soi-même case après case a quelque chose de très évocateur. Le souci, c'est que le jeu s'arrête un peu là — et Alice ne prétend pas le contraire, puisqu'elle a accompagné son rendu d'un lapidaire « pas fini du tout et feat des crash aléatoires~ ». La mécanique centrale tourne, mais elle n'est pas encore accompagnée de ce qui en ferait un jeu : pas d'adversaire, pas de progression réelle, pas de difficulté croissante, pas d'objectif intermédiaire à atteindre. On comprend le principe en une minute, on en fait le tour en cinq, et il n'y a pas grand-chose qui donne envie de relancer. Les crashs, eux, sont bien au rendez-vous et écourtent parfois la séance d'eux-mêmes. Les deux testeurs ont eu la même sensation : celle d'une bonne idée arrêtée en chemin. Côté présentation, il faut être honnête : on est sur du strictement fonctionnel. Des carrés bleus pour l'eau, des carrés gris pour la glace, un cadre rouge pour le curseur, et le reste de l'écran occupé par du texte brut en anglais sur fond blanc. C'est parfaitement lisible — on ne se trompe jamais sur l'état d'une case — mais il n'y a ni sprite, ni décor, ni habillage, et la moitié droite de l'écran reste vide. Quelques tuiles dessinées pour la glace et l'eau, un cadre autour du panneau d'informations, un titre un peu mis en forme : rien de tout cela ne coûte cher en performances, et l'ensemble changerait immédiatement de visage. Et c'est vraiment dommage, parce que le potentiel est évident. Un système de score, un contre-la-montre, des sources de chaleur qui viennent défaire votre travail, des fissures qui apparaissent sous vos pas, une météo qui change, quelques cartes aux formes de lac différentes — n'importe lequel de ces ajouts, pris isolément, suffirait à donner du relief à l'ensemble. La base est saine, elle attend juste qu'on construise dessus. Un mot, aussi, sur la démarche : rendre une copie qu'on sait inachevée demande un certain courage, et l'annoncer aussi franchement en demande encore un peu plus. Beaucoup auraient préféré ne rien rendre du tout — ce fut d'ailleurs le choix d'autres participants cette année. Alice a joué le jeu jusqu'au bout, et c'est tout à son honneur. On espère sincèrement voir une version post-concours, parce qu'il y a de quoi faire un petit jeu de stratégie très propre avec ce point de départ. Item évaluéSlyVTTShadow15510MoyenneBarème Gameplay11.51.25 / 3 Points Graphismes et interface11.51.25 / 3 Points Narration et univers0.50.50.5 / 2 Points Level design0.50.50.5 / 1 Point Interprétations originales / bonus000 / 1 Point Appréciation générale343.5 / 10 Points -------------------------------- L'aquarelle Par Lephenixnoir – add-in C/C++ pour fx-CG50 / Graph 90+E Rendre ses couleurs au monde, une source à la fois Laquarel_20260816-182658.png Un plateformer comme Lephenixnoir sait les faire — et lui-même semble s'en étonner, puisqu'il accompagnait son rendu d'un savoureux « Contrairement à mes habitudes, j'ai fait un vrai jeu cette fois, avec du vrai contenu. Le pire c'est que j'en suis content en plus. » Il a bien raison de l'être. Le pitch : « À cause de la sécheresse, le monde a perdu sa couleur et sa brillance. Vous jouez un demi-écureuil demi-renard qui voit encore la couleur et s'est mis en quête de restaurer l'environnement en transportant l'eau du dernier étang jusqu'à toutes les sources qui alimentent la végétation. » Ou, dans la version de Shadow15510 qui restera dans les annales de ce concours : un petit animal mi-écureuil mi-renard re-mi-écureuil par derrière, qui doit collecter de l'eau à la source et l'apporter à des fontaines cachées un peu partout sur la carte pour faire revenir les couleurs. On ne saurait mieux dire, et surtout on ne saurait mieux décrire ce sprite. Et c'est là que le jeu réussit son coup de maître : le thème n'est pas décoratif, il est la mécanique — et il est aussi la direction artistique. Le monde démarre en nuances de gris, presque en clair-obscur, avec une lune haute et des silhouettes d'arbres qui se découpent en noir. Votre personnage, lui, est en couleurs, parce qu'il est le seul à les voir encore — et chaque source réalimentée rend sa teinte à une portion du décor. On ne vous explique rien en jeu, et pourtant on comprend tout : on veut voir le monde se recolorer, donc on cherche les sources. C'est de la narration environnementale, faite sans une ligne de texte, et c'est très malin. Visuellement, c'est une des plus belles productions du concours : les deux testeurs ont mis 3/3 sans se concerter. Le travail sur les plans, la profondeur, les valeurs de gris, la végétation, la lumière lunaire — tout est maîtrisé. Petite finesse technique qui explique en partie ce résultat : Lephenixnoir a travaillé en demi-résolution avec Azur, ce qui lui permettait de remplir l'écran plus facilement et d'obtenir des graphismes bien plus denses pour le même effort, et ce sans avoir un effet trop pixelisé qui pourrait gâcher le rendu. C'est du très beau travail d'équilibriste entre finesse du pixel art et gain de temps. Le HUD lui-même (les gouttes d'eau en haut à gauche) est discret et parfaitement lisible. C'est propre, cohérent, et ça a un vrai cachet artistique. Le gameplay suit le même niveau d'exigence : les contrôles sont précis et réactifs, les sauts se placent au pixel près sans jamais donner l'impression d'être injuste, et le vol plané (SHIFT maintenu) ouvre des trajectoires qu'on ne soupçonne pas au premier abord. Le level design est excellent — les sources sont bien cachées sans être introuvables, et la carte s'ouvre progressivement. Le 1/1 en level design est amplement mérité. Et contrairement à ce qu'on pourrait croire, le jeu n'oublie pas les complétionnistes : les baies disséminées sur la carte constituent un objectif optionnel qui compte pour le 100 %, et la touche VARS affiche à tout moment le chrono et la progression. Il y a donc bel et bien de quoi y revenir. En petite note négative, on peut citer les trajectoires parfois surprenantes de notre avatar, qui déstabilisent au début. Mais après quelques minutes, on s'y fait très bien. Et après tout, qui sommes-nous pour juger : qui sait vraiment comment saute un petit animal mi-écureuil mi-renard re-mi-écureuil par derrière ?!? Un vrai défaut, en revanche, et il est reconnu par l'auteur lui-même : rien ne distingue clairement un passage franchissable d'un passage mortel. On meurt régulièrement sans avoir compris qu'on n'aurait pas dû passer par là, ce qui est particulièrement frustrant dans un jeu par ailleurs aussi juste. Lephenixnoir avait prévu un panneau avec une flèche pour lever l'ambiguïté, mais n'a pas eu le temps de l'implémenter. C'est typiquement le genre de correction qui prend une heure en post-concours et change complètement le ressenti. SlyVTT a d'ailleurs avoué plus d'une fois avoir rage-quit le jeu parce qu'il ne savait pas par où passer. La légende dit même qu'il cherche encore comment franchir un certain endroit dans un certain niveau... Cela reste, disons-le, une très, très belle copie, et un jeu qu'on a envie de finir. Si Lephenixnoir lui ajoute un peu de lore et quelques zones supplémentaires, il tient là un des plus jolis plateformers jamais sortis sur nos machines. Item évaluéSlyVTTShadow15510MoyenneBarème Gameplay2.532.75 / 3 Points Graphismes et interface333 / 3 Points Narration et univers1.511.25 / 2 Points Level design111 / 1 Point Interprétations originales / bonus0.500.25 / 1 Point Appréciation générale8.588.25 / 10 Points -------------------------------- Water Logic Par Redoste – Python (PythonExtra) pour fx-CG50 / Graph 90+E Portes logiques, vannes et irrigation : le cerveau va chauffer WaterLogic_20260816-183013.png Seule production en Python de cette édition, rendue à 18h02 — soit deux minutes après la fin du concours, ce qui restera comme le plus beau rush de l'édition —, Water Logic n'a pourtant absolument rien à envier aux add-ins qui l'entourent. C'est même, à notre grande surprise, la troisième meilleure note du concours — et le seul jeu sur lequel nos deux testeurs sont tombés sur exactement le même total. Le pitch tient en une phrase, et elle est excellente : « Suite à la sécheresse, vous devez aller arroser le dernier arbre sur terre, pour cela déplacez la seule source d'eau restante en jouant avec les valves et en traversant des portes logiques. » Concrètement : une grille, une source d'eau, et un réseau de conduits à travers lesquels le liquide se propage — case après case, à la manière d'un automate cellulaire. Sur ce réseau, Redoste a disposé des portes logiques ET, OU et OU exclusif, ainsi que des vannes et des sélecteurs que vous actionnez avec les touches numériques. À vous de trouver la combinaison qui amènera l'eau jusqu'à la zone à irriguer. C'est brillant, et ça marche pour deux raisons. D'abord parce que la propagation de l'eau est visible : on actionne une vanne, on regarde le flot avancer case par case, on comprend immédiatement pourquoi ça ne passe pas. Ensuite parce que le level design est irréprochable — et c'est le seul jeu du concours, avec L'aquarelle et Hydralis, à décrocher le 1/1 sur cet axe, à l'unanimité. Les cinq niveaux introduisent les éléments un par un, dans le bon ordre, avec une difficulté qui monte proprement : on découvre la vanne simple, puis le sélecteur, puis les portes logiques, puis les combinaisons. À aucun moment on ne se sent largué, à aucun moment on ne s'ennuie. C'est de la pédagogie de puzzle game, tout simplement. Détail qu'on a beaucoup apprécié : le système de mots de passe affiché en haut de l'écran, qui permet de reprendre à un niveau donné. C'est vieille école, c'est parfaitement adapté à la contrainte, et ça évite de tout refaire. Les limites sont celles qu'on imagine, et Redoste les résume mieux que nous : « Jeu réalisé en moins de 2 aprèm, donc c'est très rapide, moche et hyper mal opti. » Difficile d'être plus lucide. Les graphismes sont fonctionnels — des carrés verts, bleus et gris sur fond sombre — et parfaitement lisibles, mais sans recherche esthétique particulière ; quelques tuiles dessinées pour l'herbe, la roche et les mécanismes suffiraient à faire passer le jeu dans une autre catégorie visuelle. Le « mal opti » se paie aussi comptant : le jeu rame notablement, la propagation de l'eau prenant un temps certain à s'afficher sur les grilles les plus chargées. C'est le prix du Python et des deux après-midi, et c'est parfaitement rattrapable. Quant à l'univers, il est victime du même syndrome que ses camarades : la sécheresse et le dernier arbre sur Terre, c'est une image forte, et elle ne quitte jamais la page du programme. En jeu, on résout des circuits hydrauliques sans savoir pour qui ni pourquoi. Deux lignes de texte au lancement et un arbre dessiné à l'arrivée — un vrai arbre, qui reverdit quand l'eau arrive — et ce sont deux points de narration qui tombent presque gratuitement. Cinq niveaux, aussi, c'est court — mais on note que le format des niveaux est manifestement pensé pour qu'on en ajoute facilement. Franchement, Redoste : donne-nous vingt niveaux, un habillage et un coup d'optimisation, et tu tiens un excellent petit puzzle game. Item évaluéSlyVTTShadow15510MoyenneBarème Gameplay2.532.75 / 3 Points Graphismes et interface222 / 3 Points Narration et univers0.50.50.5 / 2 Points Level design111 / 1 Point Interprétations originales / bonus0.500.25 / 1 Point Appréciation générale6.56.56.5 / 10 Points -------------------------------- Droppy (hors-concours) Par SlyVTT – add-in C/C++ pour fx-CG50 / Graph 90+E Eau, glace, vapeur, neige : il faut prévoir ce qu'on devra être avant d'y être Droppy_20260816-182253.png Deux précisions avant tout. D'abord, l'un de vos deux testeurs étant l'auteur de ce jeu, il s'est évidemment abstenu de le noter : les notes ci-dessous sont exclusivement celles de Shadow15510. Ensuite, la raison du hors-concours — et elle est double. Droppy s'appuie intensément sur libFPM, la bibliothèque de calcul en virgule fixe que SlyVTT avait écrite bien avant le concours, et écrite avec l'aide d'une IA, là où le règlement de cette édition est parfaitement clair sur le sujet. Il aurait fallu refaire toute cette partie pour concourir officiellement, ce que la semaine impartie ne permettait pas. À quoi s'ajoute un recyclage massif et parfaitement assumé de briques venues de Npp, d'OutRun 2, de Shmup ou de Sushi Assassination, quand le concours demande du code écrit pendant l'épreuve. Le mot employé par l'intéressé au moment de rendre sa copie est le bon : « ce serait donc unfair ». Il s'est déclaré hors-concours de sa propre initiative, avant même qu'on ait eu à lui poser la question. Ces notes n'entrent donc pas dans le classement, et le jeu n'est présenté ici que pour le plaisir. Vous êtes Droppy, le produit d'une expérience conduite au CEET — Centre d'Études des États Transitoires — par la Professeur Ann Hydrus. Depuis, vous changez d'état selon votre température : eau, glace, vapeur ou neige. Et la trouvaille tient à ceci que chacun de ces quatre états passe exactement là où les trois autres coincent : « L'eau saute mais disparaît dans la première bonde, la glace défonce les cloisons mais ne saute pas, la vapeur passe les grilles mais le moindre souffle l'emporte. » Tout le jeu tient alors dans une seule phrase, et elle est très bien trouvée : il faut prévoir ce qu'on devra être avant d'y être. C'est là que l'objet devient intéressant, parce que le puzzle ne porte pas sur le décor mais sur vous. Une grille infranchissable devient un couloir dès qu'on est vapeur ; un mur devient une porte dès qu'on est glace ; et la salle qu'on vient de traverser en sautant devient un piège mortel si on y revient sous une autre forme. On ne cherche pas le chemin, on cherche la séquence d'états qui rend le chemin possible — et il faut la planifier avant de s'engager, parce qu'on ne se réchauffe pas où on veut. Trente salles à traverser, donc, dans un bâtiment que plus personne n'entretient : tuyauterie, machineries, ascenseurs, portes et sas composent un univers cohérent de bout en bout, servi par une tuile de brique sombre et des mécanismes qui donnent immédiatement envie d'aller voir ce qu'il y a derrière. Le HUD dit tout ce qu'il faut : gouttes collectées, total à atteindre, numéro d'essai et nom de la salle en cours. Quant aux 87 gouttes roses disséminées dans le complexe, rien ne vous oblige à les ramasser — et c'est précisément pour ça qu'elles comptent. Laissons la conclusion à Shadow15510, seul juge autorisé sur ce coup-là : « Une très belle production de SlyVTT sous forme d'un plateformer où vous devrez jouer avec… les différents états de l'eau ! Un concept original et unique pour ce CPC : alors que plusieurs autres productions se sont focalisées sur l'irrigation, dans lesquelles l'eau est une ressource à déplacer, SlyVTT nous propose de jouer l'eau, directement, et de jouer avec ses différents états pour traverser différentes salles. » La remarque est fine, et elle vaut pour toute l'édition : sur sept participations, six font de l'eau quelque chose que le joueur manipule — un flux à détourner, une ressource à livrer, une surface à geler, un niveau à régler, un seau à porter. Une seule fait de l'eau le joueur lui-même. Cela valait la peine d'être noté, même hors classement. Côté notes, Shadow15510 a été enthousiaste, avec un carton plein sur quatre des cinq critères : contrôles précis, difficulté exigeante mais lisible, progression bien dosée, univers convaincant, et un vrai plaisir de complétion qui pousse à revisiter les salles déjà franchies. Un dernier mot, parce que l'intéressé ne se le décernera pas tout seul : en rendant sa copie, SlyVTT avouait être « (très) content de mes assets graphiques, pour une fois car c'est vraiment ma faiblesse ». Le 3/3 de Shadow15510 sur ce critère précis lui donne raison. Pour un concours auquel on ne concourt pas, c'était sans doute la plus belle récompense à décrocher. Item évaluéSlyVTTShadow15510Note retenueBarème Gameplayauteur33 / 3 Points Graphismes et interfaceauteur33 / 3 Points Narration et universauteur22 / 2 Points Level designauteur11 / 1 Point Interprétations originales / bonusauteur00 / 1 Point Appréciation générale—99 / 10 Points (hors-concours) -------------------------------- Conclusion : six façons de parler d'eau Disons-le tout net : le niveau de ce CPC #33 est excellent, et surtout d'une variété réjouissante. Six participations, six genres différents, et pas une seule redite. Le thème de l'eau, qu'on aurait pu croire limitant, a au contraire fait exploser les idées : ressource à gérer, fluide à faire circuler, niveau à faire monter et descendre, élément à faire geler, couleur à faire revenir, état de la matière à changer. C'est exactement ce qu'on attend d'un thème de concours. Une chose nous a beaucoup amusés en relisant vos pages de présentation : vous avez été quatre à partir de la même idée sans vous concerter. « Une violente sécheresse touche l'archipel » chez Mb88, « À cause de la sécheresse, le monde a perdu sa couleur » chez Lephenixnoir, « Suite à la sécheresse, vous devez aller arroser le dernier arbre sur terre » chez Redoste, et une cité-oasis dont l'eau vient à manquer chez Farhi. L'annonce du concours ouvrait pourtant sur deux pistes opposées — la rareté ou l'abondance — et c'est la première qui a raflé la mise, à quatre voix contre zéro. Il faut croire que l'été a laissé des traces. Amusant de constater que, partis du même point, vous avez tous abouti à des jeux radicalement différents. Deux tendances méritent d'être soulignées. La première, c'est la montée en puissance de la 3D sur nos machines : entre l'isométrie de Dam That River et la 3D temps réel de Desalination Master, ce qui relevait de la démo technique il y a quelques années devient un support de jeu à part entière. La seconde, c'est que Python n'a plus à rougir : avec une seule participation, PythonExtra place tout de même un jeu sur le podium. Un mot sur le détail des notations, maintenant que vous les avez toutes sous les yeux. Ce qui frappe, c'est à quel point les deux testeurs sont tombés d'accord : nous avons noté chacun de notre côté, sans nous concerter, et l'écart maximal entre nos deux totaux est d'un point sur dix (sur Dam That River et Icicle), avec même une égalité parfaite sur Water Logic. Les rares divergences sont explicables : Shadow15510 a été plus généreux sur le gameplay des jeux de gestion, SlyVTT plus enclin à distribuer le point de bonus. Quand deux personnes qui n'ont ni le même parcours ni les mêmes goûts arrivent au même classement, c'est plutôt rassurant sur la solidité de celui-ci. Un constat plus critique, en revanche, et il est commun à presque toutes les participations : la narration et l'univers restent le parent pauvre. Sur les six jeux en compétition, un seul dépasse 1,25/2 sur cet axe. Et le plus rageant, c'est qu'en préparant cet article nous avons découvert que le lore existe — il est juste au mauvais endroit. Le monopole d'État sur la désalinisation, le demi-écureuil qui est le seul à voir encore les couleurs, le dernier arbre sur Terre : ce sont de très belles accroches, elles sont écrites, elles sont même souvent mieux tournées que ce qu'on aurait fait nous-mêmes... et elles vivent toutes sur la page du programme, pas dans le jeu. Le joueur qui lance l'add-in depuis sa calculatrice, lui, n'en verra jamais un mot. SlyVTT et Shadow15510 saluent en tout cas la qualité globale des participations, tant sur le plan technique qu'artistique. Les idées sont là, le soin aussi, et malgré les bugs ou les manques ponctuels, on a passé de très bons moments à tester vos contributions. Le détail complet des évaluations est repris dans le fichier joint : n'hésitez pas à vous en servir pour faire progresser vos jeux, ils le méritent tous. Il nous faut désormais désigner nos vainqueurs. Voici donc le classement des six contributions reçues. RankingJeu (auteur)SlyVTTShadow15510Note moyenne #1Hydralis (Farhi)8.598.75 / 10 #2L'aquarelle (Lephenixnoir)8.588.25 / 10 #3Water Logic (Redoste)6.56.56.5 / 10 #4Desalination Master (Mb88)5.565.75 / 10 #5Dam That River (Fcalva)3.54.54 / 10 #6Icicle (Alice)343.5 / 10 —Droppy (SlyVTT) — hors-concoursauteur99 / 10 Un demi-point. C'est tout ce qui sépare nos deux premiers, et autant dire que le classement s'est joué sur le fil — au point que SlyVTT les avait placés strictement ex æquo à 8,5. Félicitations à Farhi, qui se hisse sur la première marche du podium avec son superbe Hydralis — une aventure en 2.5D qui réussit à être à la fois belle, jouable et habitée, et qui est surtout la seule à avoir fait du thème sa mécanique centrale plutôt que son décor. Ce n'est pas donné à tout le monde en une semaine. Juste derrière, et premier dauphin, notre Lephenixnoir (inter-)national et sa L'aquarelle, belle production du concours et démonstration éclatante qu'un thème peut se raconter uniquement par la couleur. Mention spéciale à Redoste qui, avec la seule participation en Python de cette édition, s'offre une troisième place tout à fait méritée grâce à un level design impeccable. Grâce aux dons de nos partenaires, Casio Education et Calcuso, Farhi se voit donc récompensé d'une calculatrice Graph Light accompagnée d'une coque de protection. Lephenixnoir, quant à lui, ne repartira pas les mains vides : quelques surprises de la collection l'attendent. Un immense bravo et un immense merci à tous les participants : vous avez su faire couler l'eau dans tous les sens du terme, et il en est ressorti six jeux dont chacun a sa personnalité. On espère revoir ces projets étoffés en versions post-concours, ou découvrir vos prochaines pépites lors des prochaines éditions ! De la part de l'organisation, un grand merci à Toutes et Tous !!! Sun, 16 Aug 2026 20:49:56 +0200 Erreurs de détection de calculatrices en USB sous Linux https://www.planet-casio.com/Fr/forums/topic19686--.html Ce matin ma Math+ n'est plus auto-détectée en USB sous Linux. Le périphérique existe (e.g. `/dev/sda1`), et je peux la monter à la main avec `mount` en ligne de commande, mais le périphérique n'est plus listé dans l'explorateur de fichiers et n'est plus détecté par fxlink. Quitte à debugger ça et à y passer la journée, je voulais laisser quelque notes pour les gens qui auraient le même problème ou des problèmes similaires et cherchent des mots-clés. TL;DR : C'est les I/O error et ma solution est de patcher libblkid dans util-linux comme un sagouin pour les ignorer. fxlink utilise udisks2 pour lister les calculatrices et les auto-monter. `udisksctl dump` (ou `monitor`) permet de voir les propriétés des objets, et initialement la partition de la Math+ n'est pas détectée comme un système de fichiers (sortie abrégée): % udisks dump /org/freedesktop/UDisks2/block_devices/sda1: # Graph Math+ org.freedesktop.UDisks2.Block: Drive: '/org/freedesktop/UDisks2/drives/CASIO_ColorGraph_0000mpLMb3D2' IdType: IdUsage: IdVersion: Size: 4766208 /org/freedesktop/UDisks2/block_devices/sdb1: # Graph 90+E org.freedesktop.UDisks2.Block: Drive: '/org/freedesktop/UDisks2/drives/CASIO_ColorGraph_0000IGQcGRe9' IdType: vfat IdUsage: filesystem IdVersion: FAT16 Size: 16837632 J'ai creusé dans le code source de udisks et ultimement `IdUsage` est affecté à partir de la propriété `ID_FS_USAGE` déclarée par udev. De fait, udev montre bien une différence de détection : % sudo udevadm info --root --name=/dev/sda1 # Graph Math+ (...) E: ID_PART_TABLE_TYPE=dos % sudo udevadm info --root --name=/dev/sdb1 # Graph 90+E (...) E: ID_FS_VERSION=FAT16 E: ID_FS_BLOCKSIZE=4096 E: ID_FS_SIZE=16837632 E: ID_FS_TYPE=vfat E: ID_FS_USAGE=filesystem E: ID_PART_ENTRY_SCHEME=dos E: ID_PART_ENTRY_TYPE=0xe E: ID_PART_ENTRY_NUMBER=1 E: ID_PART_ENTRY_OFFSET=29 E: ID_PART_ENTRY_SIZE=32886 E: ID_PART_ENTRY_DISK=8:16 udev fait partie de systemd, donc pour le code c'est systemd. CalcLoverHK avait déjà identifié que la montée de version de systemd 260 à 261 déclenchait le problème pour lui, donc on approche sans doute. La ligne `ID_FS_USAGE` est générée à cet endroit à partir de la propriété "`USAGE`" d'un `blkid_probe` de `libblkid`. C'est cette lib qui est chargée de détecter le type des périphériques blocs ; `blkid(8)` pour plus d'infos. Mais blkid détecte bien les deux périphériques : % sudo blkid --probe /dev/sda1 # Graph Math+ /dev/sda1: SEC_TYPE="msdos" LABEL_FATBOOT="CASIO" VERSION="FAT12" FSBLOCKSIZE="4096" BLOCK_SIZE="512" FSSIZE="4766208" TYPE="vfat" USAGE="filesystem" PART_ENTRY_SCHEME="dos" PART_ENTRY_TYPE="0x1" PART_ENTRY_NUMBER="1" PART_ENTRY_OFFSET="29" PART_ENTRY_SIZE="9309" PART_ENTRY_DISK="8:0" % sudo blkid --probe /dev/sdb1 # Garph 90+E /dev/sdb1: SEC_TYPE="msdos" LABEL_FATBOOT="CASIO" VERSION="FAT16" FSBLOCKSIZE="4096" BLOCK_SIZE="512" FSSIZE="16837632" TYPE="vfat" USAGE="filesystem" PART_ENTRY_SCHEME="dos" PART_ENTRY_TYPE="0xe" PART_ENTRY_NUMBER="1" PART_ENTRY_OFFSET="29" PART_ENTRY_SIZE="32886" PART_ENTRY_DISK="8:16" La fonction de udev qui invoque blkid étant un builtin, on peut également l'invoquer en ligne de commande. Et là, le résultat diffère selon le moment. Après avoir branché la calto, j'ai une erreur de permissions, mais monter manuellement avec `mount` donne le résultat attendu. % sudo udevadm test-builtin blkid /dev/sda1 # Graph Math+ (...) Loaded shared library 'libblkid.so.1' via dlopen(). sda1: Probe /dev/sda1 with raid and offset=0 sda1: Failed to probe superblocks: Operation not permitted Builtin command 'blkid' fails: Operation not permitted % sudo mount /dev/sda1 /mnt % sudo udevadm test-builtin blkid /dev/sda1 # Graph Math+ (...) Loaded shared library 'libblkid.so.1' via dlopen(). sda1: Probe /dev/sda1 with raid and offset=0 ID_FS_VERSION=FAT12 ID_FS_BLOCKSIZE=4096 ID_FS_SIZE=4766208 ID_FS_TYPE=vfat ID_FS_USAGE=filesystem ID_PART_ENTRY_SCHEME=dos ID_PART_ENTRY_TYPE=0x1 ID_PART_ENTRY_NUMBER=1 ID_PART_ENTRY_OFFSET=29 ID_PART_ENTRY_SIZE=9309 ID_PART_ENTRY_DISK=8:0 blkid a un cache donc il est possible que les données aient été entrées dans le cache par le kernel au moment du montage. Je note que "Operation not permitted" (`EPERM`) c'est pas le même genre d'erreur que l'habituel "Permission denied (`EACCES`), mais je n'en vois pas d'occurrence explicite dans libblkid, ça doit être un code d'erreur qui remonte d'un syscall. Bon là ça devient technique mais après avoir bien fouillé, les logs de libblkid s'activent avec une variable d'environnement, et on peut rejouer l'application des règles udev avec `udevadm test`. % sudo env LIBBLKID_DEBUG=lowprobe udevadm test /dev/sda1 (...) Processing udev rules (verbose logs can be shown by -v/--verbose)... sda1: /usr/lib/udev/rules.d/50-udev-default.rules:93 GROUP="disk": Set group ID: 995 sda1: /usr/lib/udev/rules.d/60-persistent-storage.rules:78 SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_SERIAL}$env{.PART_SUFFIX}": Added device node symlink "disk/by-id/usb-CASIO_ColorGraph_0000mpLMb3D2-0:0-part1". sda1: /usr/lib/udev/rules.d/60-persistent-storage.rules:114 SYMLINK+="disk/by-path/$env{ID_PATH}$env{.PART_SUFFIX}": Added device node symlink "disk/by-path/pci-0000:c1:00.3-usb-0:2.3.3:1.0-scsi-0:0:0:0-part1". sda1: /usr/lib/udev/rules.d/60-persistent-storage.rules:116 SYMLINK+="disk/by-path/$env{ID_PATH_WITH_USB_REVISION}$env{.PART_SUFFIX}": Added device node symlink "disk/by-path/pci-0000:c1:00.3-usbv2-0:2.3.3:1.0-scsi-0:0:0:0-part1". sda1: /usr/lib/udev/rules.d/60-persistent-storage.rules:133 IMPORT{builtin}="blkid": Importing properties from results of builtin command "blkid". 3068011: libblkid: INIT: library debug mask: 0x0102 3068011: libblkid: INIT: library version: 2.42.2 [16-Jun-2026] Loaded shared library 'libblkid.so.1' via dlopen(). 3068011: libblkid: LOWPROBE: allocate a new probe 3068011: libblkid: LOWPROBE: zeroize wiper 3068011: libblkid: LOWPROBE: ready for low-probing, offset=0, size=4766208, zonesize=0, iosize=512 3068011: libblkid: LOWPROBE: whole-disk: NO, regfile: NO sda1: Probe /dev/sda1 with raid and offset=0 3068011: libblkid: LOWPROBE: start probe 3068011: libblkid: LOWPROBE: zeroize wiper 3068011: libblkid: LOWPROBE: chain safeprobe superblocks ENABLED 3068011: libblkid: LOWPROBE: --> starting probing loop [SUBLKS idx=-1] 3068011: libblkid: LOWPROBE: [0] crypto_LUKS: 3068011: libblkid: LOWPROBE: call probefunc() 3068011: libblkid: LOWPROBE: read: off=0 len=512 3068011: libblkid: LOWPROBE: [1] linux_raid_member: 3068011: libblkid: LOWPROBE: call probefunc() 3068011: libblkid: LOWPROBE: read: off=4653056 len=512 3068011: libblkid: LOWPROBE: read: off=4755456 len=512 3068011: libblkid: LOWPROBE: read: off=4096 len=512 3068011: libblkid: LOWPROBE: [2] ddf_raid_member: 3068011: libblkid: LOWPROBE: call probefunc() 3068011: libblkid: LOWPROBE: read: off=4765696 len=512 3068011: libblkid: LOWPROBE: read: off=4634624 len=512 3068011: libblkid: LOWPROBE: [3] isw_raid_member: 3068011: libblkid: LOWPROBE: call probefunc() 3068011: libblkid: LOWPROBE: [4] lsi_mega_raid_member: 3068011: libblkid: LOWPROBE: call probefunc() 3068011: libblkid: LOWPROBE: [5] via_raid_member: 3068011: libblkid: LOWPROBE: call probefunc() 3068011: libblkid: LOWPROBE: [6] silicon_medley_raid_member: 3068011: libblkid: LOWPROBE: call probefunc() 3068011: libblkid: LOWPROBE: [7] nvidia_raid_member: 3068011: libblkid: LOWPROBE: call probefunc() 3068011: libblkid: LOWPROBE: [8] promise_fasttrack_raid_member: 3068011: libblkid: LOWPROBE: call probefunc() 3068011: libblkid: LOWPROBE: [9] hpt45x_raid_member: 3068011: libblkid: LOWPROBE: call probefunc() 3068011: libblkid: LOWPROBE: [10] hpt37x_raid_member: 3068011: libblkid: LOWPROBE: read: off=4608 len=512 3068011: libblkid: LOWPROBE: [11] adaptec_raid_member: 3068011: libblkid: LOWPROBE: call probefunc() 3068011: libblkid: LOWPROBE: [12] jmicron_raid_member: 3068011: libblkid: LOWPROBE: call probefunc() 3068011: libblkid: LOWPROBE: [13] bcache: 3068011: libblkid: LOWPROBE: [14] bcachefs: 3068011: libblkid: LOWPROBE: read: off=2097152 len=512 3068011: libblkid: LOWPROBE: read: off=3717632 len=512 3068011: libblkid: LOWPROBE: [15] ceph_bluestore: 3068011: libblkid: LOWPROBE: [16] drbd: 3068011: libblkid: LOWPROBE: read: off=4762112 len=512 3068011: libblkid: LOWPROBE: [17] drbdmanage_control_volume: 3068011: libblkid: LOWPROBE: [18] drbdproxy_datalog: 3068011: libblkid: LOWPROBE: [19] LVM2_member: 3068011: libblkid: LOWPROBE: read: off=512 len=512 3068011: libblkid: LOWPROBE: read: off=1024 len=512 3068011: libblkid: LOWPROBE: read: off=1536 len=512 3068011: libblkid: LOWPROBE: [20] LVM1_member: 3068011: libblkid: LOWPROBE: [21] DM_snapshot_cow: 3068011: libblkid: LOWPROBE: [22] DM_verity_hash: 3068011: libblkid: LOWPROBE: [23] DM_integrity: 3068011: libblkid: LOWPROBE: [24] crypto_LUKS: 3068011: libblkid: LOWPROBE: call probefunc() 3068011: libblkid: LOWPROBE: [25] VMFS_volume_member: 3068011: libblkid: LOWPROBE: read: off=1048576 len=512 3068011: libblkid: LOWPROBE: [26] ubi: 3068011: libblkid: LOWPROBE: [27] vdo: 3068011: libblkid: LOWPROBE: [28] stratis: 3068011: libblkid: LOWPROBE: [29] BitLocker: 3068011: libblkid: LOWPROBE: [30] cs_fvault2: 3068011: libblkid: LOWPROBE: [31] vfat: 3068011: libblkid: LOWPROBE: magic sboff=54, kboff=0 3068011: libblkid: LOWPROBE: call probefunc() 3068011: libblkid: LOWPROBE: look for label in root-dir (entries: 512, offset: 9728) 3068011: libblkid: LOWPROBE: read: off=9728 len=16384 3068011: libblkid: LOWPROBE: read failed: Success 3068011: libblkid: LOWPROBE: assigning SEC_TYPE 3068011: libblkid: LOWPROBE: assigning LABEL_FATBOOT 3068011: libblkid: LOWPROBE: assigning VERSION 3068011: libblkid: LOWPROBE: assigning FSBLOCKSIZE 3068011: libblkid: LOWPROBE: assigning BLOCK_SIZE 3068011: libblkid: LOWPROBE: assigning FSSIZE 3068011: libblkid: LOWPROBE: assigning TYPE 3068011: libblkid: LOWPROBE: assigning USAGE 3068011: libblkid: LOWPROBE: <-- leaving probing loop (type=vfat) [SUBLKS idx=31] 3068011: libblkid: LOWPROBE: saving superblocks values 3068011: libblkid: LOWPROBE: --> starting probing loop [SUBLKS idx=31] 3068011: libblkid: LOWPROBE: [32] swsuspend: 3068011: libblkid: LOWPROBE: read: off=3584 len=512 3068011: libblkid: LOWPROBE: read: off=7680 len=512 3068011: libblkid: LOWPROBE: read: off=15872 len=512 3068011: libblkid: LOWPROBE: read: off=32256 len=512 3068011: libblkid: LOWPROBE: read failed: Input/output error 3068011: libblkid: LOWPROBE: <-- leaving probing loop (failed=-5) [SUBLKS idx=32] 3068011: libblkid: LOWPROBE: freeing values list 3068011: libblkid: LOWPROBE: free value SEC_TYPE 3068011: libblkid: LOWPROBE: free value LABEL_FATBOOT 3068011: libblkid: LOWPROBE: free value VERSION 3068011: libblkid: LOWPROBE: free value FSBLOCKSIZE 3068011: libblkid: LOWPROBE: free value BLOCK_SIZE 3068011: libblkid: LOWPROBE: free value FSSIZE 3068011: libblkid: LOWPROBE: free value TYPE 3068011: libblkid: LOWPROBE: free value USAGE 3068011: libblkid: LOWPROBE: end probe 3068011: libblkid: LOWPROBE: zeroize wiper sda1: Failed to probe superblocks: Operation not permitted 3068011: libblkid: LOWPROBE: buffers summary: 8704 bytes by 17 read() calls 3068011: libblkid: LOWPROBE: free probe sda1: /usr/lib/udev/rules.d/60-persistent-storage.rules:133 IMPORT{builtin}="blkid": Failed to run builtin "blkid": Operation not permitted sda1: /usr/lib/udev/rules.d/60-persistent-storage.rules:152 SYMLINK+="disk/by-path/$env{ID_PATH}-part/by-partnum/%n": Added device node symlink "disk/by-path/pci-0000:c1:00.3-usb-0:2.3.3:1.0-scsi-0:0:0:0-part/by-partnum/1". sda1: /usr/lib/udev/rules.d/60-persistent-storage.rules:164 SYMLINK+="disk/by-diskseq/$env{DISKSEQ}$env{.PART_SUFFIX}": Added device node symlink "disk/by-diskseq/81-part1". Processing udev rules done. (...) Notez que le disque est identifié comme FAT à `[31]`, mais durant la suite des tests sur `[32]` `swsuspend` une erreur de lecture se produit et donne `failed=-5` (`EIO` 5 I/O Error). Le EPERM est probablement faux (e.g. confusion avec valeur d'erreur -1 venant d'ailleurs). Et c'est là l'explication donc, les I/O Error sans fin de la calto nous rattrapent. Pour contexte, les caltos en USB font des I/O Error tout le temps, en voici un sample (ci-dessous `dmesg` lors de la connection) : [ +0.000291] scsi host0: usb-storage 1-2.3.3:1.0 [ +1.046329] scsi 0:0:0:0: Direct-Access CASIO ColorGraph 1.00 PQ: 0 ANSI: 0 CCS [ +0.000757] sd 0:0:0:0: Attached scsi generic sg0 type 0 [ +0.001665] sd 0:0:0:0: 32915 512-byte logical blocks: (16.9 MB/16.1 MiB) [ +0.000290] sd 0:0:0:0: Write Protect is off [ +0.000007] sd 0:0:0:0: Mode Sense: 07 00 00 08 [ +0.000165] sd 0:0:0:0: No Caching mode page found [ +0.000005] sd 0:0:0:0: Assuming drive cache: write through [ +0.029237] sda: sda1 [ +0.000189] sd 0:0:0:0: Attached SCSI removable disk [ +0.023962] scsi_io_completion_action: 6 callbacks suppressed [ +0.000007] sd 0:0:0:0: tag#0 FAILED Result: hostbyte=DID_ERROR driverbyte=DRIVER_OK cmd_age=0s [ +0.000006] sd 0:0:0:0: tag#0 CDB: Read(10) 28 00 00 00 00 20 00 00 18 00 [ +0.000003] blk_print_req_error: 6 callbacks suppressed [ +0.000001] I/O error, dev sda, sector 32 op 0x0:(READ) flags 0x880700 phys_seg 3 prio class 2 [ +0.007333] sd 0:0:0:0: tag#0 FAILED Result: hostbyte=DID_ERROR driverbyte=DRIVER_OK cmd_age=0s [ +0.000006] sd 0:0:0:0: tag#0 CDB: Read(10) 28 00 00 00 00 40 00 00 38 00 [ +0.000003] I/O error, dev sda, sector 64 op 0x0:(READ) flags 0x80700 phys_seg 7 prio class 2 [ +0.030848] sd 0:0:0:0: tag#0 FAILED Result: hostbyte=DID_ERROR driverbyte=DRIVER_OK cmd_age=0s [ +0.000011] sd 0:0:0:0: tag#0 CDB: Read(10) 28 00 00 00 00 80 00 00 f0 00 [ +0.000005] I/O error, dev sda, sector 128 op 0x0:(READ) flags 0x84700 phys_seg 30 prio class 2 [ +0.016601] sd 0:0:0:0: tag#0 FAILED Result: hostbyte=DID_ERROR driverbyte=DRIVER_OK cmd_age=0s [ +0.000012] sd 0:0:0:0: tag#0 CDB: Read(10) 28 00 00 00 01 70 00 00 80 00 [ +0.000005] I/O error, dev sda, sector 368 op 0x0:(READ) flags 0x80700 phys_seg 16 prio class 2 [ +0.126252] sd 0:0:0:0: tag#0 FAILED Result: hostbyte=DID_ERROR driverbyte=DRIVER_OK cmd_age=0s [ +0.000011] sd 0:0:0:0: tag#0 CDB: Read(10) 28 00 00 00 01 f0 00 00 10 00 [ +0.000006] I/O error, dev sda, sector 496 op 0x0:(READ) flags 0x880700 phys_seg 2 prio class 2 [ +0.028607] sd 0:0:0:0: tag#0 FAILED Result: hostbyte=DID_ERROR driverbyte=DRIVER_OK cmd_age=0s [ +0.000007] sd 0:0:0:0: tag#0 CDB: Read(10) 28 00 00 00 00 1d 00 00 20 00 [ +0.000003] I/O error, dev sda, sector 29 op 0x0:(READ) flags 0x880700 phys_seg 4 prio class 2 [ +0.030409] sd 0:0:0:0: tag#0 FAILED Result: hostbyte=DID_ERROR driverbyte=DRIVER_OK cmd_age=0s [ +0.000012] sd 0:0:0:0: tag#0 CDB: Read(10) 28 00 00 00 00 3d 00 00 40 00 [ +0.000006] I/O error, dev sda, sector 61 op 0x0:(READ) flags 0x80700 phys_seg 2 prio class 2 [ +0.036291] sd 0:0:0:0: tag#0 FAILED Result: hostbyte=DID_ERROR driverbyte=DRIVER_OK cmd_age=0s [ +0.000014] sd 0:0:0:0: tag#0 CDB: Read(10) 28 00 00 00 00 7d 00 00 80 00 [ +0.000006] I/O error, dev sda, sector 125 op 0x0:(READ) flags 0x80700 phys_seg 3 prio class 2 [ +0.085522] sd 0:0:0:0: tag#0 FAILED Result: hostbyte=DID_ERROR driverbyte=DRIVER_OK cmd_age=0s [ +0.000008] sd 0:0:0:0: tag#0 CDB: Read(10) 28 00 00 00 00 3d 00 00 20 00 [ +0.000004] I/O error, dev sda, sector 61 op 0x0:(READ) flags 0x800000 phys_seg 32 prio class 2 [ +0.000007] buffer_io_error: 564 callbacks suppressed [ +0.000002] Buffer I/O error on dev sda1, logical block 32, async page read [ +0.000005] Buffer I/O error on dev sda1, logical block 33, async page read [ +0.000003] Buffer I/O error on dev sda1, logical block 34, async page read [ +0.000003] Buffer I/O error on dev sda1, logical block 35, async page read [ +0.000002] Buffer I/O error on dev sda1, logical block 36, async page read [ +0.000003] Buffer I/O error on dev sda1, logical block 37, async page read [ +0.000003] Buffer I/O error on dev sda1, logical block 38, async page read [ +0.000003] Buffer I/O error on dev sda1, logical block 39, async page read [ +0.000002] Buffer I/O error on dev sda1, logical block 40, async page read [ +0.000020] Buffer I/O error on dev sda1, logical block 41, async page read Ça a toujours été, et jamais été un problème (encore que les "Buffer I/O" je les reconnais pas, c'est peut-être nouveau/ça). Mais là ça se met à tomber pile sur les requêtes de libblkid et donc libblkid abandonne avant de renvoyer son résultat, qui est que c'est un système de fichiers FAT x3 Je vous passe les détails, mais j'ai réussi à patcher libblkid pour que ces erreurs soient ignorées. Ça pourrait avoir euh... des effets involontaires donc à utiliser à vos risque et périls, enfin moi ça m'empêchera pas de dormir la nuit d'avoir ça sur mon système. :here: Patch : libblkid.patch (zippé) Comment l'utiliser dépendra de votre distro ; dans mon cas sous Arch Linux, en gros : 1. `yay -G util-linux` et modifier le PKGBUILD 2. Appliquer le patch dans `prepare()` 3. Commenter les tests dans `check()` (trop lent) 4. `makepkg -fsi` (après plusieurs fois install plante stupidement, auquel cas faut deep clean) 5. Tester avec `blkid(8)` et `udevadm test` 6. `systemctl restart systemd-udevd` une fois que c'est bon Voilà en fin de compte c'est bordélique mais ma calto remarche~ Sun, 16 Aug 2026 16:33:27 +0200 LGBT Math Plus Mod https://www.planet-casio.com/Fr/forums/topic19683--.html yo guys i just made a LGBT variant of MPM logo is it cool Sat, 15 Aug 2026 18:28:16 +0200 Editeur d'image https://www.planet-casio.com/Fr/forums/topic19680--.html Hello, J'ai un peu chercher mais je n'ai pas encore trouvé de logiciel/moyen d'enregistrer des images (dessinées par mes soins) sur une Graph75+. Quel est le meilleur moyen de le faire ? Autant le texte je gère avec les programmes ou l'eact maker mais impossible pour moi d'enregistrer autre chose que du texte et symboles. Merci d'avance ! Fri, 14 Aug 2026 17:54:03 +0200 Mon départ https://www.planet-casio.com/Fr/forums/topic19675--.html Salut salut. Comme vous avez remarqué, je suis quasiment plus du tout actif sur le site, se qui m'a amené à passer à autre chose car je ne programme plus et des choses plus importantes m'attendent, ce qui m'amène à me concentrer plus dessus. Ducoup comme je trouvais sa impoli d'être là sans rien dire a propos de moi, donc je me suis dit qu'il était temps de tourner la page. Alors ducoup bah au-revoir, et à bientôt dans un futur encore incertain. Je repasserai de temps en temps pour faire coucou :) . Bye Ps : j'ai écris tout tout seul pour ce qui pense que c'est du chatgpt. :lol: Wed, 12 Aug 2026 09:40:21 +0200 La Revue des Projets – 249 https://www.planet-casio.com/Fr/forums/topic19672--.html Bonjour à toutes et tous ! On se retrouve aujourd'hui entre la clôture du concours de Planète Casio #33 et l'annonce des résultats pour une Revue des Projets un peu inhabituelle puisque nous sommes lundi. Au programme, SlyVTT qui n'en finit pas de sortir des nouveaux projets tous plus alléchants les uns que les autres, mais aussi Fcalva qui va nous parler de compression de textures et Mb88 qui nous donne des nouvelles de son convertisseur Markdown vers BBCode dont il nous avait déjà parlé ici. Au début je voulais intercaler chaque projet de SlyVTT avec un autre pour ne pas avoir un énorme pavé "SlyVTT", mais j'ai dû me rendre à l'évident, avec 4 projets sur 6, impossible d'y couper… Donc c'est parti pour une RDP saturée en port de jeu iconiques et en graphismes fous ! :p * * * * * Lumines Eh oui car SlyVTT non content d'avoir plein de projets en cours, s'est dit qu'il allait aussi terminer ses anciens projets… donc Lumines fait partie ! Lumines est un jeu semblable au très connu Tétris dont SlyVTT avait déjà fait un port avec la cSDL. Peu convaincu par les performances d'alors, SlyVTT s'est remis au travail pour proposer une nouvelle version, tournant cette fois sur Azur pour un résultat beaucoup plus fluide ! Quelques détails sont encore à corriger, mais on nous a promis des mises à jours. https://youtu.be/0Ess1E23E74 Liens utiles :here: Topic du projet :here: Page de téléchargement * * * * * Another World Le jeu iconique Another World d'Éric Chahi (1991) est maintenant disponible sur vos Graph 90+E ! Encore un tour de force de SlyVTT qui nous en met plein les yeux avec une réalisation très propre. Jugez par vous-même : another_world_original.png another_world_slyvtt.png Saurez-vous faire la différence entre l'image d'origine et le screen de la calculatrice ? Vidéo à l'appui, SlyVTT nous met l'eau à la bouche en quelques secondes seulement, une cutscene d'une fluidité incroyable (la calculatrice est overclockée à 93 MHz), tout le contenu du jeu d'origine entièrement porté sur la fx-GC50/Math+ grâce à Gint. SlyVTT n'a pas non plus oublié de mettre des touches facilement accessibles pour les sauvegardes / recharges de partie (si si c'est utile vous allez voir). Et vous n'êtes toujours pas en train d'y jouer ? https://youtu.be/uWEuMnMpjdQ Liens utiles :here: Topic du projet :here: Page de téléchargement * * * * * cBC1 : compression d'images Une petite pause dans les projets fous de jeu pour un sujet un peu plus technique mais non moins utile ! Et c'est Fcalva qui nous régale cette fois-ci avec un port du format d'image BC1/DXT1. Ce format d'images peu connu mais très utile compresse très efficacement les images en utilisant 4 bits par pixels, ce qui fait une taille comparable au p4, tout en ayant une fidélité digne du p8, soit environ une division par 2 de la taille. Quelques exemples montrés par Fcalva : https://www.planet-casio.com/storage/forums/1781551217-202182.png Un rapide coup d'œil suffit à se rendre compte que les courbes les plus fines et le pixel art supportent assez mal la compression. Mais pour des textures plus homogènes, le rendu est très similaire entre BC1 et p8. Toutefois, le BC1 pourrait rester une solution intéressante pour des fonds d'écrans ou, qui sait, des textures pour de la 3D ? Liens utiles :here: Topic du projet :here: Lien du dépôt git * * * * * Nppclone : un clone du jeu N++ Nous avions déjà eu l'occasion de parler du clone de N++ de SlyVTT dans la précédente revue des projets qui présentait la sortie de la version 1.0 du port. Un port auquel SlyVTT avait ajouté quelques fonctionnalités maison pour rajouter au délire. Ces petites modifications du moteur ont cependant un impact sur la fluidité du jeu dans certains niveaux particulièrement chargés. SlyVTT s'est donc attelé a une version 2.0 qui se veut plus proche du jeu d'origine, abandonnant au passage les fioritures pour se concentrer sur les performances du jeu pour tous les niveaux. En plus des quelque 600 niveaux proposés par Nppclone, le port du jeu intègre désormais un système de trophées au visuel léché : rdp249_npp.png Liens utiles :here: Topic du projet :here: Page de téléchargement * * * * * Vintage RPG Et le dernier des projets de SlyVTT : Vintage RPG. Une démonstration technique d'un RPG tout en ASCII-art qui rappelle la bonne vieille époque du locate Basic ou C.Basic. https://www.youtube.com/watch?v=rSnYgMKyd9E SlyVTT nous a promis une version plus complète à venir avec un scénario plus aboutit. Liens utiles :here: Topic du projet * * * * * md2bb : convertisseur Markdown vers BBCode Et on termine cette Revue des Projets bien remplie avec des nouvelles du convertisseur Markdown vers BBCode de Mb88. Le convertisseur a fait l'objet de plusieurs phases de développement, actuellement en Perl, `md2bb` supporte désormais toutes les fonctionnalités prévues initialement par Mb88 : listes, titres de niveau 1 à 6, emphase, liens, images, code inline et j'en passe. L'utilisation se fait par un terminal : $ perl md2bb.pl < mon_fichier.md Un outil bien pratique pour écrire sa doc en Markdown, laisser le fichier md sur un dépôt git et avoir la version identique, en BBCode, dans un topic ! ;) Liens utiles :here: Topic du projet :here: Lien du dépôt git * * * * * Et voila qui clôture cette RDP ! On se retrouve très bientôt pour l'annonce des résultats de la 33ᵉ édition du Concours de Planète Casio ! Depuis la dernière RdP, 27 programmes ont été postés : Les jeux ayant participé au CPC #33 : :here: Desalination Master de Mb88 :here: Dam That River de Fcalva :here: L'Aquarelle de Lephenixnoir :here: Droppy de Slyvtt :here: Water Logic de Redoste :here: Icicle de Alice :here: Hydralis de Farhi :here: fxGBA de Lightmare :here: ventris (py graphics lib) de 7amithorn :here: N++ fx-CG Edition de Slyvtt :here: Physium de Hopedcrown :here: CVFPlayer de Lechat :here: Nintendo world cup de Lou973 :here: Chat bot de Lou973 :here: fxfortune de Mb88 :here: Another World de Slyvtt :here: N++ fxCG Edition v2.0 de Slyvtt :here: Flashback de Slyvtt :here: Connections de NULL :here: Cookie Clicker de Spenceboy98 :here: Connections de Daniel86009 :here: ChatGPT de Jupiko :here: Lumines de Slyvtt :here: The BoyKisser DemoScene de Melvyzk :here: The BoyKisser RPG de Melvyzk :here: Crosswords de Potchkee :here: wordle for calculator de Climberdude Lire la RdP précédente : La Revue des Projets – 248 Besoin d'aide ? Une idée ? Un projet ? Un article ! Mon, 10 Aug 2026 14:14:08 +0200 notification sur téléphone de la shoutbox https://www.planet-casio.com/Fr/forums/topic19667--.html (cette version n'est pas la version définitif, il y a encore des améliorations a faire) Ces derniers temps j'ai fais un programme qui vérifie la shoutbox annonces et si il y a un changement envoie une notification (Attention pour Android seulement ! Désolée les utilisateur iOS :oops: peut-être j'adapterais un jour pour vous). J'ai trouvé que ça pourrait être pratique pour tout le monde alors je le poste ici. ;) ^^ ​FONCTIONEMENT ET UTILISATION Le programme vérifie la page API de la shoutbox annonces toute les 1min et la compare à une version précédente, si il y a une différence et que le rajout n'est pas fait par vous-même: il compte le nombre de nouveaux messages et active une notification : https://i.ibb.co/XrHJ7dtR/image-3.png -Si l'on appuis sur -Voir shoutbox- l'on peut voir ceci: https://i.ibb.co/bRJK4VyF/Screenshot-2026-08-09-15-17-30-44-2e840d222d67ef3caca3a1c67d71d48f.png -Si l'on appuis sur -Y aller- ça nous rediriges sur la page d'accueil de planet-casio . -Si l'on appuis sur -Desactiver- ça désactive les notification qu'il y a lors d'une modification dans la shoutbox et envoie une notification en silencieux (si l'on clique sur -oui- les notifications se relances): https://i.ibb.co/PGYTfQMJ/image-2.png ​TELECHARGEMENT ET INDEPENDANCES 1. téléchargez MacroDroid. 2. téléchargez ce fichier depuis votre téléphone. 3. sur MacroDroid au commencement autorisez  les notification. (pour les étapes suivantes toujours rester sur MacroDroid) 4. aller sur Exporter/Importer. 5. cliquez sur Importer. 6. sélectionnez notifications-planet-casio.mdr dans votre dossier téléchargement. 7. sélectionnez l'option Effacer les données existantes et tout importer  . 8. une page s'ouvre avec les autorisations spéciales: ↓cliquez sur subvention sur la partie notification : lecture, contrôle et réponse↓ -ducoup, pour notification : lecture, contrôle et réponse : chercher l'application MacroDroid et cliquez dessus, ensuite activez  Autoriser l'accès aux notifications ( si une fenêtre Danger s'active ne vous inquiétez pas ce n'est pas votre téléphone qui se fait hacker c'est juste une autorisation sensible  :lol: , cochez juste "Je suis conscient des risques possibles et j'assume volontairement toutes les conséquences possibles." Attendez que les 10 secondes passes et appuyez sur "Ok") ensuite appuyez sur la flèche retour deux fois. ↓cliquez sur subvention sur la partie Modifier les paramètres du système↓ -donc, pour Modifier les paramètres du système : activez "Autoriser à modifier les paramètres système" et ensuite appuyez sur la flèche retour. 9. dans les onglet en bas de l'écrans allez sur Macros. 10. cliquez sur la zone (le macro) nommée  Envoyer notif et allez à la toute fin, cliquez sur le bloc au dessus de patienter 2 secondes puis cliquez sur tester les actions à partir d'ici puis cliquez sur fleche retour. 11. si deux zones (deux macros) sont entourées de violet c'est qu'un paramètre n'est pas activée, pour cela il suffit juste de cliquer sur la zone (macro) nommée  Envoyer notif  et sur le premier bloc rose cliquez sur "Autorisation manquante - tapez pour l'accorder" ensuite sur "OK", Activez ensuite "Autoriser à définir des alarmes et des rappels" et ensuite cliquez sur la flèche retour deux fois. Mais si aucunes zones était entourée de violet alors il n'y a pas besoins de faire de changement. 12. cliquez sur la zone (le macro) nommée  Envoyer notif. 13. dans la partie action (partie en bleu) cliquez sur le 8ᵉᵐᵉ bloc (le deuxième Si consécutif) puis sur configurer, ensuite appuyez sur le bloc Variable MacroDroid  puis sur configurer, après sur OK et remplacez ensuite "nom d'utilisateur" par votre pseudo (Attention: ne pas oublier les majuscules si il y en a, il faut noter le pseudo en entier sans fautes) ensuite cliquez sur OK et encore sur OK. 14. toujours dans la partie action (partie en bleu) cliquez sur le 23ᵉᵐᵉ bloc (la deuxième  Variable MacroDroid  consécutif qui a en dessous la description #3 ne contient pas nom d'utilisateur) puis sur configurer, ensuite appuyez sur OK puis remplacez ensuite "nom d'utilisateur" par votre pseudo (Toujours attention à ne pas oublier les majuscules si il y en a, il faut noter le pseudo en entier sans fautes c'est important) ensuite appuyez sur OK. 15. toujours dans la partie action (partie en bleu) cliquez sur le 37ᵉᵐᵉ bloc cette fois (la deuxième  Variable MacroDroid  consécutif qui a en dessous la description #3 ne contient pas nom d'utilisateur) puis sur configurer, ensuite appuyez sur OK puis remplacez ensuite "nom d'utilisateur" par votre pseudo (Toujours attention à ne pas oublier les majuscules si il y en a, il faut noter le pseudo en entier sans fautes c'est important) ensuite appuyez sur OK. 16. pour finir appuyez sur la coche en bas à droite de l'écrans (si vous avez de la chance vous n'avez rien, sinon vous avez une pub chiante  :@ ) IMPORTANT: MacroDroid a une limite de jours, il suffit de cliquer sur Ajouter des jours et de cliquer sur Regarder la publicité (+3 jours) pour rajouter 3 jours (même si c'est chiant c'est indispensable  :oops: :@ ) ET VOILA VOUS AVEZ MAINTENANT LES NOTIFICATION DE :EPLANET-CASIO:E Lors du lancement du programme si vous avez une notification (ou pas) il suffit juste de cliquez dessus, c'est normal car il commence sur une ancienne base de donnée de la shoutbox annonces Si vous avez un problème lors du téléchargement, de l'Independence, du fonctionnement ou si vous ne comprenez juste pas quelque chose dites le ————————————— Voici comment avoir la nouvelle version si vous aviez déjà l'encienne: 1. téléchargez ce fichier depuis votre téléphone. 2. aller sur Exporter/Importer. 3. cliquez sur Importer. 4. sélectionnez notifications-planet-casio.mdr dans votre dossier téléchargement. 5. sélectionnez l'option Effacer les données existantes et tout importer. 6. dans les onglet en bas de l'écrans allez sur Macros. 7. appuyez sur https://i.ibb.co/4wjVZ8n7/image-6.png au bloc envoyer notif. 8. cliquez sur la zone (le macro) nommée Envoyer notif et allez à la toute fin, cliquez sur le bloc au dessus de patienter 2 secondes puis cliquez sur tester les actions à partir d'ici. 9. dans la partie action (partie en bleu) cliquez sur le 8ᵉᵐᵉ bloc (le deuxième Si consécutif) puis sur configurer, ensuite appuyez sur le bloc Variable MacroDroid  puis sur configurer, après sur OK et remplacez ensuite "nom d'utilisateur" par votre pseudo (Attention: ne pas oublier les majuscules si il y en a, il faut noter le pseudo en entier sans fautes) ensuite cliquez sur OK et encore sur OK. 10. toujours dans la partie action (partie en bleu) cliquez sur le 23ᵉᵐᵉ bloc (la deuxième  Variable MacroDroid  consécutif qui a en dessous la description #3 ne contient pas nom d'utilisateur) puis sur configurer, ensuite appuyez sur OK puis remplacez ensuite "nom d'utilisateur" par votre pseudo (Toujours attention à ne pas oublier les majuscules si il y en a, il faut noter le pseudo en entier sans fautes c'est important) ensuite appuyez sur OK. 11. toujours dans la partie action (partie en bleu) cliquez sur le 37ᵉᵐᵉ bloc cette fois (la deuxième  Variable MacroDroid  consécutif qui a en dessous la description #3 ne contient pas nom d'utilisateur) puis sur configurer, ensuite appuyez sur OK puis remplacez ensuite "nom d'utilisateur" par votre pseudo (Toujours attention à ne pas oublier les majuscules si il y en a, il faut noter le pseudo en entier sans fautes c'est important) ensuite appuyez sur OK. 12. pour finir appuyez sur la coche en bas à droite de l'écrans 13. appuyez sur https://i.ibb.co/QFfpvzwr/image-7.png au bloc envoyer notif. Sat, 08 Aug 2026 02:04:22 +0200 Outrun 2.0 pour fx-CG50 et Graph Math+ https://www.planet-casio.com/Fr/forums/topic19664--.html Ciao a Tutti, comme annoncé très furtivement sur le fil de Outrun, je travaille depuis cet hiver en cachette sur Outrun 2.0. Son arrivée étant imminente (je suis dans la phase de debug et d'ajustement du gameplay), je vous propose une petite vidéo de celui-ci pris on-calc donc avec une chute de FPS de l'ordre de 10 à 15FPS en moyenne. https://youtu.be/A5MGouPX14Y Parmis les nouveautés que vous découvrirez: - réécriture complète du moteur pour fonctionner sous Azur, celui-ci n'était pas sorti à l'époque du premier volet, ça tourne à environ 60FPS, sauf ponctuellement sur les circuits les plus lourds où l'on peut descendre à 53-55FPS), - nouveaux véhicules (motos et camions en plus des voitures), avec leur comportement propre, - ajout d'un mode Race contre 7 opposants dotés d'une "IA" (ce sera certainement à optimiser) au lieu de la circulation, - ajout d'un garage pour tuner, réparer et upgrader son véhicule, - oui donc vous l'aurez compris, ajout des dommages sur le véhicule durant la course, - ajout de biomes, on passe de 6 à 16 biomes, avec gestion des transitions d'un biome à un autre, - ajout des forks sur les chemins et des merges, comme dans le vrai Outrun, - reprise du système de trophées de Npp2 afin de donner envie de collectionner, - conditions météos avec possibilité qu'elles changent en cours de partie, - possibilité de jouer à divers moments de la journée (avec cycles possible), - qq surprises graphiques, notamment en Finlande et à Neon City, - et plein d'autres surprises, notamment plein de modes de jeu... ... je suis actuellement dans la phase de trackage des derniers bugs, d'ajustement du gameplay et de tuning des circuits, ça devrait donc arriver sans trop tarder. Je ne me mets pas la pression non plus. A bientôt Wed, 05 Aug 2026 14:55:55 +0200 Clôture du CPC #33 https://www.planet-casio.com/Fr/forums/topic19652--.html Bonjour à toutes et tous ! Nous sommes le dimanche 2 août, il est 18h00, cela fait une semaine pile que le CPC #33 sur le thème de l'eau bat son plein et il est temps de rendre les copies ! cpc33_final.jpg (Crédit : photographie par Shadow15510, effets ajoutés avec GIMP) Pour rappel vos programmes doivent êtes soumis soit sur le topic de lancement du CPC #33, soit sur un topic dédié à votre projet soit comme un programme. Merci de mettre également à disposition votre code source afin que l'on puisse s'assurer que celui ci n'a pas été vibe-codé. ;) Un grand merci et bravo à tous les participant⋅es, vos screens et vidéos sont vraiment impressionnantes et j'ai personnellement très hâte de tester tout vos jeux ! Merci également à nos partenaires Casio Education et Calcuso qui, part leurs dons, nous permettent de faire de tels concours. J'en profite aussi pour remercier SlyVTT pour tout le support avant et durant le CPC, support qui se poursuit puisque nous évaluerons ensemble vos propositions selon le barème suivant : :here: Gameplay : 3 points :here: Graphismes et interface : 3 points :here: Narration et univers : 2 points :here: Level design : 1 point :here: Interprétations originales / bonus : 1 point Ce qui fait un total de 10 points. On se retrouve d'ici 2 semaines maximum pour les résultats du CPC (c'est vraiment pour pas prendre de risques, on aura sans doute les résultats avant et il est possible que l'article sorte donc avant cette date. ^^ ) Et ensuite ? Eh bien à votre tour de tester ! Une semaine de test sera ouverte à toute la communauté. Et il y a une RDP dans les tuyaux aussi, promis un jour je la sort… Sun, 02 Aug 2026 19:00:00 +0200