Se connecter

Informatique

Création de Jeux

Sujet : Unity : Faire une IA évoluée
1
PillsDispenser
Niveau 53
18 février 2021 à 12:43:49

Bonjour,

Quelqu un sait comment faire des IA plus évolués que basique ? Avec du Machine Learning par exemple ?

Alexandress
Niveau 10
18 février 2021 à 17:15:03

Tu devrais regarder du côté de ml-agents sur Unity.
En gros c'est un framework de reinforcement learning.

https://unity.com/fr/prododucts/machine-learning-agents

PillsDispenser
Niveau 53
18 février 2021 à 21:11:17

Le 18 février 2021 à 17:15:03 Alexandress a écrit :
Tu devrais regarder du côté de ml-agents sur Unity.
En gros c'est un framework de reinforcement learning.

https://unity.com/fr/prododucts/machine-learning-agents

Ouais j'avais vu ca. Ca a l'air chaud.

godrik
Niveau 22
19 février 2021 à 01:18:39

Tout ce genre de chose, c'est soit deja fait et packager pour un cas tres particulier que tu peux directement reutiliser. Soit c'est tres dur sans l'education en ML/AI qui va avec.

IndepGameDev
Niveau 10
19 février 2021 à 11:33:53

La solution dépend beaucoup du problème à résoudre ...

PillsDispenser
Niveau 53
19 février 2021 à 14:14:09

Le 19 février 2021 à 11:33:53 IndepGameDev a écrit :
La solution dépend beaucoup du problème à résoudre ...

c'est à dire ?

geoffroypir
Niveau 5
19 février 2021 à 20:49:34

Le 19 février 2021 à 14:14:09 PillsDispenser a écrit :

Le 19 février 2021 à 11:33:53 IndepGameDev a écrit :
La solution dépend beaucoup du problème à résoudre ...

c'est à dire ?

La question est trop générale, difficile de savoir ce qu'il te faut puisque tu n'enonce pas quel type d'IA tu recherche, son environnement et les performances recherchées.
Aussi une IA basique peut aussi dependre du "machine learning", a vrai dire les IA complexes ne fonctionne pas très bien avec cette technique car l'environnement sensitif de l'IA en question serait trop complexe pour un modèle neural qui démarre en étant completement con comme une huitre.

Tu peux utiliser un modèle plus classique.
En général la complexité d'une IA est proportionel au nombre de noeud de décisions et à sa structure.
Tu peux par exemple séparer ces gros noeuds en modules de capacités :
Un marchand aura par exemple quelques noeuds majeurs tel que se déplacer de manière autonome dans son environnement et un autre pour définir ses décisions commerciales.
Certains modules sont ... disons "macro" et d'autres "micro", par exemple le marchand dirige peut être une entreprise qu'il voudra faire evoluer dans la duré et prendra des décisions qui influenceront peu avec des décisions "Micro" comme evaluer une opportunité commerciale.

geoffroypir
Niveau 5
19 février 2021 à 20:57:39

Quasi sur que c'est le modèle utilisé pour "alien isolation". Ca n'a absolument rien de révolutionnaire, ca impressionne pas, t'auras pas l'air d'un hackeur à capuche en déployant un tel modèle mais avec beaucoup de boulot sur l'IA tu peux en faire une satané fouine, et rien ne t'empêche d'y mettre tout une panoplie de variables qui enregistres les expériences pour ensuite les pondérer dans des futures décisions, et ainsi faire un système de récompense rudimentaire mais sur-mesure.

PillsDispenser
Niveau 53
20 février 2021 à 16:01:06

L'idéale serait une IA Zombie mais sinon peut importe sa serait juste pour faire de l'expérimentation.

boucif
Niveau 24
20 février 2021 à 19:16:18

Pas besoin d’une IA pour des zombies le but c’est juste de se jeter sur le joueur

PillsDispenser
Niveau 53
20 février 2021 à 23:06:40

