Show HN: A football/soccer pass visualizer made with Three.js
statsbomb-3d-viz.vercel.app
It uses open data from StatsBomb to analyse and visualise passing patterns, allowing users to explore and filter the data by pass distance, team and players.
statsbomb-3d-viz.vercel.app
It uses open data from StatsBomb to analyse and visualise passing patterns, allowing users to explore and filter the data by pass distance, team and players.
https://github.com/statsbomb/open-data
Part of the soccer data is us going back and collecting every Lionel Messi game, and we started doing the same for Tom Brady in American football here:
[1] https://tombradytds.com [2] https://tombradytds.com/viz.php
After loading it, I don’t quite understand why you use threejs. Because you also use a heat map to show the height of the pass. The passing route on whoscored seems more intuitive.
They provide higher level visualization primitives and are optimized for performance with large datasets. They would also allow you to try out different visualization methods more easily, or even overlay multiple ones.
Both packages allow for very fast prototyping (with kepler.gl, you might be able to mock up something with no code at all), so trying out this approach shouldn't involve an enormous amount of work.
Good luck!
Also, I wonder what the best way to get insights out of this data is -- feels like exploration is the first step, but adding value on top would be really great.
OK, I'll stop brainstorming :-) Cool visualization!
Also, combining this with real-time in-game camera play could be really powerful, too[0]. Like illuminating details during the game.
- https://github.com/statsbomb/open-data/blob/master/data/events/15956.json
- https://github.com/statsbomb/open-data/raw/master/data/events/15956.json
- 15956.json
None of them worked. It would be good if the field already had an example filled in with the expected format, or maybe a better hint in the error message indicating why the file was not loaded. Was it my URL or another internal problem?Still, it is a very interesting demo, and just like airstrike suggested (https://news.ycombinator.com/item?id=41096570), now that the main engine is in place, more filters would be make this even more interesting. Well done.
https://raw.githubusercontent.com/statsbomb/open-data/master...
This should work!
Like a “try example button”
Lower friction to test
Are others working around this somehow or is it just an issue for me with two browsers for some reason?