Going back to making games: Chess
It's been more than one and a half years, after I attempted to convert my thoughts and creation into a blog post. It failed as I stopped in the middle of description. After all this time, and working for more than an year in Google, the fire to chase my passion is lit again. I am picking up right from where I left, Chess AI.
This time I am skipping source control for now as I am the only person working on this thing. I will just share my thought process.
The idea is to first repeat what is already been done in the area of chess programming. Once, we are familiar with existing implementations, it will be a good time to add new ideas. The goal for now is to create a chess game which will run on a website or an android app, and there will be two aspects of this game: friends can play with each other and you can play with the AI. This feels all dumb, as there are a million apps doing the same. To cope with that, I am going to add a twist, which I am sure has never been done before. This twist will unravel itself as the game comes to life. Another minor improvement for the first part of this game would be: it will support multiplayer mode but will be server-less (although this is still experimental).
The major ingredient is the Unity game engine. UI is not a major concern at the very beginning. I am gonna use this starter chess pieces package that I created a while back. This package solves a major problem, it encapsulates the interaction with 3D world. Our chess board is placed in 3D space, all the pieces will be placed having different x, y, z co-ordinates but our algorithms will only understand chess squares from 0 to 63. The ChessUiEngine included with the package solves this problem by encapsulating the 3D world interaction by providing events when piece is selected giving the correct chess square of the piece instead of 3d co-ordinates; along with providing a much required way to move the pieces.
Here is a peek to how the ideas will be translated to an amazing chess app:
more to come...