Toribash
Lets simplify the solution. Joust Only NN. Joust has 5 rounds, no DQ. This significantly reduces the inputs. And why do you really need anything other than joint/grab states for both players? 20 joints, 2 grab states, two players. 44 inputs per round. 220 inputs total. Maybe throw in dmg points in, 230 inputs.
If you want to do body part positions because of collision, fine, but most of the points in joust come from the first two rounds anyway.

What about getting data? Joust is only 5 rounds. It'll go faster.

On the negative side though, there's no way to read enemy movements until after they've been made. That means you'll have to do an opener blind. But that's how the game is played anyway.
Last edited by FNugget; Feb 28, 2008 at 10:51 PM.
Originally Posted by FNugget View Post
Lets simplify the solution. Joust Only NN. Joust has 5 rounds, no DQ. This significantly reduces the inputs. And why do you really need anything other than joint/grab states for both players? 20 joints, 2 grab states, two players. 44 inputs per round. 220 inputs total. Maybe throw in dmg points in, 230 inputs.
If you want to do body part positions because of collision, fine, but most of the points in joust come from the first two rounds anyway.

What about getting data? Joust is only 5 rounds. It'll go faster.

On the negative side though, there's no way to read enemy movements until after they've been made. That means you'll have to do an opener blind. But that's how the game is played anyway.


Wrong. A neural net needs to judge based on all the current parameters. If you're upside down, you're obviously going to not do the same thing you would if you weren't upside down. You need all those inputs for a good neural net that won't seem random.
I was aiming for the idea that joint states largely dictates all the other information, especially for the short game modes.
Still, a joust only bot would be easiest, since theres no DQ to worry about and it's short.
Jok:

There is absolutely no need for 100s of inputs, far less thousands or whatever crazyness you are talking about.

Maybe your understanding of neuroevolution is from fixed topology networks,but NEAT is not fixed topology; it only STARTS with a simple perceptron network, it branches out from there and is capable of making recurrent networks as well! With recurrent networks there is no need for an input for every possible variable, as the neural network is capable of calculating these input values on its own.

In other words, all those inputs are not necessary!


If you want an example, check out how fast sharpNEAT creates a solution to non-markovian pole balancing. With regular markovian pole balancing, the neural nets have inputs for the velocity of the cart, velocity of the pole, position of the pole, and position of the cart. With nonmarkovian, you don't provide any velocity inputs, so the neural net has to figure out how to calculate that on its own; in sharpNeat i've seen this happen in 26 generations.