ErlerPhilipp / dr2_logger

A logging and analysis tool for Dirt Rally 2.0
MIT License
21 stars 5 forks source link

Thanks for all the fish. Also, is this still in development, interest in PRs? #19

Closed guiocm closed 5 months ago

guiocm commented 2 years ago

Hey, first of all I'd like to thank you for the project. I'm getting into analyzing race data, and even though I'm trying to figure out how to use MoTeC i2 as well, your application is very simple to use, and allows a quick loop of racing and checking the data, which is very cool.

Now, I have mainly two questions: the app saves telemetry data automatically to an autosave folder, ~but I couldn't figure out how to load this data to generate plots from runs older than the very last one. Is this implemented?~ Just noticed there's a load command...

My other question would be if this project is still active / if you're still interested in developing it. I don't know how much time I'd have for it, but I could probably contribute. We could either discuss this and check what to do next, or if you'd prefer I can fork the repo and work on it autonomously.

Thanks again, Guilherme Marques

ErlerPhilipp commented 2 years ago

Hi @guiocm! I'm glad you find it useful. I also had a look at MoTeC but I found in unnecessarily complex, at least for my usage.

I'm still available to support this project but I'm currently not available for further development at the moment. I'm a bit pessimistic about the future of the Dirt Rally series. I thought about programming support for Project Cars 2 but that would take a while. Both games are not being developed anymore and I don't see anything viable coming soon.

If you're interested in developing this project, I'm happy to help you. One suggestion for an easy addition to the repo: I think I solved some of the open issues in the dev-branch but apparently, I was too lazy or it wasn't finished so that I didn't merge it into the master branch. If you could check and test the last commits on dev branch and create a new release, that would be awesome.

We can arrange a meeting so that I can explain the code to you and to exchange ideas, if you want.

albu-alex commented 5 months ago

Hello! @ErlerPhilipp @guiocm

If there is still some interest for this app, I would be more than happy to jump in and help with whatever I can

ErlerPhilipp commented 5 months ago

@albu-alex your help would be very welcome. Nothing changed since my comment above. The offer to arrange a meeting still stands. Do you have any specific interests?

albu-alex commented 5 months ago

@ErlerPhilipp glad you responded so quickly, thank you! I would like to further expand this library to also have a frontend to it, to better show the graphs that the Python code generates. Also, I would like to explore if I can map more data from what is captured or to see if this project could be adapted to read even more data from the game.

ErlerPhilipp commented 5 months ago

Any ideas for the frontend? I thought about something like a 3D replay with annotations (e.g. bottom out) before, but that would be a lot of effort. You could try Visdom (https://github.com/fossasia/visdom) for way better and interactive plots.

All data that comes from UDP telemetry should already be captured. If you want more data, you'd need to capture it in a different way, e.g. screen recording. See source/dirt_rally/udp_data.py for available data per package.

For more data mapping/processing, you can check the open issues for ideas. I'd be happy to discuss these things with you. This was the most interesting part implementing this tool.

albu-alex commented 5 months ago

Thank you for all the insight. The only idea that I had for the app for now was to show the captured data in real time in a browser/or a mobile app, not just in the console. It is a bit difficult to follow while racing and I think that a frontend solution would greatly improve this.

About the 3D replay, I don't quite understand what you tried to say there. Can you provide some more context for it?

ErlerPhilipp commented 5 months ago

I think you could update the data in matplotlib to get a somewhat interactive experience. Visdom would certainly be better. Or maybe try your own rendering.

3D replay: I imagine this like the in-game replay in most racing games, but with extra information. E.g. you see the car (proxy geometry) in 3D, a minimap, a time slider and telemetry data for each recorded point in time (each UDP package). Additional information could be e.g. where the car bottomed out, lost contact with the ground, crashed, had badly used turbo charger... On the downside, we don't easily get the track geometry, so the car would just float in the void. Maybe, you could extract the track data from the game but it's probably quite complicated.

albu-alex commented 5 months ago

Yeah, I will take a deeper look into this. The feature would be awesome, but definitely a challenge. I will reply in this thread if I have more questions related to this topic. Thank you again and great work with the tool!

ErlerPhilipp commented 5 months ago

If you're interested in the fundamentals, I was thinking about switching from Numpy to Pandas. This should make operations on time series much easier. Anyway, thanks for your interest.

Please open a new issues, so it stays on topic. I get notifications in any case.