Repository Directory Overview
This repository is organized into several directories, each focusing on a specific aspect of the game creation process. Below is a breakdown of the main directories and their purposes:
Main Directories
games/
-
Contains sample slot games showcasing widely used mechanics and modes:
0_0_cluster
: Cascading cluster-wins game.0_0_lines
: Basic win-lines example game.0_0_ways
: Basic ways-wins example game.0_0_scatter
: Pay-anywhere cascading example game.0_0_expwilds
: Expanding Wild-reel game with an additional prize-collection feature.
-
src/
- Core game setup functions, game mechanics, frontend event structures, wallet management, and simulation output control. This directory contains reusable code shared across games. Edit with caution.
-
Subdirectories:
calculations/
: Board and symbol setup, various win-type game logic.config/
: Generates configuration files required by the RGS, frontend, and optimization algorithm.events/
: Data structures passed between the math engine and frontend engine.executables/
: Commonly used groupings of game logic and events.state/
: Tracks the game state during simulations.wins/
: Wallet manager handling various win criteria.write_data/
: Handles writing simulation data, compression, and force files.
-
utils/
-
Contains helpful functions for simulation and win-distribution analysis:
analysis/
: Constructs and analyzes basic properties of win distributions.game_analytics/
: Uses recorded events, paytables, and lookup tables to generate hit-rate and simulation properties.
-
tests/
-
Includes basic PyTest functions for verifying win calculations:
win_calculations/
: Tests various win-mechanic functionality.
-
uploads/
-
Handles the data upload process for connecting and uploading game files to an AWS S3 bucket for testing.
-
optimization_program/
-
Contains an experimental genetic algorithm (written in Rust) for balancing discrete-outcome games.
-
docs/
- Documentation files written in Markdown.
Detailed Subdirectory Breakdown
src/
calculations/
: Handles board and symbol setup, along with various win-type game logic.config/
: Creates configuration files required by the RGS, frontend, and optimization algorithm.events/
: Defines data structures passed between the math engine and frontend engine.executables/
: Groups commonly used game logic and events for reuse.state/
: Tracks the game state during simulations.wins/
: Manages wallet functionality and various win criteria.write_data/
: Writes simulation data, handles compression, and generates force files.
games/
0_0_cluster/
: Sample cascading cluster-wins game.0_0_lines/
: Basic win-lines example game.0_0_ways/
: Basic ways-wins example game.0_0_scatter/
: Pay-anywhere cascading example game.0_0_expwilds/
: Expanding Wild-reel game with an additional prize-collection feature.
utils/
analysis/
: Constructs and analyzes basic properties of win distributions.game_analytics/
: Generates hit-rate and simulation properties using recorded events, paytables, and lookup tables.
tests/
win_calculations/
: Tests various win-mechanic functionality.
uploads/
- Handles the process of uploading game files to an AWS S3 bucket for testing.
optimization_program/
- Experimental genetic algorithm (written in Rust) for balancing discrete-outcome games.