Giter VIP home page Giter VIP logo

mhworlddata's Introduction

Build Status

MHWorldData

A project used to generate a SQLite database file from Monster Hunter World data.

There's currently no documentation for the db file. I recommend using a graphical tool like SQliteBrowser or figuring it out from the mapping file. To see the data we build from, look at the source_data folder.

Purpose and goals

This project exists as a free and open collection of Monster Hunter World data for people to build cool things with. While the data has to be manually built right now, once we approach a stable version they will be available without the need to build.

We use the data generated here for the MHWorldDatabase Android app, which is also open source.

How to contribute

To contribute, create a pull request adding the data or translation you wish to add to the source_data/ folder. If the translation is for a language that is not supported, then add a name_code column using the ISO language code.

If you are unable to work Git but have data corrections or translations to contribute, you can create a Github Issue with new file or share a link to a google drive spreadsheet.

MISSING (Important Todo)

This is data we'd love to receive help towards.

  • Gathering Data is incomplete (Important).
    • Normal gather data: Requires us to throughly examine areas in game for different items and manually insert them into a spreadsheet.
    • Ore/Bone data: We will need a copy of モンスターハンター:ワールド 公式データハンドブック フィールド&アイテムの知識書, and anyone capable of reading it, to read data and insert into a spreadsheet. This includes rare vs non-rare nodes.
  • Quest list. Not really useful all on its own but leads into unlock conditions.
  • Unlock conditions for special items like mantles, and base camps, including deliveries.
  • Weapon motion value data

Data Structure

The data files in source_data/ are used to build the final SQL file. The project is in the middle of a conversion from JSON to CSV, so some files are still JSON.

To edit the CSV files, I suggest using an office program like Excel or LibreOffice. Make sure to use UTF8 text encoding and comma separators when opening files. You can also import it to google drive.

Each subsystem (Monster/Armor/Weapons/etc) is stored in its own subdirectory. There are several types of data files:

  • type_base.csv: A names and basic data registry containing the names of different objects of that type for each supported language, as well as any additional base data.
  • type_data.csv: Additional data key'd by the name of the owning type. These are used when the type can have many data, like a monster can have many hunting rewards.
  • type_ext.csv: Extension data that adds additional data to the type. This is used when each type can be optionally extended, such as a weapon that may be a bowgun and has bowgun ammo.

How to build

Make sure Python 3.6 or greater is installed on your system, and pipenv is installed (pip install pipenv). Afterwards, you can install all dependencies by running pipenv install.

Afterwards, run pipenv run python build.py in a terminal to generate an mhw.sql file. Alternatively, run pipenv shell and then run python build.py.

You can run the tests by executing pipenv run pytest tests.

Data Sources

The data collected by this project is an accumulation of various sources, including manual entry from the game itself, official guidebooks, and other collections like LartTyler's API, Kiranico (raw data only), and Japanese wikis like MHWG. Handwritten guides and editorial content are not collected in the repository.

License

The build code is licensed under the MIT License. The data and images are from Monster Hunter World, which is owned by Capcom. You are free to use it, but I'd really appreciate it if you let me know what you're working on, and would be even more stoked if you let other people know where you got the data from in a note somewhere (although that's not required).

Special Credits

  • LartTyler - For creating a collection of data that allows others to pull from
  • Vocalonation - For helping with translating and crossvalidating data.
  • TanukiSharp - For creating a computer usable collection of sharpness data and allowing others to use it. His original project is here
  • DiscreetMath - For streaming the game to me as I copied data down, while I waited for the PC release.

mhworlddata's People

Contributors

carlosfdez avatar ahctang avatar jaysondc avatar kevinn avatar

Stargazers

Marcos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.