Skip to content

tuokri/rs2-weapon-damage-analysis

Repository files navigation

rs2simulator

BETA VERSION - WORK IN PROGRESS

Data visualization app for the Rising Storm 2: Vietnam video game. Features accurate simulation of in-engine physics projectiles in the browser, weapon statistics comparison tools and data visualization based on automatically collected data from the game's source files.

Using the CLI tools

TODO: REMEMBER TO UPDATE THIS GUIDE ONCE THE CLI IS RE-DESIGNED!

Step 1: Parse UnrealScript source directories

python rs2simulator/main.py -p path/to/script_sources

Step 2: Parse localization data

python rs2simulator/main.py -l path/to/localization/file.int

Step 3 Run simulations:

python rs2simulator/main.py --simulate

Step 4: Write the data from the previous steps into a PostgreSQL database:

python rs2simulator/main.py --enter-sim-data

Running the web app

Run a development server using PowerShell (option 1):

.\run_app.ps1

Run Docker development server container (option 2):

# TODO: instructions!

Built with

Main (web) data app

Dash & Plotly

In-game object simulation and data collection

rs2simlib

NumPy

Numba

pandas

Database access

SQLAlchemy

Psycopg 3

PostgreSQL database backend

Fly.io Postgres cluster with TimescaleDB extension

PGBouncer connection pooler

TODO

  • Migrate to UV at some point?

  • Replace logbook with loguru?

  • Is there any point in storing generated .json and .pickle data in the repo?

  • Test the CLI tools!

    • Include test data in the repo as a zip?
    • Store it somewhere else?
  • Simple testing strategy for the Dash app.