Neural Network - Discussion

Started by
102 comments, last by Kylotan 15 years, 7 months ago
Hi everyone, Im new to the forums although not new to the website. I'm just entering my final year of a Computer Games Dev Degree and looking for some advice. For my final year research project I aim to create an automated game agent using NN to control it. I want to explore the differences between using a genetic algorithm (GA) and backpropagation to get the synaptic weights(thats going to form the analysis). Has anyone made a NN using either method in a games environment? Are NN's good or bad in games? Anyone recommend any books/ websites to read about NN's in games? Does anyone have any advice to offer? Im looking to discuss the topic so I can form a foundation for my research. Contributors will be put into my project acknowledgement :-) Look forward to your comments
Feeling #0000FF
Advertisement
Mentioning Neural Networks and Game AI, in this sub section...........

Run for the hills my friend run.. and never look back :).

Regards Wolfe
And thus we see why game degrees from institutions are received with a raised eyebrow from the AI programmers.

Quote:Original post by sion5
Hi everyone,

Im new to the forums although not new to the website. I'm just entering my final year of a Computer Games Dev Degree and looking for some advice.
Welcome to forums. However... be careful what you wish for.

Quote:For my final year research project I aim to create an automated game agent using NN to control it. I want to explore the differences between using a genetic algorithm (GA) and backpropagation to get the synaptic weights(thats going to form the analysis).

A noble goal and an interesting project. However...

Quote:Has anyone made a NN using either method in a games environment?

You would be hard pressed to find any commercial games that use NNs at all.
Quote:Are NN's good or bad in games?

You can take my response above as either cause or effect. A) it could be that we don't have enough data because no one uses them for games, or B) it could be that, because they haven't been deemed good for games, no one uses them. The latter seems to be a lot more likely - especially considering how academia keeps trying to get us to use them in games.

Quote:Anyone recommend any books/ websites to read about NN's in games?

I'm sure there are plenty - however, it depends on what your eventual goal is. If you are writing a paper or doing a project, you are OK. There are plenty of other people's projects/papers out there. If you are, as your previous questions imply, looking for practical usages, you are going to come up a little dry.

Quote:Does anyone have any advice to offer?

Again, it depends on your goal. If you want to explore something for fun or as a curiosity, have at it. If you are trying to do something that is genuinely applicable to commercial games, or if you are hoping for a resume builder, choose a new topic.

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!"

Decision trees seem like a really good use of an AI approach to games. They are very general, versatile, and can give really good results from what I've read. There's a thread here now which is asking about decision trees, and you can find a lot of information in the Game AI books.
To be honest I was expecting a reply like this. As I mentioned, this is a research project, If at the end of it I can put up an arguement as much "against" as I can "for" using NN's in games, then I have achieved something.

"And thus we see why game degrees from institutions are received with a raised eyebrow from the AI programmers."

I find this comment a little rude. I have no doubts of the education I am receiving, we're an accredited course that work very closely with Blitz Games. I have also attended many games grads conferences and had a lot of good feedback from games companies.

Rant over... can I remind people of the XOR problem the single layer perceptron faced? becuase people hit a brick wall they dropped neural networks and said it couldnt be done! A few years later it took one person to investigate the problem to solve it (Multi layered perceptron).

Although im not trying to re-invent the wheel I am looking for advice on why NN's are so bad in games (if that is the case). Im looking for actual facts like when we implemented a NN we only got XXfps as apposed to the same problem with a decision tree at XXfps, or system resources increased by XX. Just saying that NN's dont work in games isn't really a solid reason, If you ask someone why they dont work your more likely to hear "because my friend said so" than because of an actual reason.

I guess I may be expecting a little too much from a forum but was hoping some AI programmer who has used them was floating around reading this somewhere.
Feeling #0000FF
Hi,

I would not focus the use of NN only to games to see the weakness or strength of that approach
but look at other applications of NN. In autonomus driving they were used and the results looked promising but they arn't used that much now, find out way! (*exercise for the reader ;) *).
So the advice I'm offering you is: "Look around you and see where NNs are use and were not, that see if a game AI agent could use a tool like that."
“Always programm as if the person who will be maintaining your program is a violent psychopath that knows where you live”
Thanks for the heads up. I have been investigating uses for NN's and really dont understand why their not used in games, I guess thats what im trying to establish. There has to be a technical reason why their not used! I know the game "creatures" used the technology and that was succesful.

Maybe I should start the discussion then by saying that the only problem I can see with NN's is that they are computationally expensive...BUT only for training! If this is done offline, what reason is there now for not using them?
Feeling #0000FF
There are a few reasons for not using NNs in games. For one thing they're hard to debug. If a NN does something that you don't want in one part of the game, how do you change it? Its very hard to train it to deal with every situation that could come up in the game especially considering the different styles of individual players.

Another issue is the amount of time it takes to train. This wouldn't be an issue if you just had to train it once, but considering the number of feature changes the average game goes through from start to finish, not to mention tweaking and balancing issues you would have to retrain almost daily.
inherently interactive - my game design blog
I agree with debugging being a problem, but then isn't the success based on the method of learning you implement?

You also mention that you cant get a neural network to learn every scenario a game has to offer. Thats the whole point, you dont want to! The aim is to teach it enough so that it can "think" for itself and produce its own output. This is what creates the "unpredictable" AI aspect. If you tell it what to do in every scenario why call it AI? after all your trying to make the agent do things by itself not set its path for it.
Feeling #0000FF
Quote:Original post by sion5
"And thus we see why game degrees from institutions are received with a raised eyebrow from the AI programmers."

I find this comment a little rude. I have no doubts of the education I am receiving, we're an accredited course that work very closely with Blitz Games. I have also attended many games grads conferences and had a lot of good feedback from games companies.


Fair enough, yet they should also be making it clear that NNs are not typically used in games, and the reasons why.

Quote:Although im not trying to re-invent the wheel I am looking for advice on why NN's are so bad in games (if that is the case). Im looking for actual facts like when we implemented a NN we only got XXfps as apposed to the same problem with a decision tree at XXfps, or system resources increased by XX.


It's not about performance, it's about semantics. Almost every problem can be better approached with another method, one which more closely takes into account the representation of the context and the previous knowledge available to the developer, not to mention often eliminating the need for training which is often time consuming, and which presumably needs to be redone if you find you need to adjust your network topology.

Quote:You also mention that you cant get a neural network to learn every scenario a game has to offer. Thats the whole point, you dont want to! The aim is to teach it enough so that it can "think" for itself and produce its own output.


No, because that's just an academic aim. A practical or industrial aim would be to use whichever method copes with the situation best, so you'd typically go for a tool that doesn't require such contortions to get it to work in all cases. You could potentially spend forever adjusting inputs, outputs, and hidden layers to try and get your neural network doing something useful, with no guarantee of getting anything that is good enough to be playable, or you can pick a method that explicitly accounts for all the scenarios a developer can envisage and get it working more reliably.

Quote:If you tell it what to do in every scenario why call it AI? after all your trying to make the agent do things by itself not set its path for it.


Again, the details of what you can really call AI is an academic concern. In industry the important thing is to get the agent doing what you want to meet the requirements of the game, not to get the agent thinking and perhaps doing something that you want in order to meet the requirements of some research into a method. If you're looking to real world implementations then they are invariably going to be driven by pragmatism.

This topic is closed to new replies.

Advertisement