Skip to content

sameysimon/Buzz-Controllers

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

preview.png

Online Buzz Controllers

We were trying to play the classic PlayStation 2 quiz game Buzz! online, over the internet. While the PCsX2 emulator has multiplayer plugin, it seemed to only support an old version. It turned out easier to have a single host run the game, share their screen via Discord, then run this webapp for each player's input.

The web app emulates button presses via the uinput Python library and presents itself to the host system as a gamepad device (WebBuzzPad Gamepad).

Requirements

  • Tested with Python 3.8
  • python-uinput
    (Linux-only, since uinput is a Linux kernel module) Tested on Ubuntu
  • Flask
  • Flask-SocketIO
  • Tested with the PCSX2 1.7 emulator.

Install with:

sudo apt install python3-pip python3-dev libudev-dev
pip install flask flask-socketio python-uinput

How to use

  1. Run the server on the host machine (easiest in development mode):

    sudo flask --app app run --debug --host=0.0.0.0 --port=5000
  2. Open the host’s IP address in a browser on each player’s device. Example: http://192.168.0.10:5000

  3. Players join by entering a name and selecting a player slot (1–4).

  4. Have players press each button in turn to map the controller to the PCSX2's emulated Buzz Controller. Below is the default mapping

Each player’s coloured buttons are mapped to a unique set of uinput keys:

Player Red Blue Orange Green Yellow
1 BTN_0 BTN_2 BTN_3 BTN_4 BTN_5
2 BTN_6 BTN_7 BTN_8 BTN_9 BTN_DPAD_DOWN
3 BTN_DPAD_UP BTN_C BTN_DPAD_LEFT BTN_START BTN_X
4 BTN_A BTN_B BTN_BACK BTN_SELECT BTN_Z

These can be changed from app.py.

  1. Ensure PCSX2 is configured to read from standard gamepads. Then run Buzz! and share screen on a service like Discord.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published