/armoredcore6

SQLite database for Armored Core 6 parts & stats

Primary LanguageF#MIT LicenseMIT

Armored Core 6

SQLite database for Armored Core 6 parts & stats. I've always wanted to write a build creator or randomizer as a side project, so I'm starting with the database. This is a work in progress.

This repo is archived

Wikidot is not kept up-to-date with the latest patch changes so this scraper does not have complete and accurate data with the latest changes and future upcoming patches.

An updated spreadsheet can be found here which is the most comprehensive set of tables for AC6 parts data. Courtesy of Armored Core Discord.

A handy web site is also available to view all AC6 data.

Why not just use a spreadsheet?

I'm a lazy developer and would rather write a scraper than manually copy-paste data. Also, I wanted to learn F# and this seemed like a good project to do that with.

GitHub Copilot is also writing most of this README for me, so that's pretty cool.

Credits

Information stored in the database is sourced from the Armored Core 6 Wikidot as well as the AC-3000 WRECKER arms page from Fandom. All credit to the original authors & editors on those pages for providing the data used here.

Usage

Running the scraper (requires .NET 7+):

$ dotnet run --project WikidotScraper/WikidotScraper.fsproj

The database is stored in data/ArmoredCore6.db and is inserted to from the scraper. It can be queried using any SQLite client, or the command line tool sqlite3.

To re-initialize the database, run ./manage-db.sh clean or delete the file then run ./manage-db.sh schema. This creates the tables & regenerates the SqlHydra types.

TODO

  • Create the database and tables
  • Scrape the wikidot pages for the data and store in memory
    • All frame parts (head, core, arms, legs)
    • All internal parts (FCS, generator, booster)
    • All weapons
    • Core expansions
  • Write the data to the database
  • Expand columns to include all stats
  • Create a simple web interface to query the database
  • Create a build randomizer that will pick a valid build using the stats in the database