Brought back from the dead by unrared, Steve and Josiah. Rescued from the basement by Death Save Pinball Cult. Thanks to the guys at FAST and the Mission Pinball Project for all the support.
- Development -
bin/dev
will run bothmpf
andmpf-mc
without the console GUI. It will also runmpf monitor
so you can interact with it. - Production -
bin/run
will run for production using the real hardware devices and the console GUI. - Test - Run a test with
bin/test tests/test_something.py
or simplybin/test
to run all tests from the./tests
folder.
Run bin/dev
to start the game in development mode. Then use
the keyboard for simulating switch hits.
See keyboard.yaml to see how the keyboard is mapped to the switches/events.
On Ubuntu/Debia Linux
See ./.github/workflows/python-app.yml
to match the CI build.
On MacOS
- Install
brew
:/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
- Install system deps:
brew install SDL2 SDL2_mixer SDL2_image SDL2_ttf gstreamer pkg-config
and follow instructions to addpyenv
to your shell. - Install
pyenv
:curl https://pyenv.run | bash
- Setup shell to run
pyenv
on load:echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
echo '[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(pyenv init -)"' >> ~/.bash_profile
- Now reload your bash profile:
source ~/.bash_profile
# this will makepyenv
available - Install Python 3.11:
pyenv install 3.11.10
- And make it the default python version:
pyenv global 3.11.10
- Install Cython:
pip install --upgrade Cython==0.29.36
- Install mpf:
pip install mpf==0.57
- Install mpf-mc:
pip install mpf-mc==0.57
- Install mpf-monitor:
pip install mpf-monitor==0.57
- Install foreman:
gem install foreman
- this makes it possible to run all 3 processes in single terminal window for local development.
- time shows in with 0.3s base (0.15s, 0.6s, 1.2s, etc.).