日本語 README: README.md
My personal project to collect game data from video stream and plot them in a graph.
- Game: e-baseball Pawafuru PuroYakyuu (eBASEBALL パワフルプロ野球 2022)
- a Japanese Baseball game
- tailored for a specific game mode: Eikan-Nine(栄冠ナイン)
Graph that displays the development of certain statuses within the course of the game.
The diagram below illustrates the entire setup needed to accumulate and plot the data.
This is the environment I used.
You can use different hardwares/softwares but I can not guarantee that it will work. This simply describes my environment that I got to work.
-
Data Accumulator
- Language:
- Python 3.10.4
- Software:
- Tesseract 5.0.1
- OBS 27.2.4 (For Rendering from Stream)
- Must use OBS VirtualCam v2.0.5 to capture stream
- Hardware:
- hardware: hdmi capture board to capture console game stream(like switch or playstation)
- Language:
-
API Server
- Language:
- Python 3.10.4
- Language:
-
Frontend
- node: v16.15.0 and above
Run the following Makefile command to install dependencies. This will install all backend and frontend dependencies.
$ make install
- Start the Game
- Open OBS and display game screen
- Use OBS Virtual Camera
- Run the following command to start collecting data from stream
$ make start-accumulator
- Play the game in Eikan-Nine(栄冠ナイン) mode
- Once done, stop accumulator(WIP: just
ctrl + c
for now) - Data should be accumulated in output as
{start_timestamp}.csv
Run the following command to start API Server in development mode.
Service will be available in http://localhost:5000
.
$ make start-server
Run the following command to start Frontend dev server.
Service will be available in http://localhost:3000
.
$ make start-front
TODO: May not setup build process as this app is made for local use and using dev server is good enough.