🚀 Quick Start • 📊 Strategies • 📁 Structure • 🧠 How It Works • ⚙️ Settings
This software is for educational and research purposes only. Roulette is a game of pure chance. The house always has an edge. No AI system can guarantee wins. Never gamble with money you cannot afford to lose. Always gamble responsibly.
- Go to https://www.python.org/downloads/
- Download the latest Python 3 installer
- Run it and tick the box that says "Add Python to PATH"
- Click Install
- Double-click
SETUP.batin the project folder. It will automatically install everything the program needs.
- Double-click
START.bat.
That's it! An interactive menu will guide you through everything — no typing of commands needed.
Choose a strategy in the interactive menu. Each one tells the AI how many numbers to bet on per spin:
| Strategy | Numbers Bet | Win Chance | Risk | Best For |
|---|---|---|---|---|
| 🎯 Sniper | 1 | ~2.7% | Extreme | Thrill seekers — huge payouts, rare wins |
| 🔥 Aggressive | 3 | ~8.1% | High | Confident sessions with strong AI training |
| ⚖️ Balanced | 6 | ~16.2% | Medium | Recommended starting point |
| 🛡️ Conservative | 18 | ~48.6% | Low | Beginners — most consistent results |
| 🤖 Adaptive AI | 1–18 | Varies | Variable | Let the AI decide based on its own confidence |
Not sure which to pick? Start with Balanced or Conservative.
DeepRoulette/
│
├── START.bat ← Double-click to run the program
├── SETUP.bat ← Double-click ONCE to install everything
├── main.py ← Program entry point
├── requirements.txt ← Package list (used by SETUP.bat)
│
├── config/
│ └── settings.py ← All tunable settings in one place
│
├── core/
│ ├── engine.py ← Main prediction loop
│ └── trainer.py ← Model training (offline & online)
│
├── data/
│ ├── live_feed.py ← Live WebSocket feed (Pragmatic Play / configurable)
│ └── simulator.py ← Local random spin generator
│
├── models/
│ └── neural_network.py ← LSTM architecture definition
│
├── strategies/
│ ├── base.py ← Shared betting logic
│ ├── sniper.py ← 1 number
│ ├── aggressive.py ← 3 numbers
│ ├── balanced.py ← 6 numbers
│ ├── conservative.py ← 18 numbers
│ └── adaptive.py ← AI-driven dynamic
│
├── ui/
│ ├── menu.py ← Interactive startup menu
│ └── display.py ← Colourful terminal output
│
├── utils/
│ ├── logger.py ← Session log files
│ └── tracker.py ← Win/loss statistics
│
├── saved_models/ ← AI model files saved here (.keras)
├── logs/ ← Session log files saved here
└── data_store/ ← Reserved for future data storage
Roulette Table (live, online, or manual entry)
│ (spin result every ~30 seconds)
▼
Live Feed / Simulator
│ (integer 0–36)
▼
Prediction Engine
│
├── [History buffer] Collects the last 15 spin results
│
├── [Neural Network] 3-layer LSTM → outputs a probability
│ for each of the 37 possible numbers
│
├── [Strategy] Picks the top N numbers by probability
│
├── [Betting] Sizes bets as 2% of balance per number
│
├── [Accounting] Win: +35× the winning bet − all bets
│ Loss: −all bets
│
├── [Statistics] Updates win rate, ROI, streak
│
└── [Auto-train] (if enabled) Re-trains the model on
recent history — model improves over time
- Architecture: 3 stacked LSTM layers (256 → 128 → 64 units), followed by 2 Dense layers
- Input: The last 15 spin results, normalised to [0, 1]
- Output: A probability distribution over all 37 numbers (0–36)
- Training: Categorical cross-entropy loss, Adam optimiser, early stopping
- Online learning: Optional — the model updates after every spin using the most recent 150 results
All settings are in config/settings.py. Key values:
| Setting | Default | What it controls |
|---|---|---|
SEQUENCE_LENGTH |
15 |
Past spins used as AI input |
BET_FRACTION |
0.02 |
Fraction of balance bet per number |
AUTO_TRAIN_MIN |
30 |
Min spins before online training starts |
SPIN_INTERVAL |
5 |
Seconds between simulated spins |
RECONNECT_DELAY |
30 |
Seconds before WebSocket reconnect |
TRAINING_EPOCHS |
100 |
Epochs for full offline training |
Pull requests and issues are welcome!
MIT License — see LICENSE

