This is a simple cross-platform implementation of a chess game I wrote in Delphi/FMX, supporting player vs player, and player vs a very weak computer engine. I took about three weeks to build, as I had just rediscovered Delphi after 10 years, and needed to pickup the language again, and the new FMX framework. Thankfully FMX is very intuitive for developers familiar with VCL.
It was really an exercise to give Delphi a bit of a push to determine if it was suitable for cross platform development. I must say, I really enjoyed the experience.
FMX is component based, it was so simple to add inner glow effects like you can see on the highlighted knight piece (b8) and the movement options (a6, c6, d7):
Another component was used for the outer glow effect on the active player piece:
Having just returned to Delphi, I used a familiar approach. I created two custom components to represent a chess square and a chess piece. In hindsight, I would now just use frames. TFrame is really the basic building block of modern FMX UIs. Combined with layouts, and component composition, you have so much flexibility.
If Embarcadero invests heavily in FMX it could become the best cross-platform framework by far.