Go to file
Bel LaPointe e5a668b691 howtohost 2023-03-24 13:05:45 -06:00
src input.New refactor and test 2023-03-24 12:05:50 -06:00
testdata whoops nums bitwised 2023-03-23 16:14:25 -06:00
README.md howtohost 2023-03-24 13:05:45 -06:00
go.mod simplify input package but also build secretly new config file option 2023-03-02 09:45:56 -07:00
go.sum simplify input package but also build secretly new config file option 2023-03-02 09:45:56 -07:00
main.go $OUTPUT_KEYBOARD=true 2023-03-02 09:54:38 -07:00
todo.yaml todo 2023-03-24 12:57:31 -06:00

README.md

mayhem-party

Think Dug's Twitch Chat Plays

DONE

  • input
    • random from weighted file
    • buffered
    • remapped from file
  • output
    • to keyboard
    • to stderr

Hosting a Mayhem Party

Requirements

  1. rusty-pipe
  2. mayhem-party
  3. stt

Clients

Distribute rusty-pipe

Each client needs 1 executable and 1 env file with a unique set of buttons

The server cannot be a client because math. Maybe a VM on the client as a server would work tho.

INPUT_NAME=gui
OUTPUT_UDP_HOST=ip
OUTPUT_UDP_PORT=port
INPUT_GUI_BUTTON_A=X
INPUT_GUI_BUTTON_B=X
INPUT_GUI_BUTTON_DOWN=X
INPUT_GUI_BUTTON_L=X
INPUT_GUI_BUTTON_LEFT=X
INPUT_GUI_BUTTON_R=X
INPUT_GUI_BUTTON_RIGHT=X
INPUT_GUI_BUTTON_UP=X
INPUT_GUI_BUTTON_X=X
INPUT_GUI_BUTTON_Y=X

Server

rusty-pipe

INPUT_NAME=udp
INPUT_UDP_PORT=port

mayhem-party

Configs

Create some number of remap files at /tmp/mayhem-party.d/* with keys for EVERY client config button like the following with at least 1 effectively not mapped/empty

A: A
B: B
C: C

run cd /tmp/mayhem-party.d; ln -s ./the-unmapped-file ./live

Binary
DEBUG=1
INPUT_KEYBOARD=true
INPUT_REFRESH_ON_SIGUSR=true
INPUT_REMAP_FILE=/tmp/mayhem-party.d/live
MAIN_INTERVAL_DURATION=5ms
OUTPUT_KEYBOARD=true

Game Playing

Foreground

stt

TODO pipe stt detecting relevant strings -> change the /tmp/mayhem-party.d/live link -> SIGUSR1 to mayhem-party