Bonjour à tous,
Je pense que l’ajout d’une fonctionnalité Caméra Webcam serait très intéressant. Bien que je suis contient que cela demanderait énormément de travail, cela ouvrirait l’accès à une nouvelle gamme de jeux. De plus cela attirerait de nouveaux utilisateurs potentiels sur GAME DEVELOP car peu de logiciels (aucun à ma connaissance) ne permettent de créer des jeux en réalité augmentée.
Pour cela il faudrait ajouter la possibilité de lire des images en provenance d’une WebCam ainsi que la possibilité de détecter un mouvement (par exemple grâce au changement de la couleur d’un pixel).
Voila Je pense avoir tout dit je rajoute juste un lien en exemple de ce que peut donner un jeu en Réalité Augmenté basique.
Lire le flux de donné en provenance de la webcam serais un problème facile à régler cependant détecter des choses par reconnaissance serais très difficile ! Il faudrait créer un algorithme capable de détecter ce que l’on veux (par exemple un visage ou une image simple) ce qui est loin d’être simple !
En d’autres termes cette extension serait plus difficile à construire que debugger en entier Game Develop (Enfin presque )
Je ne demande pas un logiciel de reconnaissance faciale, c’est vraiment trop compliqué bien que faisable. Mais “juste” un ajout de la webcam avec une extension qui permettrait de détecter un mouvement.
Par exemple un algorithme qui regarderait la couleur de chaque pixel et si un change de couleur on en déduit qu’il y a mouvement. Ensuite on créerait une seconde image Bichromatique qui représenterait ces mouvements :
une couleur pour pixel ayant la couleur changée → mouvement (par convention le rouge)
une couleur pour un pixel n’ayant pas bougé (par convention le blanc)
Pour finir il faudrait ajouter un système de collision entre les objet du jeu et les mouvements perçus par la webcam.
C’est vrai ça rend plus simple l’extension, mais dans ce cas il faut rendre l’acquisition de l’image en basse résolution et que le flux ne soit pas trop grand (une image haute qualité à analyser toutes les millisecondes rendraient le programme trop lourd )
En clair ce n’est pas si compliquer que ça mais il faut bien penser au codage
C’est plus compliqué que de vérifier les pixels qui changent, car en pratique, tout les pixels changent tout le temps ( micro mouvement de la webcam, imprécision ou mauvaise netteté du capteur ). C’est pour ça qu’il y a des algorithmes plus ou moins simples pour l’analyse d’image ( et ça peut aller jusqu’au très compliqué quand il s’agit d’analyser des choses très précises ).
Je me suis pas penché sur le sujet à fond, ça doit pas être si compliqué de détecter des zones de changement, mais pas non plus aussi trivial que de faire des comparaisons entre pixels.
C’est pas inintéressant comme toute fonctionnalité, mais est ce que c’est suffisamment :
-Utilisable par beaucoup d’autres personnes ?
-Adaptable à d’autre utilisation ( et pas simplement limité à un type de jeu en particulier ) ?
pour que je passe du temps à chercher/comprendre/implémenter ( et maintenir dans le futur ) une telle extension ? ( Ce sont des vrais questions, n’hésitez pas à me dire le pour et le contre là dessus )
Pour les “Pours” : je pense que le simple fait de rajouter au palmarès déjà plus que rempli de GAME DEVELOP l’astérisque Possibilité de créer de jeux en Réalité Augmentée pourrait attirer énormément de monde dessus. Je ne suis pas expert mais je pense pouvoir affirmer qu’il deviendrait le logiciel offrant cette capacité le plus intuitif et le plus simple et, de ce fait, renforcerait sa place de leader dans le domaine de la conception de jeux vidéos (je parle de logiciels pour particulier). Qui dit simplicité dit attractivité ! De plus je sais qu’avec l’essor des “nouvelles” utilisations des consoles de salon avec la kinect sur X-Box et sur PS3 son clone qui vient de sortir, je pense que c’est un secteur d’avenir dans lequel il faut se lancer au plus vite pour peut être (je m’emballe un peu) devenir une référence.
Pour les “Contres” : le traitement de l’image ça peut faire très (très) peur ! En effet, cela demanderait un travail colossal. Mais, à mon avis le jeu en vaut la chandelle.
Vous l’aurez compris personnellement je suis plus que POUR mais ce n’est pas moi qui décide.
Si je peux juste rajouter un dernière chose, 4ian dis moi tu es à combien de temps passé sur ton logiciel ? Tu ne comptes plus n’est ce pas et je suis sûr que tu t’es déjà attaqué à bien plus effrayant et compliqué. Cela mérite vraiment de tenter le coup.
Pour ma part, je pense que cela ne servirai pas à grand chose. De plus que la réalité augmenté, c’est avec une webcam donc en 3D et que Game Develop est fait pour les jeux en 2D. Ci tu veux faire de la réalité augmenté, renseigne toi du côté de OpenSpace 3D.
La RA ne marche bien qu’en conditions optimales (pièce bien éclairée, de jour, gros processeur pour superposer en temps réel l’image réelle et l’image virtuelle). Une 3DS permet de se rendre compte de tout le potentiel, mais aussi toutes les contraintes, inhérentes à ce type de technologie. Une webcam classique ne fera jamais aussi bien. Et peu de gens veulent mettre plus de 30 euros dans ce type de périphériques …
Maintenant, pour détecter s’il y a un mouvement, il y a un moyen très simple : on capture une image à T0, puis une image à T+1seconde. Si le poids de l’image T1 est “sensiblement” différent de T0, c’est qu’il y a eu mouvement. Reste ensuite à déterminer la sensibilité.
Ca ne détectera pas les mouvements discrets (visage qui sourit), mais au moins les passages de corps devant la caméra.
Pour avoir quelque chose de plus précis, il faudrait convertir les deux captures en N&B, pousser le contraste à donf, et comparer les pixels qui sont passés de blanc à noir (et de noir à blanc). Avec un système de quadrillage pour aller plus vite (on compare des zones de pixels de plus en plus petites, tant qu’on n’a pas une différence significative).
Globalement, avoir la webcam dans GD me semble assez gadget.
Au mieux, une feature en plus à mettre en avant.
Jessy V a bien résumé la situation : Pour le moment, ça parait difficile à bien faire, difficile à utiliser, et que ça fait beaucoup de boulot pour un gadget ( Rappelez vous, moins j’ai de “gadget” à maintenir à jour au fil des versions, plus vite je pourrai réagir sur les fonctionnalités essentielles )