Github: https://github.com/asder8215/ESP32-SpaceTeam

Overview

ESP32 SpaceTeam is a dynamic 2v2 versus game built on the Arduino-compatible ESP32 microcontroller. Inspired by the classic SpaceTeam mobile app, this project transforms a universal collaborative gameplay format into a high-energy competition. Players form two teams and collaborate with their teammates to complete randomized commands while racing against their opponents to score points.

Design Goals

  1. Dynamic Team Play: Shift the universal collaborative gameplay into a competitive 2v2 format while maintaining the essence of teamwork and chaos.
  2. Accessible User Interface: Ensure players can seamlessly navigate through name, room, and team screens using just two buttons.
  3. Compact and Efficient Hardware Integration: Utilize the ESP32’s limited buttons and small display effectively to deliver a fun and engaging experience.
  4. Wireless Collaboration: Implement ESP-NOW for real-time communication between ESP32 devices without needing an external Wi-Fi network.

Design Decisions

Name → Room → Team Screen

Name → Room → Team Screen

2v2 on ESP32

2v2 on ESP32

Win  → Team or Name Screen

Win → Team or Name Screen

From Collaboration to Competition

Originally, the starter code supported a universal team format. We decided to innovate by creating a competitive 2v2 format. Each team works towards scoring 10 points by completing their commands correctly, adding a layer of excitement and rivalry to the game.

User Interface and Navigation

Navigating the game with only two buttons required creative thinking. We designed:

This system ensured smooth and intuitive navigation across the game’s stages.

Player Identification and Team Formation

Players are identified by custom three-letter names and grouped into private rooms using four-digit room numbers. The team selection screen enables players to toggle between Team A and Team B, providing flexibility and privacy in gameplay.