Mince, plus de manettes ... et si j'utilisais mon smartphone ?



  • Bonjour tout le monde ! D’abord bravo pour le travail accompli ! Recalbox c’est génial :) J’écris ce post pour exposer une idée qui me trotte dans la tête, le but serait de permettre l’utilisation de smartphones comme contrôleurs de façon simple et « user friendly ». User story : Vous êtes deux à jouer sur recalbox et un troisième pote débarque, malheureusement il n’y a que deux manettes. Par contre ce pote a sur lui ce que chacun possède : un smartphone. L’idée serait de lui dire : connecte-toi à mon réseau local en wifi, tape l’adresse http://<recalbox_ip>/controller/3 dans ton navigateur et le tour est joué, tu as une manette sous la main. Techniquement cela reviendrait à implémenter un petit serveur web/socket.io léger (NodeJS ?) qui tournerait en fond et émulerait un ou plusieurs inputs. En front, le serveur servirait une simple page web (l’IHM pourrait être une simple manette de Super Nintendo) à l’adresse http://<recalbox_ip>/controller/n où n est le numéro de la manette. Sur la page web une pression sur une des touches de la manette enverrait un événement socket.io au serveur qui le répercuterait à l’input émulé. L’idée me trottait déjà dans la tête avec Retropie et semblait assez facile à mettre en œuvre puisque l’on dispose d’un écosystème complet (raspbian). Avec l’écosystème appauvri de recalbox je me pose la question de la faisabilité à moindre coup. Je trouve que l’idée colle bien à la philosophie de recalbox : plug & play, simplicité d’utilisation… Et en plus elle a le mérite d’être totalement générique puisque n’importe quel périphérique disposant d’un navigateur web pourrait être utilisé comme une manette. Alors idée aberrante ou axe d’amélioration intéressant ? Qu’en pensez-vous ? Sur ce, bon dimanche ! Miroof



  • J'aime bien cet idée !


  • Team

    Moi aussi. En plus ca pourrait servir a n'importe quel projet sous linux. Cependant c'est un projet a part entière, tout a fait faisable, mais tout de meme très long a réalisé. Si quelqu'un veut tenter le coup on pourrait mettre un repo git en place et commencer a lancer une esquisse :)



  • Salut salut ! Du coup l'idée m'a pas mal plu alors j'ai implémenté une première version alpha qui a l'air de fonctionner pas trop mal. Le github du projet est disponible ici. Une démonstration vidéo est dispo ici. Ce n'est encore qu'un prototype donc il doit rester des coquilles ^^ Mais j'ai testé le projet avec Retropie et je n'ai pas eu de problème particulier. Bon aprem ! Miroof


  • Moderator
    Team

    Très sexy comme fonction. Bravo pour le boulot effectué!



  • Tres bonne idée, je testerai cela, par contre, je me suis rendu compte aussi hier soir que la télécommande de ma télé fonctionne avec KODI o_O', je ne savais pas que le RPI avait un récepteur infra rouge, et je me dit que l'idée pourrais être reprise pour le menu de recalbox d'avoir la possibilité d'utiliser au cas ou, la télécommande de la télé juste pour naviguer sur le menu.


  • Moderator
    Team

    Alors nope le rpi n'a pas nativement de récepteur infra rouge. Si ta télécommande fonctionne avec Kodi, c'est que ce softet le rpi sont compatibles CEC et ta télévision également =) Il me semble que l'idée de pouvoir piloter emulationstation avec télécommande a déjà été soulevée sur github, à vérifier.



  • Est-il possible d'utiliser son portable comme dongle Bluetooth pour ensuite jouer avec une manette?



  • Salut ! Si l'API HTML5 Gamepad était dispo sur mobile je t'aurais répondu oui, et encore, seulement avec des manettes bluetooth compatibles... Encore que ça serait devenu galère de connecter sa manette en bluetooth à ton smartphone lui même connecté en wifi à ton serveur :D Sinon c'est peut-être faisable à plus bas niveau en branchant ton smartphone en USB à ton Raspberry et en bidouillant pas mal ... Mais franchement je pense qu'il est beaucoup plus simple d'acheter un dongle bluetooth :p



  • Du coup l’idée m’a pas mal plu alors j’ai implémenté une première version alpha qui a l’air de fonctionner pas trop mal. Le github du projet est disponible ici. Une démonstration vidéo est dispo ici. Ce n’est encore qu’un prototype donc il doit rester des coquilles ^^ Mais j’ai testé le projet avec Retropie et je n’ai pas eu de problème particulier.

    C'est énorme !!!! vraiment du bon boulot ! Une question : est ce que tu as implémenté un mode 2 ou 3 joueurs ? Par exemple, on est 4, j'ai 2 manettes seulement, pas grave les deux autres sortent leurs telephones. Une deuxième question : ca marche avec mario, mais est ce que c'est suffisamment fluide pour marcher avec d'autres jeux qui ont besoin de plus de sensibilité (j'ai pas d'exemple de jeu sous la main) ? J'ai hate que retroboy le rajoute à sa distrib ;-)



  • Merci pour la réponse. C'était simplement pour l'esprit "défi" (savoir si c'était possible) que j'ai posé la question? J'imagine bien qu'il est plus simple d'acheter un dongle bluetooth.



  • @stunko Il est possible de connecter jusqu'à 4 manettes simplement en tapant sur une URL. Lorsque tu accèdes à la web app, le serveur va checker si un des 4 slots est libre et si c'est le cas il te l'assignera. Donc aucun problème pour jouer à 2 manettes/2 smartphones mais aussi à 4 smartphones :) Quant à ta seconde question j'avoue que je n'ai pas tester d'autres jeux, c'est plus un "proof of concept" pour montrer que ça marche. Je n'y ai pas investi beaucoup de temps mais je vais essayer de peaufiner tout ça et de faire le test sur d'autres jeux. Par contre il ne faut pas rêver, jamais un écran tactile ne remplacera une manette :D @iMaster Oui j'imagine que c'était le but de ta question :)


  • Team

    Super projet @Miroof . au niveau du cpu utilisé ca va t'as fait quelques tests avec 4 manettes ? Je vais voir comment integrer ca facilement dans le build de recalbox. Je fais des test bientot et je vous tiens au courant. Nikel en tout cas.



  • Merci @retroboy :) Je n'ai pas eu le temps de faire de tests de performance mais sincèrement vu la techno utilisée je ne pense pas qu'il y ai de problèmes. Les contrôleurs sont créés à la volée (lorsqu'un utilisateur lance la web app) donc au pire on aura peut-être un pique modeste à ce moment pour servir la page web et créer le contrôleur (ouverture de fichier + écriture). Une fois la manette connectée l'application doit seulement maintenir une websocket ouverte pour un transfert de données modeste et écrire ce qu'il reçoit dans un fichier donc ça reste simple et, je pense, assez peu gourmand. Je ne voudrais pas te dire de bêtises donc je vais prendre le temps ce WE de corriger quelques petits bugs, de faire des tests un peu plus exhaustifs et de faire d'autres démos vidéo (j'ai encore une autre petite feature à montrer ;)) Bonne soirée !



  • Salut tout le monde ! Un petit update pour dire que l'application a été enrichie avec la possibilité d'utilisation en standalone et le retour haptique pour éviter de se perdre sur l'écran tactile. Une petite vidéo a été ajoutée pour montrer à quel point il est simple de connecter une nouvelle manette virtuelle et l'utiliser dans EmulationStation. Je n'ai pas fait de tests en jeu à 3 ou 4 principalement parce que je manquais de monde sous la main. J'espère combler ce manque dans les prochain jours. D'ailleurs si vous connaissez un jeu qu'il serait intéressant de tester à 4 avec ce genre de manette n'hésitez pas :) Bon dimanche ! Miroof



  • Ah mais c'est juste super ce truc !! Hyper pratique quand on a du monde à la maison et qu'on manque de controleurs. Merci !!


  • Moderator
    Team

    Vraiment sympa tout ça! J'allais justement te demander si l'ajout de la fonction retour haptique serait envisageable, la classe =) Plus qu'à attendre les retours de test de retroboy.


  • Team

    Faut vraiment que j'ajoute ton projet a la recalbox. En esperant que node.js ne sera pas trop chiant a compiler....



  • @NeB C'est exactement comme ça que m'est venue l'idée. Un soir avec trois potes et seulement 2 manettes ... C'est frustrant :) @retroboy Je peux jeter un coup d’œil de mon côté si tu veux. Sinon si c'est simplement un problème de techno ça ne devrait pas poser trop de soucis. C'est sûrement facilement portable en Python ... Qu'est-ce qui t'arrangerai ?


  • Team

    Non t'embette pas je pense que je vais reussir a le compiler :)



Want to support us ?

Join us on :

253
Online

28783
Users

14635
Topics

110646
Posts

Looks like your connection to Recalbox Forum was lost, please wait while we try to reconnect.