Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/non-jedi/matrix-plays-pokemon
https://github.com/non-jedi/matrix-plays-pokemon
Last synced: 25 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/non-jedi/matrix-plays-pokemon
- Owner: non-Jedi
- License: gpl-3.0
- Created: 2017-07-16T21:20:48.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2022-12-07T23:58:25.000Z (almost 2 years ago)
- Last Synced: 2024-04-20T22:22:41.845Z (7 months ago)
- Language: Python
- Size: 24.4 KB
- Stars: 3
- Watchers: 3
- Forks: 0
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Matrix Plays Pokemon
This will run a user-specified gameboy advance rom on `mgba` and stream
screenshots of the running game to a public room on matrix. It will also look at
that matrix room for commands to send to the game.Discuss mpp at
[#discuss-mpp:thebeckmeyers.xyz](https://matrix.to/#/#discuss-mpp:thebeckmeyers.xyz).
Try it out at [#mpp:thebeckmeyers.xyz](https://matrix.to/#/#mpp:thebeckmeyers.xyz).## Requirements
- `mgba` (sdl version)
- `python3`
- `xvfb`
- `pulseaudio` (don't ask)
- gba bios
- gba rom
- python requirements from `requirements.txt`## Usage
1. Clone this repo and modify `config.json` and `registration.yaml` for your
homeserver.
2. Add `registration.yaml` to your homeservers app-services
3. `pip3 install -r requirements.txt`
4. `gunicorn -b localhost:19050 mpp:application`## Disclaimer
Several implementation choices for mpp were tailored to the specific
requirements of the hardware and linux distribution on which I'm running this
software. For your own use, it may be necessary to adapt this script
significantly.In particular I had to wrestle a lot with providing `mgba` somewhere to send
audio. I chose to launch an instance of `pulseaudio` from within the python
script not because it was the best choice nor technically elegant, but because
it worked well enough with minimum fuss on my particular setup.