I think questions about kinematics might do well in the math or graphics forum.
Inverse kinematics is calculating the positions of joints and such that would result in something being in the desired position. It's a useful tool for animators since it lets them position a hand, for example, and have shoulder, elbow, and wrist orientations calculated automatically. For a fighting game you could decide where you want a fist to go in a punch and use inverse kinematics to position the rest of the arm.
Inverse kinematics doesn't really account for physical forces. Kinematics is just accelerations, motions, and positions. If you get into simulating forces, then that's dynamics. Inverse dynamics (calculating the forces needed to move an object a certain way) is a more complicated problem, and you're probably better off avoiding it and just using inverse kinematics because it introduces a lot of complex issues.
Noob AI Q... Programming Error Margins
Quote: Original post by InnocuousFox
Sigh... again with the NN talk. We still need to institute a 30-day moritorium or something.
You can step away for a day or a year, but some things will always be the same when you come back! ;)
Not wanting to take this off topic, but to reinforce the point about NOT using ANNs on this problem...
Quote: You'd just train the network using (input, output) pairs
Why is it that people think this is a given; that is, if you have input-output pairs that you can always train an ANN to represent an appropriate mapping between these two spaces. It's simply not the case and so making a statement such as this is misleading and often wrong. Please folks, let's stop talking about using artificial neural networks every time someone has (or could possibly generate) a data set representing input-output pairs. There are very few, if any, game AI problems that would be best solved using this tool and almost certainly another tool that is better suited to 99.9% of all game AI problems.
Back on topic...
This is certainly a case for applying sub-optimal planning and one could easily determine a variety of different ways to select a sub-optimal action given any particular state (it's a lot easier to select a sub-optimal action than it is to select the optimal one)! My recommendation: work out how you would implement the 'perfect' AI for choosing the next action (technique) given the current state and the perceived action of your opponent. You can then play around with sub-optimality based on the incorrect perception of the opponents behaviour and/or the incorrect inference of the optimal behaviour. Each should give slighty different results and I would expect that a good sub-optimal system that didn't look stupid would be based around both principles.
Cheers,
Timkin
@Timkin
That sounds good. I was just discussing with my team the combat system and button mapping. I think we have finally decided on how we are going to do this.
Also, since I started this topic, I read a book on AI. Not the whole thing, I skipped the exercises and just read the theories and explanations so I know what the hell Im talking about.
Based on that, I will make the following conclusion. I am not getting into neural networks. I think that the most advanced I will get is fuzzy state machine with a rule based environment.
However, a genetic algorythm seems very very interesting as it might even find moves and strategies the team wont think off.
Anyway, I decided that I am going to leave the AI to the other programmer, Im going to concentrate on just about everything else.
That sounds good. I was just discussing with my team the combat system and button mapping. I think we have finally decided on how we are going to do this.
Also, since I started this topic, I read a book on AI. Not the whole thing, I skipped the exercises and just read the theories and explanations so I know what the hell Im talking about.
Based on that, I will make the following conclusion. I am not getting into neural networks. I think that the most advanced I will get is fuzzy state machine with a rule based environment.
However, a genetic algorythm seems very very interesting as it might even find moves and strategies the team wont think off.
Anyway, I decided that I am going to leave the AI to the other programmer, Im going to concentrate on just about everything else.
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement