A comprehensive multi-game platform for M5Stack Core2 devices featuring advanced game engine capabilities, multiple control schemes, and extensible architecture.
- Tic-Tac-Toe: Classic game with AI opponent (4 difficulty levels)
- Snake: Modern implementation with gesture controls and particle effects
- Tetris: Complete implementation with scoring, levels, and visual effects
- Tilt Maze: Physics-based maze game using accelerometer controls
- Particle System: Visual effects with customizable particles
- Theme Manager: Multiple color themes with smooth transitions
- Animation Framework: Smooth animations and transitions
- Input Management: Touch, button, gesture, and accelerometer support
- Audio/Haptic: Sound effects and tactile feedback
- Performance Monitoring: Real-time FPS and memory tracking
- Auto-Discovery Game Registry: Easy game addition and management
- Multiple Control Schemes: Touch, buttons, gestures, accelerometer
- Persistent Configuration: Save game progress and settings
- Power Management: Battery monitoring and power saving modes
- OTA Updates: Over-the-air firmware updates (WiFi enabled)
- M5Stack Core2 device
- USB-C cable (data-capable)
- Computer with VS Code and PlatformIO
# Clone repository
git clone https://github.com/your-org/m5stack_tictactoe-aaa.git
cd m5stack_tictactoe-aaa
# Install dependencies
pio lib install
# Build and upload
pio run --target upload- Connect M5Stack Core2 to your computer via USB-C
- Upload the firmware using PlatformIO
- Device will boot into Hive Platform with game selection menu
- Touch a game to launch or use Button A to select
- Deployment Guide - Comprehensive setup and user manual
- API Documentation - Complete API reference
- Quick Reference - Essential commands and information
- Hardware setup and device connection
- Software installation with PlatformIO
- Build and deployment instructions
- Game controls and user manuals
- Performance optimization tips
- Configuration and customization
- Development guide for new games
- Technical specifications
- Troubleshooting FAQ
- Release notes and version history
- Button A: Select/Confirm action
- Button B: Pause/Resume game
- Button C: Return to menu
- Touch: Navigate menus and play games
- Long Press A: System menu
- Tic-Tac-Toe: Touch grid cells, Button A for AI difficulty
- Snake: Swipe gestures or tilt controls
- Tetris: Swipe to move/rotate, Button A for hard drop
- Tilt Maze: Tilt device to control ball movement
class MyGame : public HiveEngine::IGame {
public:
bool initialize() override;
void update(float deltaTime) override;
void render() override;
void handleInput() override;
// ... other required methods
};
// Register game
gameManager->registerGameCreator("my-game", []() {
return std::make_unique<MyGame>();
});- m5stack-core2-hive: Production build (optimized)
- m5stack-core2-dev: Development build (debug enabled)
- m5stack-core2-test: Testing build (with test framework)
# Run all tests
pio test
# Run specific test
pio test -f test_name
# Monitor test output
pio test --upload-port /dev/ttyUSB0- Target FPS: 60 frames per second
- Memory Usage: 256KB for games, 512KB total pool
- Battery Life: 3-8 hours (depends on usage)
- Response Time: <10ms for touch input
- Reduce screen brightness for battery saving
- Use power save mode for extended play
- Disable unnecessary effects for better performance
- Keep device firmware updated
struct SystemConfig {
uint8_t brightness = 128; // 0-255
uint8_t volume = 180; // 0-255
bool soundEnabled = true;
bool hapticEnabled = true;
uint16_t screenTimeout = 300; // seconds
bool powerSaveMode = false;
};Each game has specific configuration options for:
- Difficulty levels
- Visual themes
- Control schemes
- Audio/haptic feedback
- Performance settings
- Check USB cable is data-capable
- Install CP210x drivers (Windows)
- Try different USB port
- Verify device powers on
- Clean build cache:
pio run --target clean - Update PlatformIO:
pio upgrade - Check library installation:
pio lib list
- Monitor FPS in system menu
- Check memory usage statistics
- Reduce particle effects count
- Lower target FPS if needed
- GitHub Issues: Report bugs and request features
- Documentation: Complete guide
- Community Forum: Discussions and support
- M5Stack Core2: Required
- USB-C Cable: Data-capable, not charge-only
- Computer: Windows/macOS/Linux with development tools
- PlatformIO: Version 6.0 or later
- VS Code: Recommended IDE with PlatformIO extension
- Python: 3.7+ (required by PlatformIO)
- Git: For version control
- SD Card: 16GB+ for additional storage
- Battery Base: Extended battery life
- Speaker Module: Enhanced audio
m5stack_tictactoe-aaa/
โโโ src/ # Source code
โ โโโ main.cpp # Main application
โ โโโ engine/ # Game engine components
โ โโโ games/ # Individual games
โ โโโ menu/ # Menu system
โโโ include/ # Header files
โโโ tests/ # Unit and integration tests
โโโ docs/ # Documentation
โโโ scripts/ # Build and utility scripts
โโโ memory/ # Collective memory storage
โโโ lib/ # External libraries
โโโ platformio.ini # PlatformIO configuration
โโโ README.md # This file
- Initial release with 4 built-in games
- Advanced game engine with particle effects
- Multiple control schemes and themes
- Performance monitoring and optimization
- Complete documentation and development guide
- v1.2.1: Maintenance release with bug fixes
- v1.2.0: Feature enhancement with gesture controls
- v1.1.0: UI enhancement with improved menu system
- v1.0.0: Initial basic release
- Additional games: Chess, Checkers, Puzzle games
- Local multiplayer via Bluetooth
- Online features: Leaderboards and achievements
- Advanced physics simulation
- Cloud integration and save synchronization
- Social features and friend system
- Voice control and commands
- Enhanced accessibility features
- 3D graphics support
- Virtual reality game modes
- Real-time multiplayer networking
- Support for additional M5Stack models
We welcome contributions! Please see our Contributing Guidelines for details.
# Fork repository
git clone https://github.com/your-username/m5stack_tictactoe-aaa.git
cd m5stack_tictactoe-aaa
# Create feature branch
git checkout -b feature/your-feature-name
# Make changes and test
pio test
# Submit pull requestThis project is licensed under the MIT License - see the LICENSE file for details.
- M5Stack Libraries: Apache 2.0
- PlatformIO: Apache 2.0
- Arduino Framework: LGPL
- ESP-IDF: Apache 2.0
- M5Stack Team: Hardware platform and core libraries
- ESP32 Community: Firmware development support
- PlatformIO Team: Build system and development tools
- Open Source Contributors: All contributors and testers
- Beta Testers: Community feedback and testing
- Documentation: See docs/DEPLOYMENT_GUIDE.md
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Email: support@hive-platform.com
Built with โค๏ธ for the M5Stack community
This is part of the Hive Multi-Game Platform v2.0. For the latest updates and documentation, please visit our GitHub repository.