Abstract
Our project was extreme connect four. The base of this game is a connect 4 board and catapult. Essentially, we wanted to make a smarter version of connect 4 that allows us to add fun twists to the game and keep track of all of the moves as they happen. The game is played by 2 players in turns where each player first starts with a bonus shot which is farther than 60cm from the board. If they make it, their ball counts and they get an extra turn. If they miss, they get to keep shooting closer range shots until they make one in. There are also randomly placed mines on the board and if your ball lands in one then your ball will automatically switch to the opposing team’s color. The game ends when a player connects 4 of their teams’ colored balls. At that point, the score will update and a new game will start. Every move played and all action that occurs is also accurately updated onto an LCD display. Our game ended up being successful! We were able to successfully add all the functionality that we had planned on including from the start.
Motivation
We felt that traditional connect 4 can get boring to play and repetitive. By adding catapults, bonus shots, and mines we feel that we made this game a whole lot more interesting for the average player. Not to mention, our game updates all the player moves’ directly on the LCD display so as to keep a live tracking of the state of the board, detects if a shot is far enough away to be considered in bonus range, randomly places mines on the board, determines once the game has been won, and keeps track of the score so it's very convenient to play! Our game handles all the thinking and logic so that you can just play!
Goals
Milestone 1
We successfully set up the 5 IR Sensor rig (one for each column of the board) and had it printing out strings to the serial monitor when one of them detected a ball passing through its column. We also had the distance tracking for the ultrasonic sensor set up but not its full implementation into the game system.
Final Demo
We had the full working game with all the implementations that we listed above in the abstract. See the results section below to get a full explanation of that.
Results
Our final solution involved the game board and catapult itself, 2 arduino unos, 5 IR sensors, an ultrasonic sensor, an LED, a buzzer, and an LCD display. The 5 IR sensors were wired to the board at the top of each column so as to detect when a ball entered that column. The ultrasonic sensor was used to detect if the catapult was at least 60cm away from the game so as to determine if it was a bonus shot. If the catapult was at least 60 cm away, then the LED would light up to let the player know they were in bonus range. If the player makes it, they would be granted an extra turn by the game. The ultrasonic sensor was connected to a separate arduino than the rest of the game because it required the use of the input capture pin which was already being used on the other arduino by the LCD. We connected a wire from an output pin on this second arduino to an input pin on the main arduino so as to signal to it whenever the distance was greater than 60. The buzzer was used to make a sound whenever a player hits a mine (their colored ball switches to their opponent’s color). Lastly, the LCD display was used to show a visual of the live state of the board based on both player's moves. It also informs the players when a game has been won or tied and tracks the score (how many rounds each player wins).
Conclusion
We learned how to take all the different topics and information we learned about this semester and use it to make an actionable plan that leads to a final, working project. This may sound cliche, but actually taking the time to understand how to incorporate all these different aspects together took time. In general, I am proud of how we were able to make the hardware (IR sensor rig, ultrasonic sensor, etc,) and software aspects (Connect 4 game engine, etc.) of the project communicate efficiently with minimal hiccups so that the final project worked as intended. Some difficulties along the way included the fact that our LCD used the input capture pin on the arduino so we had to think of a workaround since the ultrasonic sensor needed input capture as well. We ended up deciding to use another arduino. Another difficulty was the sensitivity of the IR sensors. They would initially register multiple times even though only one ball would pass and sometimes multiple IR sensors would also go off at the same time. To fix this, we used delays throughout our code and also raised the borders between the columns on the physical game so that there would be minimal interference. Another difficulty was determining the exact placement of the IR sensors on the board and wiring the game so that the wires and sensors wouldn’t obstruct the functionality or ease of the game. This just took time and some creative thinking. The next step of this project would be to encase the wiring and sensors so that they are hidden from the players which would increase the game’s portability and allow it to be commercialized.

Log in or sign up for Devpost to join the conversation.