Skip to content
/ otoge-db Public

Online DB viewer for songs in Ongeki, Chunithm, maimai

Notifications You must be signed in to change notification settings

zvuc/otoge-db

Repository files navigation

Ongeki DB Logo    Chunithm DB Logo    maimai DB Logo

Otoge DB (音ゲーDB)

This is an unofficial database for viewing song information served in SEGA's arcade music games 'Ongeki', 'Chunithm', 'maimai DX'. Based on the public data provided from the official SEGA websites, Otoge DB enables users to view and filter info more easily by using custom sort and filter options.

Otoge DBはSEGAの音ゲー「オンゲキ」「CHUNITHM」「maimaiでらっくす」の非公式収録曲データベースサイトです。公式サイトで公開されているデータを基にして、Wikiなどウェブで入手できる情報を集めて一箇所で楽に見れるようにする目標で作られました。

How to fetch and apply new data

  • You'll need Python 3.x to run scripts on command line.

  • Install requirements

    pip install -r requirements.txt
    
  • Run script to download JSON and new song images from server, then fetch additional data from wiki

    python scripts/update-songs.py --ongeki
    

    Note: You may need to use python3 instead of python depending on your environment (i.e.: macOS)

    Argument Description
    --ongeki --chunithm Run script for specified game (Set only one at a time)
    --nocolors (Optional) Don't print colors to terminal messages
    --escape (Optional) Escape special characters for output (Song titles with symbols, etc)
    --skipwiki (Optional) Skip the wiki fetching part
  • Run script to fetch wiki data only (Enemy lv, Chart details, BPM)

    python scripts/update-wiki-data.py --ongeki
    
    Argument Description
    --ongeki --chunithm Run script for specified game (Set only one at a time)
    --date_from (Optional) Set start of date range to target songs. (Example: --date_from 20230101) If unset, script fetches for the latest datestamp in music-ex.json file.
    --date_until (Optional) Set end of date range to target songs. (Example: --date_until 20231231) If unset, script fetches for the latest datestamp in music-ex.json file.
    --id (Optional) Run script for a single song. Can't be used with the date range arguments above. (Example: --id 2524)
    --nocolors (Optional) Don't print colors to terminal messages
    --escape (Optional) Escape special characters for output (Song titles with symbols, etc)

Notes for Local Development

Build Scripts

  • yarn build : minify+concat JS files, builds LESS stylesheet, runs PostCSS and minify.
  • yarn watch : watches changes to stylesheet for local development

Local Dev Environment

Just open index.html and refresh manually. Simple as the good old year 2000. Or, you can also do python3 -m http.server to quickly run a local server.

Notes

  • This webpage is hosted and run entirely on Github Pages without any additional backend servers attached.
  • {game_name}/data/music.json : Copy of original JSON file provided by SEGA as-is
  • {game_name}/data/music-ex.json: Augmented JSON file containing additional data (Enemy type / Enemy Lv. / Chart constants / BPM etc.)

Credits

Code Contributions

  • @Ryudnar : Early script foundation for song data downloading
  • @kiding : Script for updating datestamps after fetch
  • @ssankim : Wiki fetch script & Github Actions workflow help

Other Contributions & Data Sources

Ongeki

Chunithm

Special Thanks to

Feedback

Contact @zvuc_ for any suggestions or inquiries.

Copyright

  • MIT License for all code in this repository.
  • All vector image assets used in this website have been produced independently from scratch, however intellectual rights for the original designs remain to SEGA.
  • ONGEKI, CHUNITHM and the respective logos are trademarks of SEGA.
  • All song jacket images are owned by SEGA and/or their respective owners.
  • OTOGE DB is a fan project. It is not afilliated with nor endorsed by SEGA in any way.