ANN in a fighting game?

Started by
8 comments, last by Emergent 12 years, 9 months ago
I've been interested in the potential of neural nets in video games for a while now. But I have been thinking. How good are they at action oriented games, and more specifically, fighting games? I have too worries: a) they suck at real-time gameplay, or b) they're ridiculously good at it and become inhumanly difficult. I guess I'm just wondering if anybody here has any idea of whether a NN is a good idea for AI in a fighting game.
Advertisement
Moving you to our Artificial Intelligence forum.

My understanding is that ANNs can potentially be applied to some elements of gaming if you're interested in doing so but that there are almost certainly more appropriate solutions, and that ANNs don't really see use in games. I'm sure someone with more experience will be able to shed more light on the specific situation you're asking about; personally my "AI" is almost always simple state-machines (which with appropriate balancing are excellent for fighting games btw), so I don't really have much in the way of further input to offer you.

Hope that helps. smile.gif

- Jason Astle-Adams

Neural nets are essentially opaque pattern recognition engines. They are, as such, very useless to most game AI, because of three factors: (A) the number of patterns you have to react to suffers from combinatoric explosion in any non-trivial game, meaning that you need either a stupidly huge NN or a vast number of them to effectively cope with all the possible situations; (B) they offer no capacity for things like generating strategy or planning in general; and (C) fine tuning them based on specific requirements is a bloody nightmare. You can't simply say "Hey, I want this guy to uppercut 10% more when he's just landed a punch" and just go tweak a couple of neurons to get the right result. You have to retrain the entire damn network every time, which is a pointless waste of effort when far superior approaches to AI exist.

I suggest you read up on the FAQs and some of the resources in the AI forum; it should give you a much better idea of how real game AI is implemented and exactly why ANNs are such a terrible option.

Best of luck!

Wielder of the Sacred Wands
[Work - ArenaNet] [Epoch Language] [Scribblings]

Yeah, I realized I should have posted here after the fact. Thanks for the move.

Neural nets are essentially opaque pattern recognition engines. They are, as such, very useless to most game AI, because of three factors: (A) the number of patterns you have to react to suffers from combinatoric explosion in any non-trivial game, meaning that you need either a stupidly huge NN or a vast number of them to effectively cope with all the possible situations; (B) they offer no capacity for things like generating strategy or planning in general; and © fine tuning them based on specific requirements is a bloody nightmare. You can't simply say "Hey, I want this guy to uppercut 10% more when he's just landed a punch" and just go tweak a couple of neurons to get the right result. You have to retrain the entire damn network every time, which is a pointless waste of effort when far superior approaches to AI exist.

I suggest you read up on the FAQs and some of the resources in the AI forum; it should give you a much better idea of how real game AI is implemented and exactly why ANNs are such a terrible option.

Best of luck!


Ah. Thanks for the input.

I've been interested in the potential of neural nets in video games for a while now. But I have been thinking. How good are they at action oriented games, and more specifically, fighting games? I have too worries: a) they suck at real-time gameplay, or b) they're ridiculously good at it and become inhumanly difficult. I guess I'm just wondering if anybody here has any idea of whether a NN is a good idea for AI in a fighting game.



Just want to echo what's already been said..

ANNs are useful because they are not problem specific. You can, in theory, throw any problem at an ANN, combined with a training algorithm of your choice, and get some sort of answer. It's not just pattern classification-- any kind of function approximation. .

ANNs are usually a poor choice for solving a problem because they are not problem specific. :) The word 'poor' here is subjective. You can solve almost anything using backpropagation if you fiddle around enough, and the answer will be almost as good (or as good) as the best tool for the job. This should surprise nobody since z = f(x*y) is kind of flexible. :D
Just don't.

The End.

dry.gif

Dave Mark - President and Lead Designer of Intrinsic Algorithm LLC
Professional consultant on game AI, mathematical modeling, simulation modeling
Co-founder and 10 year advisor of the GDC AI Summit
Author of the book, Behavioral Mathematics for Game AI
Blogs I write:
IA News - What's happening at IA | IA on AI - AI news and notes | Post-Play'em - Observations on AI of games I play

"Reducing the world to mathematical equations!"

In my opinion, ANN SHOULNDT be used for games, drivers and such stuff, incase there should be used fuzzy logic. Would you ask why!? Thats why:

you cant be 100% sure, (unless network is really small) if for some input atributes it wont give you unnormal output. Better way is to use fuzzy logic, where you can specify eveything in "simple way" and be sure of every input you give.

In my opinion, ANN SHOULNDT be used for games, drivers and such stuff, incase there should be used fuzzy logic. Would you ask why!? Thats why:

you cant be 100% sure, (unless network is really small) if for some input atributes it wont give you unnormal output. Better way is to use fuzzy logic, where you can specify eveything in "simple way" and be sure of every input you give.


blink.gif
Had to read the bad translation a few times, but I finally figured out what you were saying. In general, I agree with you.

Dave Mark - President and Lead Designer of Intrinsic Algorithm LLC
Professional consultant on game AI, mathematical modeling, simulation modeling
Co-founder and 10 year advisor of the GDC AI Summit
Author of the book, Behavioral Mathematics for Game AI
Blogs I write:
IA News - What's happening at IA | IA on AI - AI news and notes | Post-Play'em - Observations on AI of games I play

"Reducing the world to mathematical equations!"

If you want to do learning, I'd suggest looking at Reinforcement learning. In particular I'd take a look at Q-learning as a starting point, and "approximate dynamic programming" (using kernel-linear least squares rather than ANNs) from there.


So there are some keywords.

This topic is closed to new replies.

Advertisement