Hi, ckooken,
To castle you need to click the king and then click the second square to the left or right.
Kingside castle: click e1 then g1
Queenside castle: click e1 then c1
Hi SingKing, thank you for your feedback. Your review is very informative and does a great job explaining all the details of the app and the engine.
All modern engines read a database of opening positions to instantly play the first several moves. I didn't get around to implementing that but it would speed things up a lot. The underpromotion and pass and play are good features to add. I would like to add all those features (opening move lookup, underpromotion, pass and play mode ) in the future but i've been very busy lately.
Edit: i should mention that I made all the source code public on github if anyone is curios what engine its using. It tried a few open source engines and the Jester engine ended up working the best for my needs.