Le 20 février 2021 à 19:16:18 boucif a écrit :
Pas besoin d’une IA pour des zombies le but c’est juste de se jeter sur le joueur

Ouais mais je dois faire une IA avec du ML.

zebtorax
Niveau 9
20 février 2021 à 23:34:29

idéalement le Machine Learning c'est en Python.
Avec Unity une i.a c'est plus avec l'utilisation d'un navmesh, programmation en C# ou éventuellement en visual scripting par exemple avec Bolt. Donc rien à voir avec de la programmation neuronal reposant sur l'apprentissage par échecs répétés d'une i.a...

PillsDispenser
Niveau 53
21 février 2021 à 00:10:59

Le 20 février 2021 à 23:34:29 zebtorax a écrit :
idéalement le Machine Learning c'est en Python.
Avec Unity une i.a c'est plus avec l'utilisation d'un navmesh, programmation en C# ou éventuellement en visual scripting par exemple avec Bolt. Donc rien à voir avec de la programmation neuronal reposant sur l'apprentissage par échecs répétés d'une i.a...

Ben https://unity.com/fr/prododucts/machine-learning-agents ca fait quoi ?
Ca a l'air d'être une bonne série : https://www.youtube.com/watch?v=zPFU30tbyKs

geoffroypir
Niveau 5
21 février 2021 à 03:28:36

Oui ca à l'air d'être bien ces tutos.
Sinon histoire de clarifier les choses, python n'a rien à voir avec le machine learning en soit, à part que ce langage est populaire pour une génération de programmeur et donc la disponibilité des librairies spécialisées est meilleur.
Et comme sa question concerne Unity on parle ici de c# ou de c++ (à l'aide de dll).

zebtorax
Niveau 9
21 février 2021 à 10:11:41

Le 21 février 2021 à 00:10:59 PillsDispenser a écrit :

Le 20 février 2021 à 23:34:29 zebtorax a écrit :
idéalement le Machine Learning c'est en Python.
Avec Unity une i.a c'est plus avec l'utilisation d'un navmesh, programmation en C# ou éventuellement en visual scripting par exemple avec Bolt. Donc rien à voir avec de la programmation neuronal reposant sur l'apprentissage par échecs répétés d'une i.a...

Ben https://unity.com/fr/prododucts/machine-learning-agents ca fait quoi ?
Ca a l'air d'être une bonne série : https://www.youtube.com/watch?v=zPFU30tbyKs

Oui, tu peux le faire piske il y a le lien plus haut.
Mais ce que je voulais dire, c'est que Unity c'est pas idéalement fait pour ça.
Je pense que c'est un peu dans la ligne éditoriale commerciale d'Unity, de vouloir s'étendre un peu dans tous les domaines, mais jamais sans de grands aprofondissements.
Si tu t’intéresse vraiment au Machine Learning, alors il vaut mieux le faire en Python.

_Pytchoun
Niveau 53
21 février 2021 à 10:51:44

Le 21 février 2021 à 10:11:41 zebtorax a écrit :

Le 21 février 2021 à 00:10:59 PillsDispenser a écrit :

Le 20 février 2021 à 23:34:29 zebtorax a écrit :
idéalement le Machine Learning c'est en Python.
Avec Unity une i.a c'est plus avec l'utilisation d'un navmesh, programmation en C# ou éventuellement en visual scripting par exemple avec Bolt. Donc rien à voir avec de la programmation neuronal reposant sur l'apprentissage par échecs répétés d'une i.a...

Ben https://unity.com/fr/prododucts/machine-learning-agents ca fait quoi ?
Ca a l'air d'être une bonne série : https://www.youtube.com/watch?v=zPFU30tbyKs

Oui, tu peux le faire piske il y a le lien plus haut.
Mais ce que je voulais dire, c'est que Unity c'est pas idéalement fait pour ça.
Je pense que c'est un peu dans la ligne éditoriale commerciale d'Unity, de vouloir s'étendre un peu dans tous les domaines, mais jamais sans de grands aprofondissements.
Si tu t’intéresse vraiment au Machine Learning, alors il vaut mieux le faire en Python.

