Skip to content

simonkeyd/bgcar

Repository files navigation

BGCAR

pypi license: GPLv3 lint release

Baldur's Gate Computer Assisted Reroll (BGCAR) helps one effortlessly reach high ability scores for one's CHARNAME by performing computer assisted reroll. This program performs live roll result analysis and only stores the highest value. This is done by capturing screen area containing the total roll score and analyzing its value with OCR.

Installation

Installing from PyPI:

pip install bgcar

Installing from source:

git clone https://github.com/simonkeyd/bgcar && cd ${_##*/}
pip install -r requirements.txt

Step by step guide

  1. Start Baldur's Gate or Baldur's Gate 2 in windowed mode
  2. Proceed to create your character and stop at ability page
  3. Run bgcar (for first time use add -i parameter)
  4. For first time use follow the initial wizard to provide the different positions that the program needs.
    Click on corresponding buttons when asked to and mark the area of the Total roll score by first clicking on the top left of this score and then on the bottom right.
  5. Let the program perform the rolls and stop it by pressing 't' when done

note: Baldur's Gate game window has to be in the foreground so that bgcar can perform capture and clicks.

Demo

BGCAR demo

Advanced usage

see bgcar -h

usage: bgcar [-h] [-d] [-i] [-t TIME] [-m MAX_ROLL_COUNT] [--gpu]

options:
  -h, --help            show this help message and exit
  -d, --debug           print debug level messages (each roll value, etc)
  -i, --initialize      initialize required settings like button location - mandatory before
                        program use
  -t TIME, --time TIME  time in second to wait between each click (one can use decimal
                        values); a delay too short for your setup might cause the program to
                        misbehave (eg. not store roll correctly) (default: 0.03)
  -m MAX_ROLL_COUNT, --max-roll-count MAX_ROLL_COUNT
                        limit the maximum number of roll that you want the program to perform;
                        by default bgcar will run in infinite mode
  --gpu                 enable GPU mode for OCR and accelerating program

Known issues

Invalid value results (eg. program finding incorrect value for a Total roll) can be caused by the following:

  • Total roll score area too big or too small
  • too poor game resolution
  • too small game window (or both)

To prevent this from happening try re-initializing Total roll area (using -i parameter) or enlarging game window and increasing game resolution.