-
-
Notifications
You must be signed in to change notification settings - Fork 1
Home
Open-Lotto Wiki edited this page Jun 5, 2026
·
2 revisions
Welcome to the Open-Lotto project wiki. Use the sidebar or the links below to navigate.
| Page | Description |
|---|---|
| Architecture | Module overview, RNG pipeline, plugin system |
| Plugin Development | How to add a new lottery game |
| CI & Testing | CI jobs, running tests locally, code quality gates |
| 3D Physics Engine | Ball simulation, dual-drum design, rendering |
- Linux / macOS / Windows WSL2
- CMake ≥ 3.10, GCC or Clang
-
libsdl2-dev,libsdl2-ttf-dev,pkg-config
Ubuntu/Debian:
sudo apt-get install cmake gcc pkg-config libsdl2-dev libsdl2-ttf-devgit clone https://github.com/Boussetta/open-lotto.git
cd open-lotto
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=ON
cmake --build build -j# List available games
./build/open-lotto --list-games
# Single draw
./build/open-lotto --game "Lotto 6aus49"
./build/open-lotto --game "Eurojackpot"
# Multiple draws
./build/open-lotto --game "Lotto 6aus49" --draws 10
# Animated terminal mode
./build/open-lotto --game "Lotto 6aus49" --animate
# 3D OpenGL drum visualizer
./build/open-lotto --game "Lotto 6aus49" --gui 3D
./build/open-lotto --game "Eurojackpot" --gui 3D
# Export results
./build/open-lotto --game "Lotto 6aus49" --draws 5 --export csv --output results.csv
./build/open-lotto --game "Lotto 6aus49" --draws 5 --export json --output results.jsonCLI arguments can be persisted in a .lottorc file in the current directory:
game=Lotto 6aus49
draws=5CLI flags always override .lottorc values.
| Feature | Details |
|---|---|
| Hybrid RNG seeding |
getrandom() + RDRAND + monotonic clock jitter |
| PCG32 RNG | Fast, statistically strong, unbiased Fisher-Yates draws |
| Plugin system | Games are dynamically loaded .so libraries |
| 2D GUI | SDL2 animated terminal-style draw |
| 3D GUI | Real-time OpenGL drum with ball physics |
| Export | CSV and JSON output |
| Validation |
--validate-only checks config without running a draw |
- Source: https://github.com/Boussetta/open-lotto
- License: MIT
- Bug reports / Feature requests: GitHub Issues