An overlay for OBS Studio that displays scores and other info about streamed sports games.
- improve UX:
- swapping key binding after teamswitches
- time is a number for itself:
- properly reset time
- proper time input
- when setting time, it's paused by default
- widgets ofc
- connecting
- not having to spam ii to update stuff
- public window:
- playing teams
- score
- time
- colors :D
- private window:
- same as public window
- deal yellow and red cards
- pause time
- graceful Ctrl-C handling
README.md
:- context about what (and why) this is
- describe the backend
- design decisions:
- bar layout
- user API:
- data:
- team names and playing teams
- timer
- keeping results
- FINAL dealing red and yellow cards
- colors and other style elements
- data:
- real time bar countdown
- FINAL animations:
- ingame bar opening and closing
- players list spawning
- table spawning
- How does the tiebreak work?
- Farben für die Vereine raussuchen
- Backend: Sollten wir immer wieder den Tunierstate zwischenspeichern, falls das Programm aus irgendwelchen Gründen mal geschlossen werden sollte? In dem Zug, könnte man dann auch alles als JSON als Input definieren, so dass man auch manuell was ändern könnte und dann die JSON vom Programm reloaded wird. (Grundskizze in input.json)
- Feedback/Suggestions Site + Widget FINAL
- Rauskriegen wer Feld und Außenspieler ist
- FINAL abstract program to be applicable for other games:
- i.e. not harcoding player roles
- list of players in both teams (with roles)
- both team's names (and colors)
- game timer
- countdown bar
- is second halftime?
- FINAL team logos
- Score at halftime
- first or second halftime?
- Numbers list of
- All previous games calculated and printed with:
- team names
- numbers of games won
- number of games tied
- number of games lost
- points
- goals
- goals caseered
- tordiff
- previous games' info in a table (see above)
- team names
- score at halftime
- final score
- FINAL Cards given to players
- user fills out a JSON with certain properties:
- team list:
- player list per team
- list of games
- time per game
- halftimes per game
- team list:
- program checks if every required field is filled (including array items)
- server generates a hotkey table for quick goals assignment and transitions
struct Root {
struct current_game {
Game gamestate;
bool halftime;
int time_left;
}
struct all_games {
Game[] games;
}
String[] teams;
}
struct Game {
String team_1;
String team_2;
Score halftimescore;
Score score;
Card[] cards_handed; //FINAL
}
struct Score {
int team_1;
int team_2;
}
//FINAL
struct Card {
Player player;
enum {YELLOW_CARD, RED_CARD};
}
//FINAL
struct Team {
Player Torwart;
Player Außenspieler;
}
- rectangles
- light shadows
- subtle gradients
- black borders
- pass colors in json
n
andp
keys+
and-
sending