Creating a cellphone application to play chess by using artificial intelligence (Al) is a challenge. A Tokyo Techies 15-year-old student, named JP, grabbed hold of this challenge and successfully developed his first chess bot running on iPhone which can win against a human being.
First, JP had to learn basic algorithms. Then, JP progressed with advanced skills in algorithms, AI, and iOS programming techniques. Afterward, JP challenged himself to develop this iPhone Chess App.
The challenges of developing a Chess App starts with the rules of the game. The board consists of 64 squares with 16 pieces for each player (with two different points of view). There are different pieces; the King, Queen, Rook, Bishop, Knight, and the Pawn, and each piece has a set of rules as to how they move on the board.
There are some rules to the game of chess that make programming an App very difficult. The Pawn, for instance, can move one square, (and from the start, it can move two squares forward) and any time in the game the Pawn can take a piece away diagonal. When the game gets closer to the end, the Pawn can do this special and not so common en passant move. Also, when the Pawn gets to the other side of the board safely, it can be promoted to a different piece (Queen, Rook, Bishop, or Knight).
Chess is a very complex game with a possibility of 10120 outcomes. There is the Castling move with the Rook and the King. The Knight is the only piece able to move over pieces. The King has up to 8 possible moves but cannot move into danger. Then there are special rules of a stalemate (a tie) to the game. When the King is in check, there are different unique scenarios that are played out for the game to continue. One big problem in programming the Chess App is for the App to know when the game is over when a Checkmate exists.
JP learned how to program the Chess App to function properly according to the rules of the game. The last and biggest challenge was to develop a bot which can win against a human being.
We had an opportunity to interview JP, to learn from his experience and see if other young students can achieve similar accomplishments.
Duc: Why did you want to make this Chess App program?
JP: I wanted to make a chess application mainly for two reasons. First, I always wanted to make a cool program and learn how the applications in the app stores are made. Second, I knew Bill Gates made a tic-tac-toe game as his first program, so I wanted to make something much cooler than that. And I thought a chess program would be the best place to start off.
Duc: Did you have a plan?
JP: Yes! My original plan was to make a working human vs human chess application. But the mentors in Tokyo Techies encouraged me to develop a Chess program that can beat a human.
Duc: What were the final results?
JP: One of the teachers in Tokyo Techies, suggested that I should code in AI mode. That drastically changed how much I would learn from my first program. As a 15-year-old boy, I had no idea of how bot or AI worked, and I always thought of AI as a subject I would learn when I’m in college. Think about it, IT’S AI!! To me, it sounded like rocket science. Thanks to the teachers in Tokyo Techies, I was able to learn a lot about the classic algorithms, and I was able to successfully implement that knowledge into the chess application. I intended to make a simple chess app, but my final result turned out to have both “human vs human” mode and “AI” mode in it.
Duc: What do you consider the learning points you received from Tokyo Techies?
JP: There were so many key learning points because it was my first application. But, if I were to pick only three points, I would say implementing AI bot algorithm, structuring/designing the logics & UI of the program, and learning Swift syntax. These would have been the most important key points that I learned in Tokyo Techies.
Duc: JP’s experience is just one of many success stories coming from Tokyo Techies. This shows that adults and young children are capable of similar accomplishments.
Why Study Coding at Tokyo Techies?
If you are looking for a learning center that excels in real-world coding challenges for children, you can reach out to Tokyo Techies online.
At Tokyo Techies, you will meet professionals and experts, who are passionate in teaching students of all ages, how to program games, make apps, build robots, and make custom projects for scientific research and practical applications. The teachers at Tokyo Techies make sure to teach all the fundamentals of coding to children, and they also encourage children to create and develop codes at a practical level. Our platform features tech classes for children between the ages of 7 to 12 years old, and the experts employ a holistic approach to teach the essence of coding to children at a relatively young age.
If chess is not something that is of interest, Tokyo Techies offers all kinds of technology courses designed by experienced professionals from industry and academia. The courses are designed with the long-term skill development for our students in mind. After learning basic Python programming, they can proceed to game development, data science, machine learning, application development and research projects using various technologies.
This article is brought to you by Tokyo Techies, a leader in providing tech education in Tokyo, Japan.
You can stay in the loop at Tokyo Techies Facebook page at https://www.facebook.com/tokyotechies/