Jump to content
  • Advertisement
Sign in to follow this  
johnnyBravo

Is there a type of Neural Network able to do this?

This topic is 4691 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hi, I am creating a spaceship game, and I have ships with thrusters strategically placed around the ship to allow strafing, rolling, pitching etc. And I was wondering if it would be possible to use some kind of network where I could input the linearVelocity and angularVelocity vectors into the network, which would be 6 input neurons. and the output the amount of thrust(probably in percentage form, 0.0 to 1.0) for each thruster on the ship. So there would be a output neuron per thruster. And to get the error amount, you get the difference between the 'change in the ship's velocities' and the 'inputted velocities'. eg: veloctiesDifference = shipNewVelocities - shipOldVelocities - inputtedVelocties; So I'm guessing I would just use a feedforward network for this, but does anyone have any ideas on how I would train it? I don't think backpropagation could be used here. Thanks btw I know someone else posted a question like this a while ago, but they didn't end up using an ANN.

Share this post


Link to post
Share on other sites
Advertisement
Provided you can create a good fitness function (a fn that is able to tell you if one ship is performing better than another) you can use a genetic algorithm to train the ANN. See my website for more detail.

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
The problem here is that your "error" isn't really an error at all. The error in the backpropagation algorithm is supposed to be the difference between the desired output and the actual output. It is used to determine how to shift the weights to move the output closer to the desired output.

If you don't know what you want your function to output, a nueral network using backpropagation won't be able to figure it out either.

Share this post


Link to post
Share on other sites
Quote:
Original post by johnnyBravo
And I was wondering if it would be possible to use some kind of network where I could input the linearVelocity and angularVelocity vectors into the network, which would be 6 input neurons.


Do you intend to feed the network the curent linearVelocity and angularVelocity, or the desired linearVelocity and angularVelocity? This will make a difference to your network architecture and training scheme.

Timkin

Share this post


Link to post
Share on other sites
Why bother with the complexity, overhead, training, untweakability, and inefficiency of an ANN? This is well-trodden ground for control systems.

Share this post


Link to post
Share on other sites
Quote:
Original post by Sneftel
Why bother with the complexity, overhead, training, untweakability, and inefficiency of an ANN? This is well-trodden ground for control systems.


I agree absolutely... but the problem around here Sneftel is that people typically pick up a hammer and then start trying to make all their problems look like nails!

Share this post


Link to post
Share on other sites
Quote:
Original post by Timkin
Quote:
Original post by Sneftel
Why bother with the complexity, overhead, training, untweakability, and inefficiency of an ANN? This is well-trodden ground for control systems.


I agree absolutely... but the problem around here Sneftel is that people typically pick up a hammer and then start trying to make all their problems look like nails!


hehe, yeah! They do have a habit of doing that.

There is one thing to point out though: If you just want to learn about ANNs then it helps to get some practical experience trying to solve *any* kind of problem; especially if it's fun.

Share this post


Link to post
Share on other sites
Call me practical, but I think that problem can be solved with a good old math analysis, without the use of any learning at all.

Share this post


Link to post
Share on other sites
Quote:
Original post by Timkin
Quote:
Original post by johnnyBravo
And I was wondering if it would be possible to use some kind of network where I could input the linearVelocity and angularVelocity vectors into the network, which would be 6 input neurons.


Do you intend to feed the network the curent linearVelocity and angularVelocity, or the desired linearVelocity and angularVelocity? This will make a difference to your network architecture and training scheme.

Timkin



I think to feed it 'new' velocities, eg roll by 0.2

Quote:
Original post by Timkin
Quote:
Original post by Sneftel
Why bother with the complexity, overhead, training, untweakability, and inefficiency of an ANN? This is well-trodden ground for control systems.


I agree absolutely... but the problem around here Sneftel is that people typically pick up a hammer and then start trying to make all their problems look like nails!




:)

Quote:

Call me practical, but I think that problem can be solved with a good old math analysis, without the use of any learning at all.

I'm making the program more like a simulation to test my attempts at ai, so its more of a learning experience than making a game.

Quote:
Original post by fup
Provided you can create a good fitness function (a fn that is able to tell you if one ship is performing better than another) you can use a genetic algorithm to train the ANN. See my website for more detail.




I'm trying out the genetic algos right now, i think they're looking quite promising.

I read all the tutorials you had there, they were pretty good.


Quote:

Why bother with the complexity, overhead, training, untweakability, and inefficiency of an ANN? This is well-trodden ground for control systems.

I've thought about doing that, like would it be better to have the ai use them instead of me trying to evolve something to do it automatically. And that I could use state-based ai, and hard code all the things like targeting, moving to positions etc, but there are just so many nails....

edit:

actually i've been thinking of using two different ai schemes.
as there are two opposing teams in this app, iv been thinking about having one use state-based ai, and the other a bunch of genetic evolved ann's.

..might be cool if i can get the Anns ones to work.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!