Pourquoi tu dis ça faire du machine learning peut être utile dans un jeu.
Pourquoi unity pourrait pas?

zebtorax
Niveau 9
21 février 2021 à 13:43:41

Le 21 février 2021 à 10:51:44 _Pytchoun a écrit :

Le 21 février 2021 à 10:11:41 zebtorax a écrit :

Le 21 février 2021 à 00:10:59 PillsDispenser a écrit :

Le 20 février 2021 à 23:34:29 zebtorax a écrit :
idéalement le Machine Learning c'est en Python.
Avec Unity une i.a c'est plus avec l'utilisation d'un navmesh, programmation en C# ou éventuellement en visual scripting par exemple avec Bolt. Donc rien à voir avec de la programmation neuronal reposant sur l'apprentissage par échecs répétés d'une i.a...

Ben https://unity.com/fr/prododucts/machine-learning-agents ca fait quoi ?
Ca a l'air d'être une bonne série : https://www.youtube.com/watch?v=zPFU30tbyKs

Oui, tu peux le faire piske il y a le lien plus haut.
Mais ce que je voulais dire, c'est que Unity c'est pas idéalement fait pour ça.
Je pense que c'est un peu dans la ligne éditoriale commerciale d'Unity, de vouloir s'étendre un peu dans tous les domaines, mais jamais sans de grands aprofondissements.
Si tu t’intéresse vraiment au Machine Learning, alors il vaut mieux le faire en Python.

Pourquoi tu dis ça faire du machine learning peut être utile dans un jeu.
Pourquoi unity pourrait pas?

J'ai jamais dis que c'est pas possible, mais que c'est pas l'idéal. (Pour quelqu'un de très assidu à Unity pourquoi pas, mais je pense pas que ce soit le cas de l'auteur du topic..)
Comme le dis boucif, si c'est juste pour faire une i.a de zombie, un navmesh avec du C# ou bolt peut très bien faire l'affaire. Même pour une i.a un peu plus poussée comme par exemple pour un jeu d'échec.

Maintenant si c'est vraiment pour faire du Machine Learning, Python est plus adapté (entre autre pour les propriétés du langage, plus intermédiaire software/hardware, etc.), plus anciennement utilisé pour du ML avec plus de ressources et grande commu, etc.
J'en veux pour preuve le bien connu site https://www.udemy.com/, par exemple.

Je donne pas une page de formation en particulier, faire des recherches dans le moteur de recherches, vous constaterez par vous même que des formation Machine Learning en Python il y en a de très nombreuses, mais pas pour Unity, ou alors effectivement pour des I.A en C# ou bolt ou autre visual scripting...

geoffroypir
Niveau 5
21 février 2021 à 14:33:26

:rire:

_Pytchoun
Niveau 53
21 février 2021 à 14:41:38

Le 21 février 2021 à 14:33:26 Geoffroypir a écrit :
:rire:

Oui?

PillsDispenser
Niveau 53
23 février 2021 à 11:02:29

Concernant ce que j'imagine pouvoir faire, je ne sais pas si c'est possible en machine learning.

Une IA Zombie :
Elle devrait détecter si un humain est à proximité. Elle se dirige vers l'humain par le bruit qu'il produit et son odeur.
(En codage basique on parlerait de rayon de détection et de bruit spatiaux ?)
Quand le zombie est à proximité, il frappe.
Les zombies se déplaceraient en horde.

Une IA humaine :
Elle devrait détecter si le joueur / ennemi est à proximité. Elle l'attaquerait a l'arme à feu ou au corps a corps en détectant les obstacles entre lui et le joueur.

Que pensez vous ?

1
Sujet : Unity : Faire une IA évoluée
   Retour haut de page
Consulter la version web de cette page