I'm a Java programmer, particularly an Android developer. I'm also a good chess player. My question is where do I start if I want to program a chess engine, may or may not be from scratch. Later I want to integrate it into my Android app. Thank you for your answers!
closed as not a real question by Andrew♦ Aug 2 '12 at 14:48
It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center. If this question can be reworded to fit the rules in the help center, please edit the question.
The Chess Programming Wiki is a good place to start . As you will quickly find out, it's a rather large and complex problem space, with many challenges (conceptual as well as actual programming).
There are plenty of open source engines out there which you could look at, to learn, or even to integrate into your engine. I think you'll generally find that these are released under the GPL, which means you are going to have trouble making using them commercially (you would have to release your own code under GPL, if you made use of a GPL engine).
If you're aiming to have a chess engine that plays at a decent level (say, 1500+), my advice would be to try to find an existing engine to use; unless you have large amounts of free time, and you are expert in programming (preferably with some background in AI). This question on StackOverflow lists several chess engines which are released under more permissive licenses.