top of page
  • Twitter
  • Instagram
wood texture natural, plywood texture background surface with old natural pattern, Natural

Groupe de IndépendantElectronicGame.com

Public·5 membres

Abcp Corp
Visionnaire et crĂ©ateur d’I.E.Games Studio, il guide chaque projet avec passion.

Big Boss/Fondateur

Code, teste et améliore les jeux et systÚmes de la console.

Développeur

Le son de LUMA Ă©volue ! đŸŽ¶


Fini le piezo solitaire : dĂ©sormais, deux haut-parleurs travaillent ensemble pour des musiques plus riches et harmonieuses. C’est un petit pas pour le hardware, un grand bond pour les oreilles 👂💜

Aujourd’hui, j’avais envie de revenir sur un dĂ©tail qui n’en est pas un : le son de la console LUMA. Pendant longtemps, LUMA n’avait qu’une seule “corde vocale” : un petit piezo branchĂ© sur une seule sortie. Ça faisait le job, ça bipait, ça vivait un peu, mais soyons honnĂȘtes : le rendu Ă©tait plat, trĂšs mono, trĂšs sec. Ça donnait un cĂŽtĂ© “prototype” qui collait bien au dĂ©but du projet, mais plus la console avance, plus j’ai envie qu’elle raconte des choses aussi avec le son.

C’est lĂ  qu’arrive la grosse nouveautĂ© : la console utilise maintenant deux sorties audio, sur le pin 12 et le pin 21 de l’ESP32, chacune reliĂ©e Ă  un piezo. Dit comme ça, ça a l’air anodin – deux petits haut-parleurs au lieu d’un – mais en pratique, ça change complĂštement la sensation de jeu. D’abord, trĂšs simplement, le son est plus plein, plus prĂ©sent dans la piĂšce. Les petites musiques retro, les bips et les effets prennent une autre dimension. LĂ  oĂč avant tout sortait d’un seul coin de la console, maintenant on a l’impression que la machine “parle” vraiment, qu’elle a une petite prĂ©sence physique, presque comme un vieux jouet Ă©lectronique mais en version 2.0.

Techniquement, sur l’ESP32, ça signifie que je peux piloter deux canaux sonores sĂ©parĂ©s. Dans mon code, le son est gĂ©nĂ©rĂ© via du PWM (avec les fonctions ledc d’ESP32), et maintenant je peux dĂ©cider indĂ©pendamment de ce qui sort sur le canal gauche (pin 12) et sur le canal droit (pin 21). Pour l’instant, je m’en sers surtout pour doubler le son : mĂȘme frĂ©quence sur les deux piezos, mĂȘme volume → un son plus puissant, plus clair, trĂšs utile pour les bips de tir ou les sons d’alerte dans le jeu. Mais la vraie magie commence quand je commence Ă  les diffĂ©rencier un peu.

Par exemple, sur un nouveau jeu comme CRATÈRE-7, mon mini-DOOM en raycasting que tu vois dans le code ci-dessus, le fait d’avoir deux sorties audio ouvre beaucoup de portes. Je peux associer un son spĂ©cifique Ă  chaque type d’évĂ©nement : un tir de blaster bien sec, un “bip” grave quand le joueur prend des dĂ©gĂąts, un son plus joyeux pour la prise de clĂ©, une petite montĂ©e de notes quand le sas s’ouvre enfin, un son plus sombre pour l’activation du boss
 Tout ça existait dĂ©jĂ  dans ma tĂȘte, mais avec un seul piezo, si je voulais tout faire, ça devenait vite confus. Avec deux sorties, je peux mieux sĂ©parer les couches : par exemple, garder un canal pour les effets rapides (tir, dĂ©gĂąts, ramassage d’objet) et utiliser l’autre pour des petits motifs musicaux ou des bips d’ambiance.

ConcrĂštement, dans le code, je commence Ă  organiser le son autour d’une fonction centrale du genre playSFX(id) que j’appelle dans les bons moments : quand fireShot() est dĂ©clenchĂ©e, quand la vie du joueur diminue dans updateEnemies(), quand hasKeyA ou hasKeyB passe Ă  true, ou quand on entre en ST_OVER (game over). Le moteur de jeu ne s’occupe pas de “comment” le son est gĂ©nĂ©rĂ©, il se contente de dire : « lĂ , je veux un son de tir », « lĂ , un son de clĂ© », « lĂ , un son de game over ». DerriĂšre, le “moteur son” choisit la frĂ©quence, la durĂ©e, et sur quel canal ça sort (pin 12, pin 21, ou les deux). C’est lĂ  qu’on s’amuse : un tir peut ĂȘtre jouĂ© fort et court sur les deux piezos ; un dĂ©gĂąt peut ĂȘtre un bip plus grave ; une clĂ© peut ĂȘtre un petit enchaĂźnement de deux notes ; l’ouverture du sas, une mini montĂ©e en trois paliers. C’est tout bĂȘte, mais dĂšs que tu rajoutes ces repĂšres sonores, le cerveau comprend mieux ce qui se passe dans le jeu, mĂȘme sans lire le HUD.

