Team A7: Sudo Chess

 

Chess is one of the oldest games still popular to this day. Although there are many popular websites where you can find a game, many players prefer physical boards where you can see the pieces in 3D over a 2D representation on a website.

Sudo Chess is a physical chess board that allows you to play against an opponent from anywhere in the world. When you move a piece on the board, your opponent will see  the change on a  web app. When they move a piece on the web app, the piece will move itself on the board!

Sudo Chess Demo Video

Brandon’s Status Update 11/21

This week I worked mostly on sending the move information from the webapp server to the separate running process. I also had to fix some of the messaging from last week, since I had a synchronization issue that I didn’t notice until this week.

Brandon’s Status Update 11/14

This week I worked on the communication between an Arduino and the Webapp. I wrote a program to get basic system information from an arduino, one that controls the arduino, code to send moves to the webapp server from a separate running application, and code to relay the moves to the players in a game.

Brandon’s Status Update for 11/7

This week, I fixed some bugs related to the sockets and login authentication, and started working on the arduino to computer communication.  I’ve created a separate node.js application that uses johnny five to control the arduino and mqtt to communicate between this application and the web app. Next week, I am going to work further on this, and I want to have actual integration between the arduino and web app by the end of the week.

Brandon’s Status Update for 10/31

This week, I worked primarily on getting user authentication and registration working for the web app. I originally wanted to work on communicating to an arduino through the website through SerialPort, but was not able to work on that in depth, so that will be my top priority for the next week. I am slightly behind schedule, although still have a decent amount of slack, so I hope I will be able to work more this next week and get back on track.

 

login:

Brandon’s Status Update for 10/24

This week, I worked on using socket.io to add 2-player chess and I also added bootstrap to make the website look a little prettier. I underestimated how much work both the design report and working with socket.io would take, so I did not get to start working with SerialPort / getting input from an Arduino yet.

Below are some images of my progress.

Brandon’s Status Update for 10/17

This week, I mostly worked on getting the socket.io library to work with the webapp and preparing for the Design Review. While the sockets are not completely functional at the moment, I am hoping to get it working by early next week, and then working on SerialPort for the remainder of the week.

Group status update for 10/10

Current risks:
  • Unforeseen delays due to the state of the world right now (re:pandemic) and due to us all being apart from each other have caused some shifts in the order we tackle the tasks we scheduled out, and there may be other delays to come that we cannot predict. We’re managing this by making better efforts to stay coordinated and in-sync as a team, so that if something happens to one of us, we can quickly adjust the project in response.
Changes:
  • We’ve switched from the actuator we initially were going to procure to a cheaper one. This one does not come assembled, so that is added time spent on the project, but it should be simple to build and saves us around $200. This actuator, however, has a smaller travel distance, and will result in a smaller board. As a result, the pieces will have to be made smaller than usual chess pieces, but having normal-sized pieces was a preference we had, not a strict requirement. We chose to have more freedom and flexibility in our budget over having bigger pieces.

 

Brandon’s Status Update for 10/10

This week, I learned how to use node js and express, including using libraries with them. I was able to use chessjs and chessboardjs to make a working chess game which also prints information about the game’s status as shown at the bottom, so I am on track of schedule.  I hope to get the game working with sockets for next week.