en_Splatoon2 - hasegaw/IkaLog GitHub Wiki
Splatoon 2 Support
What is done
Note: Under development - Now we focus JA version only
| category | scene | items | status | remarks |
|---|---|---|---|---|
| Lobby | - | - | - | |
| Game | go_sign | Read timer value rather than detecting "Go!" message? | ||
| Game | low_ink | done | Detect player's "low ink!" status | |
| Game | dead | code | done | |
| Game | dead | cause of death ML | Need update | |
| Game | finish | done | ||
| Game | in_game | |||
| Game | kill | done | ||
| Game | map | done | Detect map scene ("X" button in the battle) | |
| Game | paint_tracker | code | done | |
| Game | paint_tracker | ML | partial | Need new feature extraction method |
| Game | inklings_tracker | Need new feature extraction method | ||
| Game | ranked_battle_events | Clam Blitz | done | Using old image matching method |
| Game | ranked_battle_events | Rainmaker | done | Using old image matching method |
| Game | ranked_battle_events | Splat Zones | done | Using old image matching method |
| Game | ranked_battle_events | Tower Control | done | Using old image matching methodNo checkpoint detections yet. |
| Game | ranked_battle_events | Tower Control: Checkpoints | Need samples | |
| Game | special_weapon_activiation | code | done | |
| Game | special_weapon_activiation | ML | Need update | |
| Game | start: stage | code | done | |
| Game | start: stage | ML | partial | Need update |
| Game | start: rule | code | done | |
| Game | start: rule | ML | partial | Need update |
| Game | sub_weapon | WIP | ||
| Game | timer_icon | Read timer value | done | |
| Game | timer_icon | Read overtime status | done? | |
| result | judge | Win/Lose detection | done | |
| result | scoreboard | numbers classification | done | ML models needs to be updated |
| result | scoreboard | weapons classification | - | ML models needs to be generated |
| salmon_run | count | Read the egg count | done | |
| salmon_run | game_over | done | Detect failure of salmon run games | |
| salmon_run | game_start | code | done | Detect start of salmon run games |
| salmon_run | game_start | ML | Need update | |
| salmon_run | mr_grizz | code | done | Detect Mr. Grizz's directions, and trigger events |
| salmon_run | mr_grizz | ML | Need update | |
| salmon_run | norma | code | done | Detect how many eggs needed in the wave. |
| salmon_run | norma | ML | Need update | |
| salmon_run | player_status | code | Partial | Detect each players' status (dead or alive, weapon type) |
| salmon_run | player_status | ML | Need update | |
| salmon_run | result | code | Partial | Detect scoreboard |
| salmon_run | result | ML | Needs update | |
| salmon_run | session | done? | Manages salmon_run scenes (enable/disable scenes) | |
| salmon_run | wave_finish | code | done | Detect finish of the wave |
| salmon_run | wave_finish | ML | done | |
| salmon_run | wave_start | code | done | Detect start of the wave |
| salmon_run | wave_start | ML | done | |
| salmon_run | weapon_specified | code | Partial | |
| salmon_run | weapon_specified | ML | Need update |
Challenges for Splatoon 2
paint_tracker
- In Splatoon 1, the background color of paint counter was always black. it was easier to classify characters.
- In Splatoon 2, the background is transparent. Needs some ML approach to the same feature.
Inklings_tracker
- In Splatoon 1, all inkings shapes are very simple. IkaLog used simple algorithms to detect each status.
- Indicators in Splatoon 2 because more colorful. Needs new approach to detect inklings.
in_game
- In Splatoon 1, there is a timer icon that can be used for detection very easily.
- In Splatoon 2, we don't see any good static icons on the screen. Needs to find something different.
Number classification
- Splatoon 2 fonts are thin. If we use the original approach, confusion of 1/7 happens. Need some updates.
Map View
- In Splatoon 2, players can see the stage by pressing X button, it disturbs image recognition.
- We have an opportunity to detect "when/how long the player activated map view" and log as timeline events.
Console message
- Some messages, such as Friends online and Capture button, disturbs image recognition.
Other Challenges
Looking for new ML approaches
- SVM is the goal? Hmm, maybe it isn't. IkaLog runs 100+ classes classification real-time.
- Neural network? could be, but convolution is not applicable for the cpu-based application.
- IkaMatcher is actually fast enough (run in microseconds) in typical computers with x86 CPUs, if it is applicable and we can tune the parameters.
- OpenCV has SVM and MLP features, but it's python binding lacks (or limited) load/save of trained models.
- Python community has much ML modules but what we need is for ultra-fast, real-time detection.
- Each classifier need to run in sub-millisecond order in typical users' hardware!
- It also should work on non-powerful processors (such as dual-core ARM)