Guy-L / parakit

Scripting framework to extract and analyze Touhou game data for score players and anyone looking for insight!
7 stars 2 forks source link

Complete collision research for analyzer API #27

Open Guy-L opened 10 months ago

Guy-L commented 10 months ago

The wiki should have a page detailing research of the collision methods used by each supported game. There should be a table in which the columns list all the different types of collisions in the games (player/bullet, player/laser, enemy/projectile, etc. - potentially two columns for "hit" and "graze" when applicable) and the rows list every game supported. The items in each cell should be the name of a function, and the detailed behavior of each unique function with their inputs should be explained in the document.

This knowledge should be used to make available a set of API functions (defined on a per-game basis in Offset objects) that analyzers can use to perform accurate collision checks. This is particularly helpful for "heatmap" analyzers, to better understand which positions see the most hits/graze/etc.

The following questions should be answered by the above task and highlight things the built-in AnalysisPlotEnemies may do wrong:

  1. Do enemy hurtboxes take into account enemy rotation and the "rectangular hitbox" flag?
  2. If the "rectangular hitbox flag" is disabled, are hitboxes that should behave like ellipses (e.g. Taiko drums) actually treated as circles, with only one of the two hitbox dimensions being used for radius (as suggested by enemy collision code)?

Attempt at an exhaustive list of types of collisions (some may be unnecessary, some may be missing):