Jump to content

  • Log In with Google      Sign In   
  • Create Account


Neural Network - Discussion


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
103 replies to this topic

#1 sion5   Members   -  Reputation: 100

Like
0Likes
Like

Posted 20 July 2008 - 08:04 PM

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

Sponsor:

#2 cdrwolfe   Members   -  Reputation: 126

Like
0Likes
Like

Posted 21 July 2008 - 10:54 AM

Mentioning Neural Networks and Game AI, in this sub section...........

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

Regards Wolfe

#3 IADaveMark   Moderators   -  Reputation: 2415

Like
0Likes
Like

Posted 21 July 2008 - 12:55 PM

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-advisor of the GDC AI Summit
Co-founder of the AI Game Programmers Guild
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!"

#4 ID Merlin   Members   -  Reputation: 115

Like
0Likes
Like

Posted 21 July 2008 - 01:27 PM

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.

#5 sion5   Members   -  Reputation: 100

Like
0Likes
Like

Posted 21 July 2008 - 07:39 PM

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.

#6 dragongame   Members   -  Reputation: 538

Like
0Likes
Like

Posted 21 July 2008 - 08:34 PM

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”

#7 sion5   Members   -  Reputation: 100

Like
0Likes
Like

Posted 22 July 2008 - 01:02 AM

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?

#8 Tim Ingham-Dempster   Members   -  Reputation: 182

Like
0Likes
Like

Posted 22 July 2008 - 01:25 AM

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.

#9 sion5   Members   -  Reputation: 100

Like
0Likes
Like

Posted 22 July 2008 - 01:58 AM

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.

#10 Kylotan   Moderators   -  Reputation: 3338

Like
0Likes
Like

Posted 22 July 2008 - 02:27 AM

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.

#11 sion5   Members   -  Reputation: 100

Like
0Likes
Like

Posted 22 July 2008 - 02:49 AM

Thanks for that Kylotan, you raised some interesting points that I shall look into.

ID Merlin raised the point that Decision Trees would be a better alternative. Are these one size fits all approaches or do they have to be recreated for every game?

I may be fighting a loosing battle but i'm still a student(with no industry experience) and I CAN see potential for NN's.

#12 shurcool   Members   -  Reputation: 439

Like
0Likes
Like

Posted 22 July 2008 - 03:26 AM

Quote:
Original post by Kylotan
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.

Let me begin by saying I agree with the OP's aim.

He said he's working on a final year research project. Key word is research. The whole point here is to try out something which is not commonly used in games (apparently), and see if he can improve on it. Perhaps find a fundamentally new way of using them. I admit I don't know that much about NNs, but I'm pretty sure people don't know EVERYTHING there is to know about them at this point. I'm sure innovation is still possible. And that doesn't happen if you don't attempt to improve on something that already exists, even if it was dismissed as an AI solution for games (perhaps prematurely, or maybe for good reasons).

Quote:
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.

And what happens in a scenario that the developer did not originally envisage?

IMO, this is where the AI can come closest to 'making or breaking' the game - those unexpected but possible scenarios.

Quote:
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.

Well, that certainly doesn't sit well with me, even if it is the reality. Personally, I wouldn't want to be a factory worker pumping out one game after anothre using nothing but previously known ideas and concepts, without the ability or any attempt to innovate.

You do bring up a good point, however. I now realize I wouldn't want to go into game development if it ends up involving nothing but spitting out cookie-cut, run-of-the-mill games.

#13 IADaveMark   Moderators   -  Reputation: 2415

Like
0Likes
Like

Posted 22 July 2008 - 04:40 AM

Spend a year sitting down the hall from a designer who wants total control of situational behaviors. That will sour you on NNs really quick. Black boxes are scary.

Also, beware "catastrophic unlearning".
Dave Mark - President and Lead Designer of Intrinsic Algorithm LLC

Professional consultant on game AI, mathematical modeling, simulation modeling
Co-advisor of the GDC AI Summit
Co-founder of the AI Game Programmers Guild
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!"

#14 sion5   Members   -  Reputation: 100

Like
0Likes
Like

Posted 22 July 2008 - 05:15 AM

Thanks shurcool, I think you hit the nail on the head with what I was trying to explain about it being research.

Is the lack of NN applications in games a sign that there are no suitable problems?

Do game developers and designers lack the necessary skillset to apply NN?

Are NN missing some key technology that would allow more widespread adoption?

Personally I think its the old "stick with what you know best" routine! At the end of the day hardware is flying ahead now, their putting NN's right into the silicon these days.

I dont mean any offence here at all, but almost every post has made a statement, but not 1 person has backed it up with fact or proof. It may well be me (the academic) asking too much but I still stand with no proof that their a bad choice for games

#15 IADaveMark   Moderators   -  Reputation: 2415

Like
0Likes
Like

Posted 22 July 2008 - 05:49 AM

Quote:
Original post by sion5
Is the lack of NN applications in games a sign that there are no suitable problems?
It is a sign that none have been found to work to the complete satisfaction of a production (i.e. non-academic) environment for years now. Infer from that what you will. They could be used in spot areas here and there in very limited capacities - but they simply don't suit many of the problems that are faced by game agents.

Quote:
Do game developers and designers lack the necessary skillset to apply NN?
Designers often lack the necessary skillset to apply an IF/THEN statement. That's not their job. However, this is a discussion that has been happening for a while - how to bridge that gap better.

