Color Cube

A Prototype Game based on Hardware and MicroPython

About

The turn-based game is about occupying as many squares as possible on a cube covered with LEDs. Using a joystick, a cursor can be moved around the sides of the cube (indicated by a blinking LED), while a button press selects the current square. In this way, you can assign your own player color to a white field. The game is supposed to be played against another player playing on his own cube (synchronized game state between both cubes). Enemy squares can be conquered by occupying adjacent empty squares.

ColorCube

Project Details

Period
Team Size
Language
Hardware of cube
Hardware of base station

08/2021 – 10/2021
2
MicroPython
ESP32, Qi receiver, power bank, led strips
ESP32, Qi wireless charger, joystick, button

Project Description

The aim was to develop a prototype game of choice in small teams using MicroPython and hardware components. The only requirement for the game was that it could be played by at least two players located in different locations.

Handed in by the deadline should be the game as well as a gameplay video. At the final presentation our game could be tried out by the remaining teams and other invited guests.

Controls

Joystick
Button

Move cursor
Select field 

Development of the prototype

Game Play Video

My contribution

  • Conception of the cube architecture and base station
  • Assembling the prototype
    – soldering LED strips together with short cables (and later repair broken spots)
    – sawing the wooden walls and attach them to the cube using wood glue

    – sticking frosted glass foil on acrylic glass panes and attaching them to the sides of the cube
  • Implementing the basic functionality of the LEDs (using the NeoPixel library) as well as of the joystick and button

What went wrong...

    1. Unfortunately, soldering the LED strips with the university’s soldering iron turned out to be more difficult than expected. Often the solder just didn’t want to melt and it took forever for all the LED strips to be connected to each other.

    2. Since we often turned the cube over during development, disassembled and reassembled parts of it, and even had to transport it in the car once, some of the LED strips broke apart at the soldering points. Re-soldering took a lot of time.

    3. For our gameplay video, we had to abandon our original idea of ​​having two players with their own cube compete against each other remotely, because individual LEDs on one of the cubes were not working due to poorly soldered connections.
      -> The players in the video thus play alternately on one cube.