Advertisement

Neural Network - Discussion

Started by July 21, 2008 02:04 AM
102 comments, last by Kylotan 16 years, 3 months ago
Did anyone post this link already?
http://www.gamedev.net/reference/articles/article1988.asp

However I think you are too much focusing on FPS-like games, which is not exactly the genre where you want extremely intelligent opponents. Rather "realistic" behaving but easy to kill opponents.
Quote: Original post by InnocuousFox
Quote: Original post by sion5
Truth is academia is there to encourage innovation. I'm sorry but anyone can work in a factory pushing out the same product one after the other, but it takes academics to say "Hey wait, surely this can be done better?".

This is such a load of arrogant crap it is bordering on invalidating the usefulness of this entire thread and disqualifying you from further consideration on any relevant subject matter. 99% of the innovation in the modern world has come from outside academia. In the games industry, much the same can be said.


InnocuousFox, since this post has started you have been rude and flipant. I dont consider you helpful and quite frankly I haven't taken any positives from anything you have said.

Why is it that every other poster can structure their reply in such a way that its informative and friendly (even if they disagree with my views) yet you feel the need to have a dig at MY topic of research. If this gets me excluded from further discussion then I appologise to everyone for lowering the tone. There's only so much I can take. For me to get a job in the industry I need to have qualifications and show an ability to learn, the fact that your president of a company could very well mean this is not the approach you taken but it doesn't work for everyone!
Feeling #0000FF
Advertisement
Quote: Original post by sion5
InnocuousFox, since this post has started you have been rude and flipant.

Methinks you need to reread my first few responses... or the first two pages.
Quote: I dont consider you helpful and quite frankly I haven't taken any positives from anything you have said.

That is often the reaction when people don't get the answers they want to hear.

Of course, then you dropped this bomb.
Quote: Original post by sion5
Truth is academia is there to encourage innovation. I'm sorry but anyone can work in a factory pushing out the same product one after the other, but it takes academics to say "Hey wait, surely this can be done better?".

And that is where I severely lost respect for you. You dropped into the groove that has many of us exasperated with academia in the first place. There is an arrogance, condescension and Messiah complex all rolled into those two sentences of yours... and yet, the industry continually rejects (most of) what (many of) the academics that you laud so highly have to offer.

I think that your approach to this entire conversation has illustrated why in microcosm... that your attitude has been "obviously you wrench-turners are missing the point!" You even challenged us with "prove that it doesn't work" - which is a ridiculous statement. Which brings me to the next tidbit...

Quote: Why is it that every other poster can structure their reply in such a way that its informative and friendly (even if they disagree with my views) yet you feel the need to have a dig at MY topic of research.


Allow me to return volley... why is it you feel the need to disregard anything that anyone has to say on the subject? In my first post, I warned you "be careful what you wish for." You got feedback and steadfastly refused to hear it much less accept it. (e.g. "show me proof")

Quote: If this gets me excluded from further discussion then I appologise to everyone for lowering the tone. There's only so much I can take.


And there's only so many times we can tell you "been there - done that." *shrug*

Quote: For me to get a job in the industry I need to have qualifications and show an ability to learn,