Quote:
Are NN missing some key technology that would allow more widespread adoption?
Fine tuned manual control with immediate, predictable feedback. That's the one that comes up the most.

Quote:
Personally I think its the old "stick with what you know best" routine!
I disagree - there are plenty of new approaches in every issue of AI Game Programming Wisdom, for example. And conferences. There's ground-breaking stuff happening all over the place. But despite seemingly every college student coming out trying to solve every problem with NNs, not a lot of it seems to stick. There has to be a reason for it.

Quote:
I dont mean any offence here at all, but almost every post has made a statement, but not 1 person has backed it up with fact or proof. It may well be me (the academic) asking too much but I still stand with no proof that their a bad choice for games

You are the one doing the research paper, not the people replying here. Exhibit A is the past 30 years of the industry. Also, one thing that you should have learned from science and logic classes is that proving the truthfulness of a complete negative is a cast iron bitch. You asked for examples of how they were used - THAT was a legit question. We could provide very few answers (e.g. Creatures).

Is there "proof" that they are not a good choice? Find me proof that a combination of pickle juice and chocolate syrup doesn't make a good topping on anchovy pizza. About the only "proof" you could get is anecdotal evidence that people simply don't like it. They all have their reasons and no amount of prodding by you will get past the notion that "it just doesn't work for me". Are they all wrong? They must be because no one provided "proof".

I'm not discouraging you from your research. I'm answering your questions. As I stated originally... be careful what you wish for.
Dave Mark - President and Lead Designer of Intrinsic Algorithm LLC

Professional consultant on game AI, mathematical modeling, simulation modeling
Co-advisor of the GDC AI Summit
Co-founder of the AI Game Programmers Guild
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!"

#16 ibebrett   Members   -  Reputation: 205

Like
0Likes
Like

Posted 22 July 2008 - 06:17 AM

To be honest I don't understand why ANN's are used at all. For the most part they are used as a glorified regression tool. I have spent a bit of time researching a few of the different networks and the only one that struck me as interesting was the Hopfield (If I remember correctly) network. I would be willing to bet 1000 bucks that if we just changed the name from ANN to something less suggestive, much less people would be interested.

I would love for someone to give me reasons why my opinion should change though.

#17 sion5   Members   -  Reputation: 100

Like
0Likes
Like

Posted 22 July 2008 - 08:09 AM

Thanks for your opinion, you obviously dont agree that NN play a part in the games industry (or ever will) once I have done my research I will be sure to let you know my conclusion.

At least if I find a niche in the market, I will be a millionaire ha ha ha and if I dont, at least I wont waste my career trying to use a square wheel :-)

Thanks again for your contributions




#18 Palidine   Members   -  Reputation: 1279

Like
0Likes
Like

Posted 22 July 2008 - 08:29 AM

Quote:
Original post by sion5
Are NN's good or bad in games?


Certainly depends on the game. However, the common answer is "almost universally bad".

Why:

1) single-player "campaign" type games are very scripted environments. A very small subset of the rules design wants for the game I'm working on now:
- when the player destroys this Item, the AI will counter-attack.
- When the AI squad gets to 20% of its original units -> retreat.
- AI should only throw grenades when no other AI is throwing a grenade and has not for at least 10 seconds.
- Only 1-3 AI should ever rush the player at any given time
- AI should only spend 30% of their time hidden behind cover; further no single AI should remain hidden in cover for more than 3 seconds
- When the player's units get to a Point of Interest they should stop and play a canned set of animations at a specific point to develop the plot.

2) In a campaign environment design (and the player) want predictability. The point of game AI is not to be "smart" it is to be "fun". Fun means finding a way to exploit the AI so you can win every time. While encounters do not need to play out exactly the same they should play similarly enough that the player can learn how to beat it each time he plays the encounter and dies.

ANNs are really bad at both of those and are thus completely unsuitable for typical single-player type campaigns (aka Halo, Call of Duty 4, etc)

Things they are potentially useful for: fun interactive pets (Black & White's god avatar pet-thing), multi-player bots (there was a very sucessful Quake-bot driven by an ANN), some new genre of game.

Always remember the point of AI in games is to support that game's specific mechanics. If an ANN is the best choice then it's certainly ok to use it. It is, however, just a tool and as such is not going to be useful in many situations.

I think the project will be very interesting to you, but it's kind of representative of the chasm between academia and the professional game development world. In the former, the point of AI is to explore boundaries of flexible decision making. In the latter, the point of AI is to do exactly what the designer wants it to do.

-me

#19 ID Merlin   Members   -  Reputation: 115

Like
0Likes
Like

Posted 22 July 2008 - 01:29 PM

I don't have a reference to cite, it may have been an earlier post here, but one of the things that NNs are not good at is dealing with sequences of events. So, you probably could find some game "type" where an NN would work really well. Perhaps someone here will suggest one.

I know that NNs are fairly good at learning to discern various distorted characters in a CAPTCHA image, for instance, but that is hardly a good "game", is it?


#20 IADaveMark   Moderators   -  Reputation: 2415

Like
0Likes
Like

Posted 22 July 2008 - 01:58 PM

Quote:
Original post by Palidine
Things they are potentially useful for: fun interactive pets (Black & White's god avatar pet-thing

... which actually ended up using reinforcement learning instead.


Dave Mark - President and Lead Designer of Intrinsic Algorithm LLC

Professional consultant on game AI, mathematical modeling, simulation modeling
Co-advisor of the GDC AI Summit
Co-founder of the AI Game Programmers Guild
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!"




Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS