IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

[Débutant] Agir sur un Jeu


Sujet :

C++

  1. #41
    Membre éclairé
    Inscrit en
    Octobre 2004
    Messages
    616
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 616
    Par défaut
    Je vois que je ne suis pas le seul à avoir des idées tordu

    Tu as 2 solutions globalement :

    1 ) Utilisez des ressources fourni par le jeu ( type SDK, fichier de script ect ... ) ou décrypté les paquet client/server ( dans le cadre d'un jeu en résaux .... ce procédé est trés répandu pour Diablo2 ) .

    2 )¨Etre calé en I.A et développez une bot capable d'apprendre à jouer par lui même en fonction de l'analyse du jeu image par image ( le temps de calcul doit etre assez long mais bon ...) C'est une voix trés interessante je trouve car on doit toucher à beaucoup de domaines différent en IA mais a mon avis ca reste extrement difficle pour un résultat cohérent .

    Pour cs, je verrai ca comme ca :

    - Programmation d'un hook / GUI sur CS
    - En fonction des déplacements , construction par le bot en interne de la structure du niveau en 3D .
    - Définition de quelques objectifs ( survivre, tuer les ennemis, sauver les hotage ... )
    - Ensuite tu peux attaquer une IA plus "costeau" qui va gérer les déplacement, les actions ect ...

    C'est faisable mais bon ... la reconstruction d'environnement 3D à partir d'images 2D c'est assez chaud et trés gourmand en temps ( j'ai survolé une thése dessus durant un stage ).

    Bonne chance !

  2. #42
    Membre Expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 890
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 890
    Par défaut
    Salut,

    Il n'y a pas forcément besoin de "reconstruire" quelque chose qui est déjà matérialisé

    Le moteur de rendu est une chose, et les données ( Matrices, et autres ) représentant ce monde en est une autre.

    Donc pour faire les actions, il suffirait de bien exploiter les données, et de prendre des décisions en fonction de celles-ci; La reconnaissance de forme parrait inutile ici, car elle ne s'applique QUE dans le cas où on possède une représentation graphique SANS les données associées; Ici on "a de la chance" car on a les données

    Le problème est plutot dans la compréhension des structures de données utilisées par Counter. Je ne sais pas du tout comment ils représentent le monde, encore moins la carte et les joueurs; Ca peut dépendre grandement en fonction des jeux. Il faudra faire un gros travail d'investigation pour comprendre les données, et ensuite pour les interpreter et faire le petit robot qui prendra des décisions en fonction de celles-ci

    A+

  3. #43
    Membre éclairé
    Inscrit en
    Octobre 2004
    Messages
    616
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 616
    Par défaut
    Hum j'avais oublié qu'on possède déjà les map sur nos machines ... mais bon, le travail de reconnaissance peut s'avérer trés utile et surtout permettre de se passer de l'idée qu'on connait les map au départ ... on rejoint plus l'IA ... reste à voir le but recherché

  4. #44
    Membre Expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 890
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 890
    Par défaut
    J'ai pleins d'idées

    1) Il y a une notion de IA en "temps réel" : quand toutes les conditions sont remplies ( munitions OK, vie OK, ennemi EN VUE, portée OK, AUCUN obstacle ) on passe en mode "Canarde l'ennemi" jusqu'à ce qu'on ait plus de munition. C'est le mode temps réel, on regarde les différents compteurs afin de changer sortir de cet état, mais pendant cet état qu'on pourrait appeller de "mode combat", le bot se déchainerait et n'aurait qu'une idée en tête : la mort adverse !

    2) Mais avant, il faut aussi prendre en compte une sorte de "planification" dans les actions : Dans le cas de Counter, il faut par exemple tout d'abord aller chercher des munitions, avant d'aller affronter l'ennemi, sinon ton bot va se trouver comme un lapin qui irait affronter un lion Et puis quand tu n'as plus de munition, il faut changer d'arme, ou aller se cacher, si on juge le combat inégal ( et en allant se cacher, faire un joli zigzag chaotique afin de perturber la visée adverse )

    3) Pour gérer tout ça, tu dois pouvoir régler l'agressivité, voire même plusieurs paramètres qui définieront le "caractère" de ton bot. Ainsi, si il est agressif, il va foncer dans le tas; si il est defensif et conservateur, il va économiser ses munitions, se cacher, etc..

    Enfin c'est marrant tout ça, faut dire que ce genre de IA n'est pas "très compliqué", ce n'est pas comme dans un jeu de stratégie, où beaucoup beaucoup plus de paramètres entrent en compte !

    A+

  5. #45
    Membre éclairé
    Inscrit en
    Octobre 2004
    Messages
    616
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 616
    Par défaut
    Enfin c'est marrant tout ça, faut dire que ce genre de IA n'est pas "très compliqué", ce n'est pas comme dans un jeu de stratégie, où beaucoup beaucoup plus de paramètres entrent en compte !
    Pour faire un BON bot à CS il va faloir plus que quelques paramètre
    Il faut prenre en compte le teamplay, le relief de la map, les habitude des joueurs sur la map, le type de réflexe qu'a un jour ... tant de petites choses qui deviennent instinctive en jouant pour un humain mais qu'il n'est pas simple de simuler pour un bot

  6. #46
    Membre Expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 890
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 890
    Par défaut
    Citation Envoyé par Clad3
    Pour faire un BON bot à CS il va faloir plus que quelques paramètre
    Il faut prenre en compte le teamplay, le relief de la map, les habitude des joueurs sur la map, le type de réflexe qu'a un jour ... tant de petites choses qui deviennent instinctive en jouant pour un humain mais qu'il n'est pas simple de simuler pour un bot
    Oula, tu vas un peu loin dans l'intelligence artificielle de ton bot : il sera plus intelligent que la plupart des joueurs ! lol

    Je ne poussais pas le vice jusqu'à ces considérations, mais là ton bot, tu peux l'appeller big blue : le temps de prendre une décision, il est déjà mort 3 fois, et il a déjà plusieurs autres évenements qui viennent de s'ajouter à la queue des évènements : à mon avis, avec la technologie actuelle, c'est impossible de faire un tel bot, ce serait trop lent et il ne pourrait pas prendre les décisions suffisament rapidement

    Les IA actuelles qu'on voit dans les jeux sont en fait bourrées d'astuces pour accelerer les réactions, une astuce consiste par exemple a donner des chemins au bot, ou bien à lui donner un comportement "aimant" : il se dirige constamment vers le joueur le plus proche. Mais de là à imaginer un bot, qui sera suffisament intelligent pour passer par le haut, car il a entendu le bruit d'une rocket à gauche, et qu'il a vu 3 ennemis à droite.. Bonjour !

  7. #47
    Membre éclairé
    Inscrit en
    Octobre 2004
    Messages
    616
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 616
    Par défaut
    C'est exactement ce que je reproche aux bots d'aujourdh'ui, ils sont beaucoup trop dépendant de ces astuces ( waypoint, action pré-concus ect ... ) . Je suis certain qu'il est possible de parvenir a un résultat bien plus convainquant ... mais c'est sur que niveau temps de calcul, il faudrai 1 PC par bot, donc c'est simplement interessant pour la réflexion qu'il y a derrière et pour ceux qui souhaite s'amuser a faire jouer un BOT a leur place de facons la plus intelligente possible .

  8. #48
    Membre Expert
    Avatar de ArHacKnIdE
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 947
    Détails du profil
    Informations personnelles :
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 947
    Par défaut
    Merci pour ses superbes messages

    Vous avez l'air d'avoir des idées...

    Mais est-ce que seulement c'est réalisable, j'eprouverai un grand bonheur de voir mon "bot" courrir et de foncer droit dans un mur avec un couteau à la main

    Sachant que j'ai Counter Strike 1.6 avec Steam, Bien sur.

+ Répondre à la discussion
Cette discussion est résolue.
Page 3 sur 3 PremièrePremière 123

Discussions similaires

  1. [Débutant]Agir sur ma fenêtre via une autre classe o_O
    Par h0peless dans le forum Windows Forms
    Réponses: 6
    Dernier message: 03/02/2008, 12h07
  2. [débutant] agir sur windows
    Par tnntwister dans le forum Ruby
    Réponses: 1
    Dernier message: 13/01/2008, 23h51
  3. [débutant] conseils sur contraintes et alter table
    Par maysa dans le forum MS SQL Server
    Réponses: 10
    Dernier message: 26/05/2004, 10h03
  4. [débutant] question sur les #
    Par Ultros dans le forum C
    Réponses: 3
    Dernier message: 29/04/2004, 13h30
  5. [Débutant] Connexion sur une machine distante protégée
    Par arthix dans le forum Développement
    Réponses: 3
    Dernier message: 28/08/2003, 10h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo