Recreating classic games in software is a great way to get better at coding or learn to code in the first place. If you do it in hardware though, you’ll gain a lot more than coding skills. Just ask [Kelly] and [Jack] did, when they built this Arduino-based electronic Connect Four for a school project.
We love that their interpretation manages to simplify game play and make it more fun than the original version. All the players have to do is turn it on and start pushing the arcade buttons along the bottom to choose the column where they want to make a play. The LEDs animate from top to bottom to imitate the plastic disc dropping down through the board. If a win is detected — four in a row of the same color going any direction — the board fills up with the winning color and the game starts over.
The state machine doesn’t currently do anything about tie situations, so there’s a reset button hidden on the side. As [Kelly] and [Jack] explain in their walk-through video after the break, that is something they would like to address in the future, along with making it possible to choose whatever battle color you want. We think a reset animation that mimics the look of the discs spilling out the bottom would be cool, too.
If you’ve never implemented a game on hardware before, something like this might be a bit daunting. May we suggest a game of 4×4 Tic Tac Toe instead?
Still thinking in 2D. 3x3x3 Tic Tac Toe is a bit more challenging.
https://en.wikipedia.org/wiki/3D_tic-tac-toe
Super helpful, dude.
You could make one of those with a tiny MCU in each grid cell as their neighbours would pass on their connectedness status allowing each cell to compute if it was part of a line of active cells. Each cell would be a touch sensor RGB LED combo, on, off and part of a “line” indicated, or even multiple colors so that you had lines formed from different colors to make the game truly mind bending. You’d clear the game by cycling the power to the entire array. The grid size is variable too and so could be a lot larger.
Waiting for the TakeDown request!
Because annoy IP holder, meltdown badly?
Nice project! Two areas of improvement: put walls between bulbs so a lighted bulb doesn’t annoyingly shine an adjoining one; reduce the light intensity since some colors are blindingly bright (at least that appears as videoed). Otherwise, great job on a basic project that is doable with a defined end goal of a working game.