Skip to content

GoLuckSimulator is a modular, interactive testing environment written in Go, designed to simulate and analyze probability-based games and scenarios.

License

Notifications You must be signed in to change notification settings

codebrancher/go-luck-simulator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GoLuckSimulator

GoLuckSimulator is a modular, dynamic testing environment written in Go, designed to simulate and analyze probability-based games and scenarios. Whether you're looking to test randomness, understand probabilities, or simply experiment with game outcomes, GoLuckSimulator offers a robust platform for exploring the mechanics of luck.

Disclaimer

Educational Purposes Only: This project is intended strictly for educational purposes and is not to be used for gambling, betting, or any form of real money play. It is not a guide for gambling or an endorsement of gambling and should not be used as such.

Table of Contents

Features

  • Advanced Randomization: Choose from several randomizers, including the standard RNG, LCG, and XorShift, to ensure game fairness and complexity.
  • Interactive Commands: Utilize commands such as bet, auto, and stats for real-time game management and engagement.
  • Simulation Mode: Toggle between interactive gameplay and simulation mode to conduct extensive tests or enjoy casual play.
  • Detailed Stats: Gain detailed insights into randomization processes and game strategies.
  • Modularity: The program is designed with modularity in mind to allow easy integration of new RNGs, Games and more.

Getting Started

Prerequisites

  • Go 1.22 or later
  • make sure your terminal supports Unicode (UTF-8) (required for playing)

Installation

  1. Clone the repository to your local machine:
git clone https://github.com/codebrancher/go-luck-simulator.git
cd go-luck-simulator/cmd
  1. Build the project:
go build -o lucksimulator .

Usage

Run the Go Luck Simulator with the following command:

./lucksimulator

This command will start the game and you will see the initial setup screen.

Game Commands

First you have to select a randomizer, followed by the game. You can select them by entering the number of the randomizer.

In the next step you choose the game which you want to enter, followed by your starting amount (I recommend using higher amounts for simulations to increase granularity).

Game Mode Commands

Once the game is running, you will interact with it using the following commands:

  • play: Starting the playing mode.
  • sim [spins] [bet]: Perform a simulation.

Game Commands (play-mode)

  • RETURN: Hitting the return button re-bets with your last bet.
  • bet [bet amount]: Places a bet of the specified amount.
  • auto [spins] [bet amount]: Automatically play a specified number of spins with a fixed bet amount.
  • take: Cash out if game has a winning pot.
  • info: Displays current game information, including available symbols, your current cash balance, and the wild symbol.
  • stats: Displays current game statistics, such as total spins, total wins, and current cash balance.
  • exit: Exits the game.

If you are in the info or stats screen you should make a bet or auto-bet to get back to the game screen.

Remember: Hitting the RETURN-button will re-bet with your last bet.

Games

Currently two games are supported:

  • Wild Fruits: moderate risk, -payout, regular payout, passive playing
  • Peak Pursuit: high risk, -rewards, active playing

Generally I aimed to make the RTP (return to player) rates as balanced as I could.

A more detailed description is coming soon. Since then I recommend exploring the games on your own.

Customization

Explore the following parts to learn more about their specific functionalities, configurations and potentials:

Game Engine

The core logic and game mechanics of a specific game are implemented here. Learn more.

Randomness Module

This module handles all random number generation used in the game. The program supports multiple algorithms to suit different needs. Learn more.

Contributing

Contributions are welcome! Please feel free to submit a pull request or open an issue for any bugs or feature requests.

License

The Go Luck Simulator is open source and available under the GNU General Public License v3.0 (GPL-3.0). This license allows you to use, modify, and distribute the software, but all derivatives of this project must also be released under the same GPL-3.0 license.

For more details, see the LICENSE file included in the repository.

About

GoLuckSimulator is a modular, interactive testing environment written in Go, designed to simulate and analyze probability-based games and scenarios.

Topics

Resources

License

Stars

Watchers

Forks

Languages