Home - LiamHeynderickx/BattleCommand_EE3 GitHub Wiki
Welcome to the BattleCommand_EE3 wiki!
Introduction to BattleCommand
Project Overview
BattleCommand is a modern recreation of the classic Battleship game, designed as a player-versus-machine experience. We will use a physical board to place the ships, and a camera-based system will capture the positions using the OpenCV library. The game state will then be transmitted to a web-based interface, allowing the player to play the game using voice commands. A monitor and LED grid's also showcase the state of the game. These LEDs, will indicate the game’s progress by lighting up to signify hits or misses, utilizing colors like red and green to represent shots accurately. The ultimate goal is to create a user-friendly, engaging game for both younger and older audiences, integrating modern tech while maintaining the nostalgic aspects of the original board game.
Target Demographic
Our design caters to a broad demographic, from children and teenagers (ages 8 to 18) to adults who enjoyed the classic version of the game. By implementing modern features, we hope to make the game appealing to younger players without compromising the traditional gameplay cherished by older generations.
We aim to strike a balance between creating a fresh, technologically enhanced experience and maintaining the simplicity and charm that make Battleship timeless. The focus is on intuitive gameplay, allowing users to enjoy the game without needing advanced technical knowledge.
Project Goals
-
Image Recognition: Utilizing the YOLO algorithm to accurately detect and interpret the game board's state in real-time, translating physical ship positions into digital commands.
-
Voice Recognition: Implementing Natural Language Processing (NLP) to enable voice-controlled strikes on the game board, adding an interactive and hands-free gaming experience.
-
Game Strategy: Developing a computer opponent that can adjust its difficulty level based on player input, ensuring an engaging challenge for players of all skill levels.
Features
Essential Features
-
Play a full game of Battleship against a computer opponent.
-
LED indicators to show the state of the game (hits, misses).
-
Camera-based image recognition to capture the initial game state.
-
Voice recognition to play the game.
-
Wireless communication between the ESP32 master node and the PIC18 slave node which is communicating with the peripheral components (LEDs, camera) using an NRF24.
Additional Features (Depending on Progress)
-
Sound effects via a speaker system.
-
Full gameplay running on the ESP32 hardware.
-
A mobile camera for better flexibility during gameplay setup.
System Design Overview
The system comprises several interconnected modules, each handling a distinct function:
-
Voice Recording Module: Processes verbal inputs to select board positions.
-
Image Recording Module: Captures the board’s state using a camera system.
-
LED Board Module (2x): Displays game states via an LED grid.