Choix du langage de programmation pour mon projet
Répondre à la discussion
Affichage des résultats 1 à 12 sur 12

Choix du langage de programmation pour mon projet



  1. #1
    invite3938a7ab

    Choix du langage de programmation pour mon projet


    ------

    Salut à tous!

    J'ai un petit projet que j'aimerais faire, seulement je suis pas (encore) un expert en programmation. J'ai déjà utilisé deux trois langages comme Java, Matlab, C. J'ai donc besoin de votre aide!

    J'aimerais faire un mini-jeu sur un jeu qui existe déjà. Pour cela, j'ai besoin de récolter l'information de la position du joueur chaque 30 secondes par exemple.
    Avec quel langage puis je récolter cette donnée chaque x sec ? Tout ce qui m'intéresse est bien la coordonnée (23,-12 dans ce cas) qui est toujours au même endroit. J'ai entendu parler de Tesseracts sur Python mais je sais pas si c'est viable
    Nom : Capture.jpg
Affichages : 115
Taille : 63,2 Ko

    Merci beaucoup pour l'aide !

    -----

  2. #2
    Ikhar84
    Animateur Informatique

    Re : Choix du langage de programmation pour mon projet

    tesseract est utilisé pour l'OCR, Reconnaissance Optique de Caractères...
    À moins de faire une capture toutes les x", puis de chercher à y reconnaitre les caractère (galère ici vu la capture fournie, sans compter la fréquence...), je ne vois pas l'interêt...

    Je ne vois pas comment jouer en même temps à deux jeux, ni l'interêt (non plus)...

    Normalement, dans ce cas, on recherche l'instance du jeu en RAM, et on accède alors à ses variables, ce qui est bien plus compliqué à réaliser qu'une capture, cela suppose une bonne maîtrise de la prog, du système et de la gestion des processus.

    C'est comme cela qu'agissent les prog de triche, mais il faut noter que cela va à l'encontre des conditions d'utilisation du jeu, et que l'on n'est pas loin du piratage (le vrai, pas celui d'Hadopi).

    Si la donnée est systèmatiquement au même endroit, il doit être possible d'automatiser une capture de la partie de l'ecran et de l'analyser en OCR via python, mais il faudra sûrement ralentir la fréquence... et on fait quoi de la donnée récuperée sous forme de texte ?
    J'ai glissé Chef !

  3. #3
    invite3938a7ab

    Re : Choix du langage de programmation pour mon projet

    Une image toutes les 30 secondes est trop rapide?
    En gros pour faire cours, il s'agit d'un principe de "bounty hunter", un joueur recevra la position d'un autre et devra le traquer pour ensuite l'affronter, ça permettrait peut-être de remettre le mode joueur contre joueur à nouveau à la lumière du jour. C'est juste une idée qui me passait par la tête et je voulais savoir si c'était réalisable, je ne sais pas encore si je vais vraiment le faire mais je me documente quand même

  4. #4
    Ikhar84
    Animateur Informatique

    Re : Choix du langage de programmation pour mon projet

    Ben il faut capturer l'image, la recadrer (pour ne garder que la zone), l'analyser, recuperer le résultat de l'analyse OCR, traiter ce résultat, le transmettre a l'autre joueur...

    Si tu es capable de faire tout ça en un seul soft indépendant, pas de problème pour le faire plusieurs fois par seconde, même si ça risque de bien ralentir la machine, en fonction de ses caractéristiques.

    Sinon, si tu passes par des commandes sous forme de script (batch ou python ou autre...), il faut que le soft lancé fasse son job, retourne d'une façon ou d'une autre le résultat de son job, le script lance alors le soft suivant, en lui fournissant ce résultat, avec une certaine latence du au chargement du soft, etc...

    Tu peux lancer un soft de capture d'écran (le plus léger possible), faire la capture à la main, sauvegarder cette capture, puis lancer une suite bureautique, histoire de voire le temps que cela va prendre, ça devrait correspondre à la suite d'étape décrite, niveau temps de chargement et de traitement.

    Si tu t'en sors pour moins de 3/4 minutes, ça devrait déjà être pas mal...
    J'ai glissé Chef !

  5. A voir en vidéo sur Futura
  6. #5
    minushabens

    Re : Choix du langage de programmation pour mon projet

    Il me semble que si je devais faire ça j'essaierais de chercher à quelle adresse en mémoire le processus stocke ces variables. Ca peut prendre du temps mais avec un peu de chance c'est juste une paire d'entiers et en faisant varier la position du joueur tu peux espérer les reconnaître.

    sinon, pour la solution lecture sur l'écran, j'utiliserais un deuxième ordinateur et une caméra (je dis pas que c'est simple à mettre en oeuvre).

  7. #6
    Ikhar84
    Animateur Informatique

    Re : Choix du langage de programmation pour mon projet

    Ben oui la solution classique serait de regarder les processus (programmes) en cours d'execution, récuperer un handle sur celui voulu, scan sa RAM pour recuperer ses variables, entiers ou tableau d'entier, ou même structure (si C, sinon Objets sûrement), puis lecture de la zone mémoire...

    Cela peut se faire de plusieurs manières mais aucune n'est triviale, et clairement réprouvé par toute CGV qui serait un tant soit peu sérieuse...

    Pour la camera, autant prendre un capture de l'écran puis découper la zone sélectionnée, cele peut être automatisé sur les gros soft de graphisme (avec Gimp en tout cas c'est faisable)...

    Mais là aussi gros travail de script et de coordination, avec un énorme temps de latence à chaque appel d'un "sous soft"...
    J'ai glissé Chef !

  8. #7
    invite3938a7ab

    Re : Choix du langage de programmation pour mon projet

    Ok ça marche ! Merci beaucoup pour ces informations !!

  9. #8
    azad

    Re : Choix du langage de programmation pour mon projet

    Mais c’est très compliqué tout cela !
    Il existe des langages dans lesquels tu peux assigner une image (de la taille de ton choix) comme appartenant à la classe «*Sprite*». Une fois cela fait tu peux placer le «*Sprite*» aux coordonnées de ton choix, par exemple sur l’image d’un fond. Le «*Sprite*» s’affiche là où tu le souhaite et tu n’as pas à t’occuper du rafraîchissement de l’image de ton fond quand le Sprite se déplace. En parallèle le système connait toujours la position de ce Sprite et tu peux en afficher les coordonnées quand tu le souhaites. Cela sans interruptions et en temps réel.
    J’a déjà, ici même, évoqué un tel langage (C’est un Basic orienté Objet) mais les vrais pros de la programmation, ceux qui savent tout ( ) m’ont répondu qu’il s’ agissait là d’un langage «*ésotérique*» et sans intérêt. Inutile donc de chercher à les convaincre. Si tu souhaite plus d’infos contacte moi en MP et je te dirais où le télécharger légalement (site officiel) avec sa documentation et une multitude d’exemples. Ce logiciel coûte très cher, tu peux écrire un programme à partir d’une plate-forme donnée (Mac ou PC) et demander à ce qu’il soit compilé pour l’une ou l’autre, ou les deux plates-formes. Mais, et cela va te ravir, si tu télécharge sans acheter la licence tu peut exécuter ton programme en mode IDE. Et dans ce mode, il fonctionne très bien. La licence ne sert qu’à compiler une version autonome et distribuable.
    Tu pourras ainsi tester ton programme sans difficulté.
    Je crois que le VisualBasic a aussi ses propres Sprites.

  10. #9
    Ikhar84
    Animateur Informatique

    Re : Choix du langage de programmation pour mon projet

    Si j'ai bien compris, le posteur veut récuperer des coordonnées de son déplacement dans le jeu, coordonnées affichées en haut à gauche de l'ecran.

    Quel rapport avec un sprite contrôlable dont on connaîtrait les coordonnées écran (et pas les coordonnées sir la carte du jeu)?

    Sinon n'importe quel langage aurait pu faire l'affaire, afficher un simple sprite, le superposer à l'écran, et lier sol déplacement sur l'écran au touches directionnelles par exemple, pas besoin de Forth pour ça...
    J'ai glissé Chef !

  11. #10
    bobflux

    Re : Choix du langage de programmation pour mon projet

    On dirait que c'est dofus, bon j'y joue pas mais le premier truc qui vient à l'esprit c'est : est-ce que le jeu a un anti-cheat (genre PunkBuster ou autre) comme tous les jeux en ligne ?

    Le but de ces anti-cheats est justement d'empêcher tout trafiquage de l'espace mémoire ou du code du jeu. Par exemple, imagine l'équivalent de ton projet, mais pour un FPS, si tu peux extraire de l'espace mémoire du jeu les positions des autres joueurs, tu sauras où ils sont, donc tu peux les voir venir sans qu'ils soient à l'écran, et c'est de la triche ! Donc punkbuster te repère et il ban ton compte, ça rigole pas.

    Donc il faut le faire à partir d'un screenshot.

    Pour ça il faut savoir si le moteur du jeu est en directx (probablement) et dans ce cas tu vas devoir chercher comment faire un screenshot d'une appli directx, façon fraps. J ete donne des idées pour chercher, j'ai aucune idée de comment on fait.

    Une fois que t'as le screenshot, la partie OCR pour avoir les nombres est triviale, sauf si les nombres sont affichés sur un fond de la même couleur et donc invisibles bien sûr...

    Une autre possibilité : est-ce que ton jeu peut exécuter des scripts ? Certains moteurs de jeu peuvent le faire, dans ce cas ça simplifierait ton problème. Note qu'un jeu modifié (avec un script) sera probablement banni des serveurs multi cependant.
    Dernière modification par bobflux ; 27/07/2018 à 14h04.

  12. #11
    azad

    Re : Choix du langage de programmation pour mon projet

    Salut Ikhar84.
    J'aimerais faire un mini-jeu sur un jeu qui existe déjà....
    Tu as raison, j'avais interprété trop vite cette information.
    Reste une possibilité : s'arranger pour que le joystik soit actif sur les deux jeux simultanément (double câblage). Après initialisation les coordonnées du sprite du jeu originel seront transmises au programme de notre ami. Et cela en temps réel et sans intervenir sur le logiciel d'origine. Y a plus qu'à traiter.
    Et certainement pas en Forth !
    Dernière modification par azad ; 27/07/2018 à 15h33.

  13. #12
    Ikhar84
    Animateur Informatique

    Re : Choix du langage de programmation pour mon projet

    (Salut Azad)...
    Oui j'ai pas pensé à intercepter les commandes et interpoler la position par rapport à ces déplacements, maid on risque de perdre pas mal en précision, tout dépend de la gestion des déplacements dans le jeu... et il faut connaître la position au lancement du jeu...
    J'ai glissé Chef !

Discussions similaires

  1. quel langage de programmation pour pic
    Par invitee38e28db dans le forum Électronique
    Réponses: 13
    Dernier message: 17/10/2014, 22h12
  2. Choix du langage de programmation (débutant)
    Par VIDAL_TECH dans le forum Programmation et langages, Algorithmique
    Réponses: 9
    Dernier message: 07/06/2014, 18h00
  3. Besoin d'aide sur le choix d'un langage de programmation
    Par inviteff538fb5 dans le forum Programmation et langages, Algorithmique
    Réponses: 23
    Dernier message: 05/09/2011, 17h15
  4. Question langage C pour programmation PIC
    Par invite3d4f2ff3 dans le forum Électronique
    Réponses: 6
    Dernier message: 11/07/2011, 17h43
  5. choix d'un langage de programmation
    Par pierrerichard dans le forum Logiciel - Software - Open Source
    Réponses: 6
    Dernier message: 22/11/2009, 20h45