CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Pathfinding simpliste

News jeu

Expeditions: Samurai veut révolutionner le RPG tactique avec une aventure entièrement jouable en coop

Voir
Nawako
Nawako
Niveau 8
30 novembre 2012 à 09:32:08

Salut,

Je suis en train de coder en XNA (C#) un petit jeu ou des ennemis arrivent de tout les cotes en s'approchant du joueur et notre but est d'en tuer le plus possible.

Il y a sur l'ecran des obstacles, et je voulais savoir de quelle maniere je pourrais m'y prendre pour que les ennemis poursuive le joueur sans etre des 'robots idiots', pour l'instant j'ai juste fais qu'ils avance dans sa direction mais si je bouge a gauche ou a droite les ennemis font pareil et c un peu trop facile.

J'ai cherche un peu et j'ai trouver l'algorithme A* mais je suis pas sur qu'il me convienne parfaitement..

merci de votre aide!

Poneymovez
Poneymovez
Niveau 9
30 novembre 2012 à 10:03:55

Il existe autant de Pathfinding que de programmeurs sur terre.

Tu en trouveras des tonnes différents, après si tu commences (Et même après) c'pas le plus simple à faire (Vive slick qui incorpore un pathfinding dans sa lib :bave: !)

Nawako
Nawako
Niveau 8
30 novembre 2012 à 10:25:54

C'est la que je regrette que mon lycee apprends le C# au lieu du Java.

Sinon si tu aurais une idee pour un debut, quelque chose qui m'aiderais a reflechir? :)

Poneymovez
Poneymovez
Niveau 9
30 novembre 2012 à 10:29:26

Du tout, je maîtrise pas du tout ce sujet, désolé :(

Pepitoast
Pepitoast
Niveau 10
30 novembre 2012 à 10:36:08

Voici quelques liens qui pourraient t'aider :

C# / Unity (Je ne sais pas si le code Unity est compatible avec du C# "pur")
- http://www.critterai.org/nav_u3d

Théories :
- http://mgrenier.me/2011/06/pathfinding-concept-the-basics/
- http://www-cs-students.stanford.edu/~amitp/gameprog.html#paths

C'est tout ce que j'ai trouvé pour l'instant, si tu as du courage, je pourrais te conseiller de faire un wrapper C# de la librairie Recast/Detour pour que tu puisses l'utiliser en C#.

tbop2
tbop2
Niveau 10
30 novembre 2012 à 10:45:57

"pour l'instant j'ai juste fais qu'ils avance dans sa direction mais si je bouge a gauche ou a droite les ennemis font pareil et c un peu trop facile."

Oui en meme temps qu'est-ce qu'il devrait faire d'autre ? Pas sur d'avoir tout compris, tu as quelques screenshots pour montrer ca ? Que se passe-t-il a l'heure actuelle dans ton programme lorsqu'un ennemi se trouve face a un obstacle par exemple ? Ou pire, un cul-de-sac ?

Nawako
Nawako
Niveau 8
30 novembre 2012 à 11:08:30

https://dl.dropbox.com/u/53896262/block%20collision.jpg

Voici un screen. Par exemple si je bouge pas dans cette situation, les blocks qui sont face a l'obstacle ne bouge pas non plus, car tant qu'ils sont pas sur la meme position Y que moi, il ne bougerons pas sur la X.

Bref je voudrais quand meme un truc plus avance que ca et qu'ils essaie de m'entourer et d'eviter mes projectiles graces aux obstacle etc.. Ca me parais un peu dur mais bon :/

[-ArK-]
[-ArK-]
Niveau 30
30 novembre 2012 à 11:15:12

Ouais l'algorithme A* suffirait pour contourner les obstacles.

Pour éviter les projectiles par contre ça ira pas, essaye de faire un truc manuel du genre "si un projectile est proche, se déplacer vers telle position ou telle position en fonction de son vecteur vitesse" je dirais

caelacanthe
caelacanthe
Niveau 10
30 novembre 2012 à 11:44:11

http://fr.wikipedia.org/wrg/wiki/Algorithme_de_Dijkstra celui-ci n'est pas très difficile à mettre en place, et pourrait faire l'affaire. :oui:

tbop2
tbop2
Niveau 10
30 novembre 2012 à 12:17:01

Nawako, d'accord donc oui c'est tout a fait naif cette implementation. L'algorithme A* de base va effectivement fonctionner... c'est pas non plus le truc le plus dur du monde je te rassure (et puis c'est de toute facon un incontournable de l'apprentissage de la programmation d'un jeu video :) )

Nawako
Nawako
Niveau 8
30 novembre 2012 à 12:25:08

Merci de vos reponses je vais etudier un peu les deux algo et essayer d'implementer ca :/

[-ArK-]
[-ArK-]
Niveau 30
30 novembre 2012 à 12:55:00

les deux algo sont quasiment les même je crois, et c'est en effet pas trop dure à implémenter (surtout que tu peux trouver du pseudo code très facilement sur Internet)

Sous forums
  • Aide à l'achat Mac
  • Macintosh
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Steam Deck
  • Hardware