First, after your arrogant statement above, why would want to descend into the uninspired trenches of the industry when all the thinking happens in the ivy-covered walls of academia? Putting that aside, no one has discouraged you from acquiring qualifications and knowledge, nor has anyone argued that the ability to learn is not a prime qualification in and of itself. (In fact, read Damian's post I linked to on page 1 and he says much the same thing.) However, I believe that your approach in this whole conversation was insisting that the industry needs to learn the technology that you want to pursue rather than you learning what the industry as a whole has found to work.

Seriously... reread the thread in its entirety. Read it aloud. Read everyone's posts... including your own. And then, like a good academic researcher should be, back off a step or two into the realm of objectivity and see what is really being said by everyone... and what went wrong.

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

Potentially relevant thoughts regarding "getting into the industry"...

How to Become a Game AI Developer by Paul Tozour.
AI Developer Interview Questions by Paul Tozour.
Thoughts on Industry / Academic collaboration by Adam Russell (who happens to be teaching right now)

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

Lets state the most basic of facts in regards to various AI technologies:

All the technologies discussed are function(s) that take some number of inputs and produce some number of output(s), in an attempt to maximize or minimize some score or cost (even if that score is purely subjective such as 'it does what I want')

In this regard, an NN is no different than an FSM or any other methodology.

A key advantage to leveraging NN+GA as an approach to a problem is that YOU do not have to decide which inputs are important and which ones are not. Use all the inputs available and burn some CPU. The point of such an excersize is often that you do not trust your own judgement and instead will relegate the problem to 'Machine Learning', with an aim not to evolve the best 'thing' but instead to determine a measure of the relative worth of each input in regards to maximizing and minimizing.

This does not mean that at the production point of your product you are using NN's trained by GA's. It could mean that you then took that information that you garnered from ML and produces a hand creafted FSM out of it.

This isnt an either/or proposition. All these technologies are tools and if the tool works to solve the problem, then all other arguements are completely moot. The problem isnt always focused on the end result product, but rather a middle step on the way to that product.

I think many game developers have disregarded many of these tools in their race to get their product out the door. This isnt necessarily a bad thing. The companies score metric is almost always profit per year (always so if they are publically traded), which is often at odds with overall product quality. It is precisely at the academic level where quality and innovation are primary on the human cost metric.
*moderator hat on*
Everyone take a chill pill please. It's quite okay to have a strong opinion, particularly in the academia vs industry debate, but please try to keep the discussion polite... or at least avoid making directed, personal attacks at each other.

Thanks.

*moderator hat off*

On the original question of researching the use of NNs in games. That's quite valid. Go for it. Just don't expect anyone to actually use ANNs just because you might find a valid application for them. As has been pointed out several times in this thread, there exists, almost always, an alternative solution to a problem that an ANN can solve (and usually *how* it solves it is more easily and more widely understood). Doing research for research sake is not a good use of your time. You should be looking for quantifiably useful results. That is, research must have significance AND importance. Thus, you should be looking at problems and asking "can an ANN solve this better than the existing methods". Significant quantities of previous research though have shown that, generally, the answer is no.

Some comments on the parallel, off-topic discussions of game education and industry vs academic innovation...

In Australia over the past 5 years many universities have jumped onto the game dev/design education bandwagon... 10 years ago there were only 2 places in Oz you could go to study games. Now it's more like 20. This is a recognition of two things: 1) that there is strong demand for 'cool' courses (and those perceived as vocational) amongst high school graduates; and, 2) there is a demand from industry for graduates who have some basic understanding of the problems that must be overcome in the production of games software.

Traditionally though, the role of universities has been to develop scholarship and engender graduates with the skills for life-long learning. These skills can of course be learned outside of the university environment. The role of universities is not (or at least, should not be) to teach people how to do a specific job. These skills should be learned through practice, while on the job. Unfortunately, in this modern, economically focused age, universities have been forced to sacrifice scholarship for 'graduate outcomes' (meaning employment prospects) because industry does not want to bear the expense of training workers. The result is that universities now try to cater to what industry wants and what students want, rather than on what society needs. Hence the rise in games dev programs. (There is also another driver: market growth in the games industry due to the 'leisure lifestyle' of Gen Y... but that's a discussion for another day). We should not though expect universities to churn out people who are job-ready on day one. It simply isn't possible. They have a lot to learn and it's up to industry to choose those most capable of learning and employ them, when they have the need.

Having said that, there ARE very good degree programs teaching game development in a computer science/software engineering framework, where students learn fundamental skills applicable across a broad spectrum of IT roles, but also focus heavily on game development. One would expect that graduates from these programs are useful to industry. Sure, they're wet behind the ears and need to learn a lot... but at least they have some basic foundations from which to grow from.

As for innovation...

I cannot recall the source of the data, nor the exact figures (so please, take this with a grain of salt), but I remember reading that around 95% of innovation in IT was achieved by industry, rather than academia and that this was simply because it was industry trying to solve the day to day problems in software development. In other words, they needed a solution so they went out and developed one. That doesn't mean though that academia is a waste of space and money. The role of academia is NOT to produce commercial applications of knowledge, nor to produce knowledge with immediate commercial value (although this does happen from time to time). Indeed, because there is not an inherent, immediate commercial value in what academics do, many people denounce them as useless.

On the contrary though, academics are afforded the luxury of the time and money to investigate problems that *may* have a commercial value in the future (or may lead to an advancement of knowledge). In Australia we have two government funded research streams, provided by the Australian Research Council, to support this: Discovery grants and Linkage grants. These are aimed, respectively, at developing fundamental knowledge (discovery) and developing commercially viable applications of fundamental knowledge (linkage). The latter is always done in partnership with industry. Thus, at least in Australia, the role of academics is to solve the problems, or develop the knowledge, that industry has neither the time nor money to investigate, simply because they cannot guarantee a benefit to their bottom line. We get to look at the big picture, or the fuzzy, distorted picture that no one else can afford to look at, to find new solutions to old (or new) problems.

Principally, our aim is to inform industry of what is possible and to provide them with a strong foundation from which they can develop the solutions that they need. Both groups are necessary. Without industry, academia has no funding support (no one paying taxes that fund the research) and without academia, industry has to bear the cost of the research upon which their innovations are often based (and it's been shown time and again that industry cannot afford to do this). In the end, we all need to get along with each other, which, if I recall correctly, was the original comment in this post! ;)

Cheers,

Timkin
Advertisement
Oh, just a quick response to kirkd... if it weren't for Kolmogorov, who built on Markov's work, we wouldn't have our modern information age (including computers, electronic and photonic communications systems, the internet, etc)! So, it's probably a little unreasonable to suggest that Markov's work sat idle for 100 years until applications of Markov chains arose in speech recognition! ;)

Cheers,

Timkin
Absolutely brilliant, Tim.

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

AI for most games is relatively simple. Move there, shoot at this guy, take cover, etc... Training a NN for such simple tasks is pointless overkill.

NN are for complex tasks where the solution is either complex or not feasible to hand code. Thus most applications of NN are in solving complex engineering, robotics, and computer vision tasks.

If you want to (usefully) apply NN to games, think of a situation where coming up with a formula or hand-coded state machine to solve the problem would be extremely hard. For example, if you read about the NN implementation in Colin McRae 2.0 racing game, they had very complex car and track physics (mud track racing) and were unsuccessful hand-coding a good general purpose AI. Thus training NN drivers was a good solution.

Another example would be AI for a complex game like "Go" (each move leading to many times more decisions than Chess). So far nobody has successfully come up with a competent Go AI. Some type of Machine Learning will solve it ... eventually.
NNs can pretty much handle only a static time slice and don't handle looking ahead (or behind) very well. That makes any sort of planning algorithm a little muddy.

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

This topic is closed to new replies.

Advertisement