[Q] Interaction entre la carte Arduino (LEDs) et les variables d'un jeu vidéo

Bonjour à toutes et à tous!

Je possède une Arduino Uno depuis un certains temps et j'ai déjà réalisé divers petits projets avec, mais rien de concret.

J'ai acheté des bandes de LEDs RGB pour faire un éclairage d'ambiance sur mon bureau.
C'est alors que j'ai pensé à quelque-chose:
"Et si je pouvais faire changer la couleur de ces LEDs en fonction de ma vie dans un jeu ?"

Je précise:

  • Je sait que des logiciels peuvent détecter de nombreuses variables commes les munitions, la vie, l'armure, le nombre de frags (ennemis tués) etc: en effet, le logiciel SteelSeries Engine 3, que j'utilise pour configurer la couleur de ma souris SteelSteries, peut faire changer la couleurs de la/des leds de la souris/clavier/casque (pour l'instant seulement sur Minecraft, Counter Strike: Globale Offensive et Dota 2) (démonstration assez impressionante ici: CS:GO GameSense Demo - YouTube )
  • Je sait que l'Arduino peut faire changer la couleurs de LEDs RGB en fonctions de variables: un potentiomètre, une variable envoyée par le port série ou par Bluetooth...

Ma question:

  • Peut-on détecter et envoyer ces variables à la carte Arduino?
  • Devrais-je utiliser un autre logiciel qui serait capable d'aller chercher ces variables, au lieu du logiciel Arduino ? Ou peut-être pourrait-je faire croire au logiciel SteelSeries Engine que ma carte Arduino est une souris ??
  • Peut-être y a-t-il une solution qui fonctionnerait, mais sans la carte Arduino ? Peut-être la carte Arduino est trop limitée pour réaliser ce projet ?

Mes connaissances en codes sont rudimentaires, c'est pour ça que j’espère que certains seront capables de me répondre, que ce soit pour me donner une solution ou pour me dire que c'est tout bonnement impossible.

Au passage, les jeux qui m'intéresseraient serait:

  • Minetest (Très inspiré de Minecraft, mais libre et gratuit: c'est aussi le plus simple pour ce projet car on peut y ajouter des mods programmés en LUA, qui permettraient par exemple d'envoyer la vie à l'Arduino)
  • Xonotic (un FPS libre aussi)
  • Robocraft (pas libre mais gratuit)
  • Et d'autres jeux auquels je joue moins souvent.

Merci beaucoup de vous être attardé sur mon problème !

Je m'excuse d'avance si je n'ai pas respecté les règles du forum malgré tout mes efforts.

Bonne journée! :slight_smile:

hydargos

Bonjour,

Ce qui est faisable dépend essentiellement du jeu et de sa capacité à pouvoir échanger avec un programme extérieur. A partir du moment où tu es capable d'écrire un programme sur ton ordi qui récupère ce que tu veux de ton jeu, tu pourras quasiment à coup sûr envoyer ce que tu veux ensuite à l'Arduino, via une communication avec le port série.

Bonjour

Merci beaucoup pour votre réponse!
En effet, je n'avait pas pensé à faire interagir un logiciel avec le port série...
Malheuresement je ne sait pas comment faire, mes connaissances en programations sont pour l'instant trop limitées !
Si quelqu'un peut m'indiquer comment m'y prendre pour créer ce programme, cela me serait d'une grande aide.

Ce qui est faisable dépend essentiellement du jeu et de sa capacité à pouvoir échanger avec un programme extérieur

Il faut en effet commencer par là !
Si ces jeux permettent de récupérer les données que tu veux, c'est fastoche, si non c'est ... fichu !
La question serait donc plutôt à poser sur un forum jeux <-> programmation PC

Bonjour (après un petit retard ^^)

En effet, je me suis renseigné pour savoir comment fonctionne la fonction Gamesense du logiciel SteelSeries Engine, (celle qui permet donc de changer les couleurs des périphériques de la marque en fonctions de la vie etc etc,) et c'est le jeu qui écrit lui-même les variables en questions dans un fichier .json dans le répèrtoire d'installation du logiciel, et non le logiciel qui va chercher les variables dans le jeu.

Il faudrait donc que je trouve ou sont stockées les variables en question pour les faire lire à un logiciel qui les enverrait à la carte Arduino via le port série.

J'ai commencé avec Minetest, un petit jeu Open-Source, et j'ai trouvées ou sont stockées les variables... reste plus qu'à créer le logiciel ^^

trimarco232:
La question serait donc plutôt à poser sur un forum jeux <-> programmation PC

En effet, je vais peut-être commencer par là.

Merci pour vos conseils!

hydargos123:
J'ai commencé avec Minetest, un petit jeu Open-Source, et j'ai trouvées ou sont stockées les variables... reste plus qu'à créer le logiciel ^^

En effet, je vais peut-être commencer par là.

Merci pour vos conseils!

bonjour
si tu connais la structure du ficher , cela devrait etre assez simple à programmer

Je ne dis pas que c'est la meilleure solution, mais à ta place j'utiliserais node.js sur mon ordi, ce qui me permettrait de réagir à l'évènement "modification de fichier" pour que les données soient envoyées à peu près en temps-réel à l'Arduino dès que le fichier est modifié par le jeu.
Si tu recherches sur Internet, tu trouveras des tutos node.js / Arduino, des tutos d'exécution d'action sur des évènements de type modification de fichier, des tutos d'analyse de fichier json,...