Nylilsa / nylilsa.github.io

3 stars 0 forks source link

Add a replay/sources system to the WR page #27

Open Nylilsa opened 1 year ago

Nylilsa commented 1 year ago

While the WR page is great at displaying the previous WRs, there are some major issues.

  1. If the user wants to look deeper at a category (e.g. for a WR history video), they cannot get the replays but instead have to search for them.
  2. Entries without replay/video evidence might raise suspicions

A solution would be to implement a replay system for it that allows the user to download them. However, there are some issues with that. Here are all the issues I could come up with.

  1. I would have to download about 8000 replays and check all of them manually.
  2. I need to find a place to host all the replays. I won't directly link to external sites such as the pnd website because I want to guarantee the links always work.
  3. I would have to distinguish between a variety of sources: think of replays, videos, images, blogposts, tweets, etc. The latter ones being very fragile and perhaps untrustworthy.

Here are the solutions to the problems:

  1. Grind your way through the 8000+ replays. There's no other way.
  2. Have a local copy as backup but have everything uploaded to Gdrive (private) AND MEGA (public). The folder structure would go as follows: replays/game_id/difficulty/shottype/replay.rpy. The replay will be named as follows: thx(x)_difficulty_shottype_score. When linking to the replay insyead I will provide a link to the entire folder of the selected game rather than tediously generating 8000+ links.
  3. Replays are a primary source and other things are secondary sources. Currently, a WR entry looks as follows: [score, author, date]. However, I would like to propose a new one: [score, author, date, {replay: bool; sources: [string of sources]}]. The code goes as follows: if replay, then hyperlink on DATE to MEGA, if sources, add footnotes (1)(2)(3) with links to sources, else change nothing.
Nylilsa commented 1 year ago

In the past few weeks I have been downloading a bunch of WR replays. The list below marks the games I've processed so far.

With the word 'processed', I mean the following:

  1. I looked through all the replays I downloaded, and I manually checked if there were any replays done that are WR but that were not on the WR list. This was done manually because there are instances of cheated replays.
  2. I added the missing WR entries to the wrprogression.json file.
  3. The replay files were renamed to the format thx(x)_difficulty_shottype_score.rpy.
  4. The renamed replays were put in another folder. While it is 'processed', the games may still contain score entries that do not have a replay attached to them.

While I believe there are games that I can still continue processing, there are some games that will be difficult to fully process. Those games being as follows:

Touhou 6 - The Embodiment of Scarlet Devil: The issue arises because of the way the replay is encoded. I would have to find another way to decode the replay to access its data.

Touhou 7 - Perfect Cherry Blossom The replay does not store the year the run was done in, meaning that old but valid replays that are not in the wrprogression.json may be overlooked.

Touhou 8 - Imperishable Night The issue arises because of the way the replay is encoded. I would have to find another way to decode the replay to access its data, primarily if the replay is done on FinalA or FinalB.

Touhou 9 - Phantasmagoria of Flower View The issue is that all sources I used do not have any replays of this game.

Touhou 16 - Hidden Star in Four Seasons The issue arises because of the way the replay is encoded. I would have to find another way to decode the replay to access its data, primarily the season of the shottype.

Touhou 17 - Wily Beast and Weakest Creature The issue is related to the players reaching a score of counterstop (9,999,999,990). The only way to check for their true score is to manually check it by loading it in-game using a patch that removes the cap of 9,999,999,990 score.

Touhou 18 - Unconnected Marketeers The issue is related to the players reaching a score of counterstop (9,999,999,990). The only way to check for their true score is to manually check it by loading it in-game using a patch that removes the cap of 9,999,999,990 score. However, the issue may be more difficult to deal with in th18 than in th17, mainly because counterstop is achievable in Stage 5. While a patch may help with figuring out the true score, when Stage 6 is loaded the score of 9,999,999,990 is loaded, meaning I would have to do some simple maths involving addition and taking into account the score gained during the stage transition.

The list below marks the games I've 'fully processed' so far. With 'fully processed', I mean that I manually checked each entry with a missing replay.

It's looking a bit empty at the moment.

Below marks how many replays I have downloaded out of all the WR entries. A more comprehensive breakdown separating the game in difficulties/shottypes may be added in the future:

(Updated as of 2023-08-10)

Nylilsa commented 10 months ago

Currently I am learning how to read the values from the replays themselves rather than relying on the text displayed at the bottom. This means that I will have to rerun everything. This issue is going to be much larger than ancitipated, so a bunch of the code related to it is going to be moved to a repository. Progress will no longer be kept track here.

Nylilsa commented 1 month ago

Note: replay support has already been added. Just need to add sources system for unverified replays.