We made a web interface version of connect 3 where you can choose to play against another human or one of our many CPU strategies, or someone playing on our physical board! But the board may have a mind of it's own...
It is an attempt to broaden skills in multiple areas. Also connect 4 is fun but too hard so we made connect 3.
We have a web interface for connect 3 that lets the user choose players 1 and 2 from a list of choices including themselves, other people, various kinds of CPUs, and our physical board. Our physical board is a way of interfacing with the server without using the website, and due to it's internet connectivity can be used from around the world.
We had four teams: Web design, hardware, server, and AI. The project was intentionally kept quite modular that way it would still work even if some parts would not be completed in time. Fortunately, everything was completed, and so our product is fully functional.
Getting the server connected across many languages and figuring out how to minimize the search time on MinMax definitely top the list. That said, reaching out into areas that we didn't have as much experience with and innovating to do something new was quite enjoyable.
A lot, mainly about how interactions between different coding environments worked. In addition, it taught us some new ways to think creatively to reduce run time and conserve memory space as efficiently as possible.
We would like to fix the hardware side; as fun as it is using the phantom inputs as another kind of CPU (which actually works pretty well because the phantom inputs tend to be from residual movement on the board, meaning that it will effectively blocks it's opponent) we would like to be able to use it as intended, and hopefully build it with better materials.
Largely erector set parts with basic electronics, an arduino, and some "distance sensors" that work better as random number generators.
Arteck HB030 Portable Keyboard
Intel® Movidius™ Neural Compute Stick
$100 Amazon Gift Cards
Jetbrains Pro Software