Pour l’instant, je reste sur des sons assez simples, mais l’architecture est prĂȘte pour aller plus loin. Le fait d’avoir deux sorties me permet aussi d’envisager une pseudo stĂ©rĂ©o : par exemple, dans CRATÈRE-7, si un ennemi se trouve plutĂŽt sur la gauche du champ de vision, je peux donner lĂ©gĂšrement plus de volume au piezo connectĂ© sur le pin 12 ; s’il est Ă  droite, un peu plus au pin 21. Ce n’est pas de la vraie spatialisation, mais ça donne une impression de direction, et dans un FPS, mĂȘme minimaliste, ça apporte beaucoup Ă  l’ambiance. Je peux aussi imaginer, plus tard, des petits motifs rythmiques alternĂ©s : note Ă  gauche, note Ă  droite, pour donner un cĂŽtĂ© un peu “danse de pixels” aux musiques.

L’autre gros avantage pour moi en tant que dĂ©veloppeur, c’est que ce systĂšme audio Ă©volue avec la console. Plus le projet grossit (menu dĂ©roulant, raycasting, boss, clĂ©s, sas, etc.), plus le son devient un outil pour expliquer au joueur ce qu’il vit sans surcharger l’écran. Comme la console reste trĂšs compacte – petit Ă©cran, HUD minimal – le son est un alliĂ© prĂ©cieux pour compenser : il prĂ©vient, confirme, rassure, surprend. Et comme tout est en C dans un code que je maĂźtrise, je peux l’adapter Ă  chaque nouveau jeu, chaque nouvelle interaction.

Ce qui me fait plaisir, c’est de voir que ce n’est pas juste un “dĂ©lire de bidouilleur”. Quand je teste la console avec les enfants du fablab, ils rĂ©agissent tout de suite à ces nouveaux sons. Le tir paraĂźt plus “vrai”, les clĂ©s font “objet important”, le game over est plus marquant. Pour eux, ce n’est pas l’histoire de deux piezos sur les pins 12 et 21, c’est juste : « ah, ça sonne mieux ! » Et c’est exactement ce que je cherchais. Pour moi, comme pour eux, cette LUMA qui commence Ă  chanter un peu mieux, c’est une façon de montrer que la console grandit, qu’elle se rapproche de plus en plus d’une vraie petite machine de jeu, tout en restant artisanale, open source, et construite Ă  la main.

Et le plus beau dans tout ça, c’est qu’on n’en est qu’au dĂ©but. Ce systĂšme Ă  deux voix sur 12 et 21, c’est la base sur laquelle je vais pouvoir ajouter, dans les prochains devlogs, des petits thĂšmes musicaux, des ambiance loops, peut-ĂȘtre mĂȘme un mini “moteur musical” pour les menus et les Ă©crans titres. Bref, LUMA n’est plus seulement une console qu’on regarde : c’est une console qu’on Ă©coute. Et pour un projet nĂ© dans un fablab, entre deux soudures et trois bips, je trouve ça plutĂŽt symbolique.

2 vues

membres

Rejoignez -nous !

Rejoins la discussion, partage tes avancées, et participons ensemble à construire le futur du rétro open source 💜

Le groupe Independant Electronic Games, c’est bien plus qu’un simple fil de discussion : c’est notre espace d’échange, là où tout le monde peut partager ses idées, poser des questions, montrer ses créations ou proposer des améliorations.
Je ne peux pas encore intégrer un vrai forum sur le site, mais ce groupe en remplit toutes les fonctions : on y parle de la console LUMA, des projets en cours, des jeux en développement, du fablab, des découvertes, et parfois même de tout et de rien — comme dans n’importe quelle bonne communauté.

Ici, chacun a sa place : que tu sois passionné d’électronique, de jeu vidéo, de design ou simplement curieux, tu peux poster, commenter, répondre, aider et apprendre. C’est un espace vivant, collaboratif, et surtout bienveillant, où les idées circulent librement et où chaque message peut faire avancer le projet.

bottom of page