Members

Vikram Rao

Aashish Wagle

Ankitchandra Shah

Roberto Menchaca

Introduction


Our project basically combines a single-player  chess game on android with online “player vs. player” chess. In the single player mode, a player will play against a CPU player. No internet is used for this mode of play. Then in the “player vs. player” mode, the user will use the device to connect through the internet to another player using an android phone running a client-server program and play chess with that player. Also, 2 player option on the same phone is also possible.

Software

Android is a software stack for mobile devices that includes an operating system developed by Google and later the Open Handset Alliance. Its based on a Linux Kernel. The Android Software Development Kit (SDK) provides the necessary tools and Application Programming Interface (API) to start building applications on the Android platform with the use of Java as the programming language. We used the Eclipse Integrated Development Environment (IDE) as the environment for developing Android applications. With a custom plugin, the Android Development Tool (ADT), we can create, debug and run android programs faster and easier. For more details on Android, click on the icon on the left. For tips on installation, click here.


Project Experience

The original concept was to implement a multi-player electronic chess board game using Micro-controller MSP 430 easyweb.The entire hardware for the project cost around $ 136. While loading the program on the chip, we realized that the board was not functioning properly and hence we had to move to a newer direction which would help us achieve our goal with little time, minimal cost and ease of transition. We had heard about Google Android and researched on it. We found it to be a good platform to be implementing our project as it gives you access to many features that were required for our project. Also, Android SDK is available free of cost.

Some of the obstacles we encountered were learning Android, developing an android based GUI, porting the code from C++ to JAVA and debugging.  Since android is a new technology, very little documentation and examples were available related to it. Most of the documentation for android were available here on the android website. The experience of the project made us realize how powerful Android actually is.


Future Enhancement

The Chess game we developed includes all the basic moves for each piece. Additionally, we have also introduced Pawn Promotion, where the pawn reaches the opposite row from where it starts and we gets promoted to a Queen, Rook,  Knight or any piece other than the King.Due to time constraints, we didn't implement some chess features like En Passant and Castling.
Also, the multiplayer feature, which we managed on JAVA but not on Android could be completed.The other thing could be an improved GUI giving details of all the chess moves taken place in the game. We are hoping to get feedback on the issues we had on the multiplayer from the android message boards so we could rectify the problems and finally complete the project goal we targeted.