domtronn / nuzlocke.app

Nuzlocke Tracker - For all Pokémon games and Rom Hacks to record, track, advise on encounters, and provide boss battles & level caps
https://nuzlocke.app
BSD 3-Clause "New" or "Revised" License
106 stars 16 forks source link

Default Templates (or csv) for Game Data or Documentation of json Format #112

Closed fuzzyquinoa closed 1 year ago

fuzzyquinoa commented 1 year ago

Is your feature request related to a problem? Please describe. Basically, I would like to submit a support request for Heart Gold Rebalanced. As per the documentation on the README, I need to submit a txt file with the differences. Thankfully, all of the data of the hack is very well documented in a csv-compatible format and should be possible to automate.

However, without knowledge of the base game info, it is difficult to be able to parse out where differences have been added. Looking around the repository, there seem to be json files being used currently to store the various trainer/pokemon data for the various games. Unfortunately, they have names like "hg.fire.json," "hg.grass.json," and "hg.water.json" with little indication of what the difference between these files is.

Describe the solution you'd like It would be nice to have default templates for each of the official games, such that it would be possible to automate generating the differences that exist in rom hacks.

Describe alternatives you've considered Digging around the repo.

Additional context No additional context is needed I don't think.

fuzzyquinoa commented 1 year ago

The other thing about supplying (or documenting existing) default templates is that it would enable the easier creation of other tools. For instance, I am so inspired by your incredible web app that I would really like to develop a nuzlocke tracker for the Steam Deck as a Decky Plugin since that is how I am primarily playing retro games these days.

domtronn commented 1 year ago

Hey @fuzzyquinoa! Thanks for you interest.

There is data within this project for hosting, but it's all generated from this project which Is what I think you're actually looking for 😄

You can see some example patches for rom hacks, but I used to use a combination of pokemon-assets and the pokeapi.co.

Annoyingly, pokemon-assets has now been deprecated... so I a had to "scrape" a base pokemon.json using pokeapi.co as the source of information. PokeAPI is very powerful and extensive! But the data I need is spread across many many http requests, hence why I went for building my pipeline.


The readme in the nuzlocke.data should cover the format I'm looking for, and you can look at all the other examples but do reach out if you have any questions!

domtronn commented 1 year ago

I've updated the readme with a link to that data project, since it's missing. I also created this devtool application to help visualise the league data as you make it. Bear in mind this tool hasn't been maintained and as a result doesn't support romhack data, or likely any pokémon beyond Gen 8

fuzzyquinoa commented 1 year ago

This does look like exactly what I need! I did have a question though - do patches support route changes? For instance, if a rom hack introduces new pokemon to a route that are not in the base game.

domtronn commented 1 year ago

The routes are in the route folder and they're just a list of plain text location names and the comma separated list of encounters, e.g.

Route 1|pidgey,ratata

And the order matters in these files, so the order of the nuzlocke comes from the order of these lines. But it does mean you can have any routes you want 🙂

There is a fair amount of duplication across rom hacks and base games, but kind of necessary when they change encounters etc.

domtronn commented 1 year ago

@fuzzyquinoa - I'm going to close this issue now, but if you have any other questions or need help, feel free to reopen or raise a new issue!