Étiquette : Jeu

  • BLOMIX

    BLOMIX

    Je viens de terminer la « migration » du petit jeu BLOX que j’avais prototypé avec Grok il y a un peu plus d’un an. Vous pouvez le télécharger (si vous êtes sur iOS) sur l’Apple Store, en cherchant BLOMIX (il est gratuit bien sûr).

    Règles

    L’univers de BLOMIX c’est celui du Tetris, des Columns et autres CandyCrush : un jeu de match-5, où il s’agit, dans une grille de jeu, de former des chaînes de 5 « blox » (blocks) de couleurs pour les faire disparaître. Tous les 10 blox lancés, une ligne de blox aléatoires vient perturber vos efforts pour bien ranger les choses par couleur. Et vous avez, en plus, une chance sur 8 de vous récupérer une « brix » (bricks) qui est une sorte de caillasse avec un numéro dessus et qui est plus dure à faire disparaître. Quand la grille est pleine de blox et de brix, vous avez perdu. Le score dépend bien sûr du nombre de chaînes que vous avez pu réaliser, de leur taille, des enchaînements, du nombre de fois où vous avez pu revider des colonnes, etc.

    Modes de jeu

    Il y a deux modes pour ce jeu, avec deux classements différents :

    • un mode solo, plutôt zen, où on a le temps que l’on veut pour placer le prochain blox. Le classement pour ce mode de jeu est simplement le classement des meilleurs scores
    • une mode « Player vs Player » où, tous les 50 points marqués, on envoie une ligne de blox à l’autre joueur, un peu à l’instar des parties de Tetris PvsP sur GameBoy (c’était l’inspiration). Le classement pour ce mode est une sorte de système Elo, comme aux échecs, qui ajuste votre classement de départ (800) au fur et à mesure des matchs. Plus l’écart de points entre les joueurs est important, plus la variation de points sera forte.

    Design d’expérience : paramètres

    J’ai eu à coeur de créer un jeu avec une ambiance très immersive malgré sa simplicité, et j’ai donc pris du temps pour chercher des sons sympas. Vous verrez que chaque évènement du jeu est associé à un son particulier. Par ailleurs, j’avais conçu une palette de couleur que je trouvais agréable et lisible. Les premiers retours des utilisateurs étaient formels : les couleurs manquaient de lisibilité (ce qui est assez logique, car personne ne perçoit les couleurs de la même manière). J’ai donc ajouté plusieurs palettes de couleur et la possibilité de créer, dans le jeu, la sienne propre. De même, on peut équilibrer les sons entre eux, et choisir parmi 4 polices différentes en termes de style & lisibilité. Cela permet de facilement créer une ambiance visuelle à son goût.

    Process

    Je ne peux pas parler de ce petit jeu sans donner un éclairage sur le processus de création. Grâce à Max, j’ai découvert la puissance de Cursor.com (que j’ai fait travaillé avec Grok à certains moments pour ne pas bouffer tous mes tokens trop rapidement). C’est un outil qui utilise des LLM pour écrire du code, et pour mon projet dans la suite de dev d’Apple (Xcode), il sait aller travailler tout seul dans les fichiers, modifier / ajouter / supprimer du code, créer des fichiers, tester la logique, etc. Du coup l’expérience est vraiment agréable pour un non-codeur : on se concentre sur les fonctionnalités voulues dans l’app, et Cursor se démerde (en gros). Il ne reste plus qu’à compiler et à tester. Les outils d’iA sont vraiment en train de révolutionner beaucoup de choses, et c’est particulièrement vrai dans le domaine du code. J’avais une grande frustration lors de nos premiers jeux avec Max : je ne pouvais pas l’aider pour le code, qu’il maîtrise, et pas moi. C’est désormais une époque révolue, puisqu’un « novice » comme moi peut créer de toutes pièces une application déployée sur l’App Store. On ne réalise pas bien toutes les conséquences, à mon avis.

    Ressources

    Comme souvent, je me suis servi des incroyables ressources mises à disposition sur le web. J’espère n’oublier personne dans cette section de remerciements, car c’est vraiment un bonheur d’avoir autant de choses disponibles, utilisables et de qualité. Donc, dans le désordre, un très grand merci à toutes ces personnes et entreprises qui ont mis des ressources (payantes ou gratuites) à disposition des utilisateurs.

    • Code : Grok.com & Cursor.com, Github.com, et un grand merci à Max pour son aide pour la mise en place du projet et décoinçages ponctuels
    • Polices : sur le remarquable Google Fonts. Merci à :
      • Petr van Blokland pour Bitcount Grid Single
      • Google pour Google Sans
      • Toshi Omagari, Jennifer Daniel pour DynaPuff
      • JM Solé pour Alfa Slab One
    • Sons : Freesound.org, vocalremover.org/pitch, pitchchanger.io. Sur Freesound.org un grand merci pour leurs sons à HelloIJustWantSomeSounds, Cat-Fox_alex, NoiseCollector, rhodesmas, Anomaex, HenryRichard, Moutain_Man, Rvgerxini, Squirrel_404, collwyn, ConManVD, cherrysylv
    • Musique d’ambiance : « Puzzle Game 2 » par Eric Matyas Soundimage.org
    • Palette de couleur : Coolors.com — Tropical Sunset Vibes légèrement augmentée
    • beta-testing: merci à Gontman, flyingbearcub, stephies, paul_cglt, Napoleon1212, PilotePépère106, Lapluben

    Pour finir, un petit aperçu du jeu en action.

     

  • BLOX

    BLOX

    J’ai repassé quelques heures sur le petit jeu développé grâce à Grok. Je lui ai donné un style « Gameboy » (4 couleurs de vert), et j’ai affiné la mécanique, et les affichages :

    • affichage d’une barre de progression pour savoir quand la prochaine ligne de blox arrive
    • sauvegarde des scores (compétition mondiale possible)
    • résolution d’un certain nombre de petits bugs qui traînaient

    Voici donc la version un peu plus aboutie du jeu :
    ///////////
    BLOX.
    //////////
    Vos feedbacks sont les bienvenus. Partagez-moi vos plus gros scores (je travaille à les rendre partagés pour la compétition soit visible).

  • Extraordinaire

    Extraordinaire

    Il y a quelques années, j’avais imaginé un petit jeu, genre Tetris, avec des blocs de couleurs. Comme je ne sais pas vraiment coder, j’avais abandonné l’idée. Mais depuis, les LLM sont arrivés. Comme je suis abonné payant à X, je peux profiter de Grok (l’IA / LLM de X), qui vient de sortir sa version 3. C’est tout simplement époustouflant. Je vous partage ce que j’ai pu faire en à peu près 2h.

    Définition des règles

    L’interface de chat avec Grok v3 est très efficace et simple : on discute avec l’iA. En quelques échanges, je lui explique les règles du jeu, qu’il me reformule et synthétise. Au bout de quelques minutes on arrive à cela :
    D’accord, on a maintenant une condition de fin ! Voici la liste mise à jour :
    1. Le jeu s’appellera « Priks », et c’est un jeu de « Blox ».
    2. Le jeu démarre avec une grille vide de 8×8 cases.
    3. À chaque tour, le joueur (le jeu est en solo) récupère un bloc (« Blox ») qu’il doit envoyer dans la grille : il l’insère en bas de la grille, et le Blox se place dans la dernière case libre de la grille.
    4. Les Blox ont une couleur aléatoire parmi 6 couleurs possibles.
    5. Le but est d’arriver à placer les Blox à côté de Blox de la même couleur. En formant une chaîne de 5 Blox de même couleur (en ligne ou se touchant en diagonale, peu importe la forme), on les fait disparaître.
    6. Tous les 10 coups, une ligne complète de Blox aléatoires (1 par colonne, donc 8 Blox) arrive du bas et remplit la grille avec le même mécanisme que les Blox placés par le joueur. Cette ligne contient 1 Priks situé dans une colonne aléatoire.
    7. Le joueur démarre la partie avec une « bombe » qu’il peut lancer à tout moment à la place d’un Blox. Cette bombe, en arrivant dans la grille, fait disparaître tous les Blox adjacents (les 8 cases autour).
    8. À chaque fois que le joueur réussit à faire disparaître des Blox en créant des chaînes, cela incrémente un compteur : au bout de 5 (chaînes réussies), il obtient une bombe supplémentaire.
    9. Il existe un autre type de Blox, appelé « Priks » (d’où le nom du jeu), qui est « en pierre » (pas d’une couleur). Il ne peut être détruit que par une bombe (on ne peut pas l’inclure dans une chaîne). Il y a 1 chance sur 10 que le prochain Blox soit un Priks.
    10. Le jeu se termine quand le joueur ne peut plus placer un Blox, ou quand la ligne complète de Blox qui arrive tous les 10 coups rencontre une ou plusieurs colonnes déjà pleines.
    Tout est correct ? Pour la règle 10, je comprends que le jeu s’arrête soit si une colonne est pleine au moment où le joueur veut placer un Blox, soit si la ligne complète (tous les 10 coups) ne peut pas entrer à cause d’au moins une colonne pleine. As-tu d’autres règles à ajouter ou veux-tu qu’on passe à une autre étape (comme imaginer comment visualiser ça ou tester un exemple) ?

    C’est impressionnant comme la conversation est fluide et simple. Mais c’est le moins impressionnant.

    Proto dans le chat

    Spontanément quand je lui parle de faire un prototype du jeu, il me propose une manière simple et élégante pour visualiser le jeu en mode texte et tester les règles en condition réelle.

    Ca nous a permis de rapidement corriger des points qui n’avaient pas été bien exprimés/compris, et d’arriver à une version propre du proto. Très très impressionnant. Mais le ce n’est pas encore le plus impressionnant.

    Génération de Code

    Une fois ce prototype « texte » mis au point, je lui demande de me générer du code en html pour que je puisse lancer le jeu en local dans un navigateur. Il cela ne lui pose aucun problème. Génération du code ci-dessous (200 lignes de code en html), quasi-instantanée, sans aucune faute à l’exécution.

    Les seules modifs que j’ai eu à lui faire faire sont liées à des mauvaises compréhension de certains détails des règles non testées en mode texte. C’est vraiment là que j’ai trouvé ça ultra impressionnant. Un non-codeur peut faire un prototype fonctionnel de son petit jeu en quelques heures. Voilà ce qu’on appelle un vrai changement de paradigme, il me semble. Quel kif.
    Il ne me reste plus qu’à améliorer un peu le jeu, ajouter un score, complexifier ceci ou cela, ajouter des images .png, etc. Mais le gros du boulot a été fait sans aucune compétence de codage. Qu’en pensez-vous ? ça vous donne des idées ?

    Jouez à Priks V1.1 ici : Lancer le jeu

    MAJ :
    J’ai pu remettre en marche ma page de Citations (plugin WordPress pondu par Grok) : Citations
    Et j’ai créé l’outil graphique que je voulais faire depuis longtemps en 5 minutes : Plans perçés.

  • L’innovation pour les nuls #5 – Créativité

    L’innovation pour les nuls #5 – Créativité

    S’il y a bien un mot qui est souvent utilisé à  tort et à  travers, en innovation, c’est bien la « créativité ». Pourtant, sa définition est assez simple et claire :

    Capacité, pouvoir qu’a un individu de créer, c’est-à -dire d’imaginer et de réaliser quelque chose de nouveau.

    On voit tout de suite le lien avec l’innovation : « quelque chose de nouveau » répond bien à  une partie de la définition de l’innovation. Ce qui est important dans cette définition, c’est qu’elle fait référence à  une capacité. La créativité, c’est une capacité, pas un don. Et donc ça se travaille. Tous les outils permettant d’imaginer et de réaliser des choses nouvelles font partie des outils de la créativité. Les outils de conception bien sûr (design thinking, brainstorming, C-K, images, utilisation du théâtre, ou des sens et des émotions), mais aussi ceux du maquettage/prototypage. Donnons corps à  nos idées, le travail de conception bénéficie grandement de réalisations tangibles dès les premières étapes.
    Mon expérience de terrain m’a montré que deux choses sont essentielles dans la créativité : l’esprit de jeu (qui rend possible toutes les explorations), et l’hétérogénéité (mêler des choses différentes, revisiter les liens). Cela signifie que le meilleur moyen d’être créatif, c’est de s’entrainer (c’est une gymnastique), et de se nourrir de sources variées (sciences, littérature, philosophie, art, politique, jeu vidéo, etc…). Les créatifs sont des gens curieux, et avides de nouvelles connaissances.

    La créativité est un outil nécessaire de l’innovation, car elle permet de défixer. C’est-à -dire que le travail créatif permet de modifier les relations que nous entretenons avec les objets (au sens large) que nous concevons. La petite vidéo de Luc de Brabandère ci-dessous dit tout cela bien mieux que moi :

    Tout est dit ou presque. J’avais trouvé dans un article des Sciences pour l’ingénieur une liste des « postures créatives ». Je ne résiste pas au plaisir de partager cela ici (j’en ai ajouté deux, à  vous de trouver).

    Tout cela décrit simplement un esprit qui pense bien, non ? Et cela décrit aussi assez bien le type de culture d’entreprise dans lequel on souhaite évoluer.

    Pour finir, je voulais partager avec vous cette vidéo magnifique. Puisque la créativité est une capacité, elle peut s’apprendre. Où apprend-on ? A l’école pardi ! Sir Ken Robinson montre comment le système éducatif tue la créativité. A méditer.

    >> Lire les autres articles de la série <<

  • Le marteau de neuf livres

    Le marteau de neuf livres

    C’est chez Max (Maxiblog) que j’ai vu cette vidéo. Tommy Emmanuel y livre une version live plutôt décoiffante de la chanson « Nine Pound Hammer« . Le plaisir qu’il prend à  jouer de la guitare est palpable, et jouissif. Vraiment excellent et rafraichissant !

  • La place du jeu


    J’ai regardé hier soir, sur Presentation Zen, une excellente conférence du Dr. Stuart Brown. Il y est question du jeu, et de son importance dans le développement des animaux en général, et des humains en particulier. Différents types de jeux sont présentés : le jeu avec le corps, le jeu avec les objets, le jeu de groupe, le jeu solitaire.

    Les études scientifiques montrent que c’est l’aptitude au jeu qui explique en partie notre faculté d’adaptation. Le jeu a une place biologique, une fonction, comme le sommeil et les rêves. On y parle un peu aussi de motivations internes, car bien évidemment le fait qu’il y ait une part de jeu dans nos activités nous motive grandement pour les réaliser avec passion et énergie.

    Et puis dans la présentation, le Dr Stuart Brown parle d’une expérience avec des souris, pour illustrer son propos. Comme j’avais été sensible aux expériences citées par Laborit, j’ai été aussi intéressé par celle-ci.

    Deux groupes de souris sont utilisés : l’un peut jouer, et l’autre ne peut plus jouer (les expérimentateurs les empêchent de développer l’aptitude au jeu). On place ensuite le groupe dans un endroit où il y a une odeur très marquée de chat, et une porte de sortie vers un trou protecteur. Tous les rats fuient bien sûr, pour se sauver. Et on observe ensuite deux comportements différents : les rats qui n’ont pas développés l’aptitude au jeu ne ressortent jamais du trou où ils se sont cachés. Ils meurent. L’autre groupe, celui des chanceux que l’on a laissé vivre normalement, avec le jeu, est plus adapté : les rats finissent par explorer, chercher à sortir, regarder ce qui se passe. On mesure là toute l’importance du jeu dans la construction cognitive. Mais assez parlé : l’original est bien mieux. Bon visionnage (pour les nuls en anglais comme moi, n’oubliez pas d’activer les sous-titres, ils ne sont qu’en anglais, mais ça aide quand même) !