Blog

  • 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.

     

  • Polar

    Polar

    Dans la maison de famille, il y a de grandes étagères remplies de livres de toutes sortes. On y trouve, entre autres, un bon paquet de romans que ma mère dévorait par paquet de douze. C’est très agréable car, en week-end ou en vacances là-bas, on peut facilement trouver un bon petit roman à se lire. La dernière fois, la hasard m’a fait saisir un recueil de nouvelles de Ruth Rendell (« L’amour en sept lettres »). Plein de belles petites nouvelles, bien faites, avec une ambiance de mystère assez chouette. Et ça m’a fait penser, madeleine de Proust, à toutes les histoires policières que j’ai pu lire. Fantômette, Le Club des Cinq, les séries des Arsène Lupin, Sherlock Holmes, tous les Agatha Christie, les Mary Higgins Clark, les San-Antonio, les James Hadley Chase, et bien sûr les P.D. James. J’ai choisi une image de cette dernière, car ces souvenirs m’ont donné envie de lire, ou relire, un P.D. James. J’ai un souvenir très fort de son roman « L’île des morts » (qui bien sûr fait un clin d’oeil par son thème aux « Dix petits nègres » et aussi à « L’île au trente cercueils »).
    Cet amour des polar ne m’a pas quitté, car j’ai regardé un grand nombre de séries policières, le plus souvent avec beaucoup de plaisir. Au-delà de toute analyse psychologique de comptoir, à base de catharsis et de voyeurisme, il me semble que ce qui est particulièrement agréable dans les polars, c’est que l’histoire prime sur tout le reste. La mécanique de l’intrigue, de sa mise en place, de sa révélation progressive rigoureuse, c’est le « monde », l’univers dans lequel l’écrivain nous plonge. Les personnages servent l’histoire : les polars sont en général, les bons à mes yeux du moins, des romans moins narcissiques, moins centrés sur l’explication psychologique des personnages, que sur la description de leurs actions dans un contexte particulier et contraint. Bizarrement, cet exercice formaté donne une grande liberté sur les personnages. Les polars abritent ainsi toute une gamme de personnages plus ou moins sympathiques, d’anti-héros, d’humains assez réalistes, rarement idéalisés. On est avec les polars dans la vraie vie, paradoxalement, et dans des choses assez pragmatiques. Et le coeur même des intrigues, le Meurtre (sous toutes ses formes) oblige les auteurs à donner au Mal une place dans leur récit, ce qui confronte chacun des protagonistes, quel qu’il soit, et le lecteur, à la frontière philosophique et intime entre le bien et le mal.
    Les polars sont aussi, mécaniquement, et du fait de la présence du Meurtre, le lieu de la relativisation systématique : en face du crime, du meurtre, de la violence, de la perversion, que sont nos petits soucis du quotidien, nos tracas ordinaires ? Une relativisation qui implique souvent humour, ironie, remise en perspective. Le sens de la Justice comme véhicule, exemplaire ou contre-exemplaire du juste sens de l’action, n’est-ce pas aussi ce qui fait le charme des polars, romans par excellence qui sont sérieux sans se prendre au sérieux ?

  • Les nuits blanches

    Les nuits blanches

    C’est ma fille aînée qui m’a conseillé ce petit livre de Fiodor Dostoïevski : « Les nuits blanches ». Elle a drôlement bien fait (merci) : c’est un petit roman, ou une grosse nouvelle, très agréable à lire, étonnante et émouvante. Sans trop dévoiler l’intrigue, il s’agit de l’histoire d’une rencontre, sentimentale, affective et spirituelle, entre deux êtres faits l’un pour l’autre, peut-être, mais dont les circonstances de rencontre rendent l’histoire difficile sinon impossible.
    Elle est étonnante, car elle tranche avec ce que j’avais lu auparavant de Dostoïevski (principalement « Les Frères Karamazov » et « L’idiot ») : fraiche, drôle à certains moments, pleines d’envolées lyriques, toujours parfaitement nuancées par des touches d’ironie des personnages. Elle m’a beaucoup ému, par son caractère proche d’un conte (l’histoire de la robe cousue à celle de la grand-mère est incroyable). La force et la fragilité du sentiment et de l’expérience amoureuse y sont remarquablement bien décrites, par le biais de personnage très justes, universels, et dont le parcours dans le roman illustre merveilleusement le tragique de la condition humaine, et l’irrémédiable tension entre notre monde spirituel, son foisonnement multifacettes, et l’extrême exigence de brièveté et de présence au temps présent, à l’instant. L’idéal imaginé, et la réalité concrète mis en tension. Le paradoxe de l’élan sentimental et amoureux, absolu, obligé de composer avec le contexte imparfait dans lequel il doit se déployer.
    Magistrale nouvelle. Ça m’a donné envie de relire d’autres romans de ce génie.

  • Citation #190

    Les Droits individuels ne peuvent être soumis à un vote public : une majorité n’a pas le Droit de voter pour supprimer les Droits d’une minorité. Le rôle des Droits est de protéger les minorités contre l’oppression des majorités (la plus petite minorité est l’individu).

    Ayn Rand (1905 – 1982)
    écrivain et philosophe américaine

  • Citation #189

    L’envie était autrefois considérée comme l’un des sept péchés capitaux avant de devenir l’une des vertus les plus admirées sous son nouveau nom de « justice sociale ».

    Thomas Sowell (1930)
    Economiste et sociologue américain

  • Le poids du monde

    Le poids du monde

    A l’heure de la connexion possible au reste du monde, instantanée, il me semble qu’un danger nous guette, encore plus probablement que la consommation futile ou toxique, c’est celui de se faire voler notre bonheur quotidien.
    Ils sont nombreux, les insatiables, les voraces, les illuminés, à vouloir absolument nous forcer à prêter attention à des choses qui ne nous concernent pas, ou pas directement, ou si peu, que le simple fait d’y prêter attention porte déjà atteinte à nos propres enjeux et préoccupations. Je crois qu’il y a définitivement deux catégories d’humains : ceux qui apprennent à se contenter de mener leur vie, humblement, laborieusement, en étant ouvert au doute, et sachant s’étonner et se satisfaire de peu, et ceux (que j’appelais ci-dessus les insatiables) dont la soif de pouvoir, de grandeur personnelle, ne sera jamais comblée, et fait peu de cas de la vie des autres, qu’ils peuvent à l’occasion considérer comme des moyens d’atteindre leurs objectifs.
    Il y a de grands projets portés par les deux catégories d’Hommes. J’ai de moins en moins de respect pour ceux portés par la deuxième catégorie. Ceux qui nous forcent, par exemple, à nous préoccuper du sort de gens à l’autre bout du monde, qui sont complètement hors de nos vies pratiques. Par le biais de l’émotion (qui ne compatirait pas avec le malheur de ses congénères ?), ils nous volent du temps d’attention, ils nous surchargent le quotidien d’un poids impossible à porter. Je crois que c’est volontaire, à défaut d’être nécessairement conscient. Une fois les honnêtes gens accablés de stress, de culpabilité, d’émotions contradictoires et ingérables (parce que les causes sont trop éloignées de nos moyens d’actions), il ne reste plus qu’une population hagarde, ou frappée de stupeur, qu’il est bien aisé de manipuler.
    Nous n’avons pas les épaules suffisamment solides pour porter le poids de monde. Nous ne sommes pas Atlas, mais des Hommes. Nous avons le droit, et le devoir, de refuser ce poids, inhumain, démesuré.
    Sachons nous concentrer sur nos proches, sur notre famille, notre travail, sur la réalité concrète qui nous entoure. Mon voisin est plus important qu’un iranien, n’en déplaise aux journalistes et aux politiciens. Mes enfants sont plus importants que la majorité municipale. J’ai tendance parfois à l’oublier ; non pas intellectuellement, bien sûr, mais en termes d’attention portée, d’univers mental. Ma réalité est d’abord sous mes yeux, à chaque instant, chaque jour. Il faut bien sûr garder un œil sur les insatiables (on est bien obligé, car ils sont nuisibles), mais sans nous laisser voler notre bonheur quotidien, dont la saveur et le sens ne sont pas à l’échelle d’une planète, ou de l’Histoire, mais bien à l’échelle de phénomènes et d’interactions à taille humaine, plus modestes, plus actionnables. Méfions nous de l’idéal qui condamne ou cache la réalité. Ne nous laissons pas gagner par leur hubris, qui flatte l’ego – en faisant croire que nous pouvons porter le monde sur nos épaules – et déforme les désirs les plus simples. Un Homme bien ancré dans sa propre vie, avec ses propres objectifs, ses relations, son travail, est une force de résistance face aux voraces voleurs de bonheur.