Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Generate car and track list from game files #43

Open
abesto opened this issue May 14, 2022 · 2 comments
Open

Generate car and track list from game files #43

abesto opened this issue May 14, 2022 · 2 comments
Labels
help wanted Extra attention is needed

Comments

@abesto
Copy link
Owner

abesto commented May 14, 2022

I've spent about an hour spelunking in the game files, and failed to find where the list of user-readable track + car names live.

We'd have to generate the lists "manually", and still ship data with the app as we currently do.

@abesto abesto added the help wanted Extra attention is needed label May 14, 2022
@abesto
Copy link
Owner Author

abesto commented Jun 14, 2022

Progress! 308199a adds the rudiments for reading car and track data from game files. We'll need to massage this data a whole bit to fit into our vision of a career. For reference (at the mild risk of a copyright boo-boo):

There's a lot here to digest and make sense of, but at least we now have access to the data.

@abesto
Copy link
Owner Author

abesto commented Jun 16, 2022

Capturing a few things that stand out, and ideas without really considering which ones are actually worth working on.

Both cars and tracks

  • These files don't contain information about which DLC (or the base game) the car or track is part of, so it doesn't immediately provide an easy way of adding a "what DLCs do you own" selection.
  • Now that we're looking into game files, I guess we could consider extracting the images for the tracks and cars, showing them on the app UI.
  • There's a Year field on both tracks and cars. This could allow us raising the probability (or maybe even enforcing) that cars race on tracks that roughly match their time period. The sane way is probably drawing a 10 (?) year long box starting at the Year, and allowing races (or increasing probability of the combo) if there's an overlap. We'd also need a good-enough solution for "different cars in a class have different Years" (like: use the union of their 10-year-long boxes). We'd probably also want a Settings checkbox to toggle this restriction (probably default to true).
  • There's a Region and Country field on both cars and tracks. Country can be good for flavor, but Region we could conceivably use to restrict where lower (non-international) tiers of cars race. This is one where I'd definitely want to have a Settings checkbox to toggle this restriction (probably default to true).

Tracks

  • The tracks don't have a human-readable name in these files. I guess I'll need to look around a bit more in other files to find those.
  • Most fields seem to be not very useful for our purposes.
    • Maybe Length can be interesting for flavor.
    • TrackGradeFilter and Track Type may be interesting for flavor / informational purposes, but it doesn't seem like they match the level of granularity we need for "what races where" decisions.

Cars

  • Vehicle Group seems to not map well to our Disciplines, we'll likely need to maintain the Class - Discipline mapping. But we'd need to do at least some of that anyway, since there is no data for a sequence / progression in the game data inside a given Vehicle Group.
    • There is a Tier field in the data, but it's currently set to 5 for each car. I guess this may play into a future in-game career mode. There's also a Price field, but it seems to be very ad-hoc and not well populated for most cars.
  • Vehicle Class seems to map very well to our Classes. The names in this data file are not human-readable, and there are a few ones that we'd need to alias anyway, like Mclaren_MP46 is a class of its own. So the way I imagine this being used is introducing a new translation layer between "AMS2 Vehicle Class" and "Career Mode App Class". That would free us from manually classifying each car.
  • I don't see data in here about whether the car has headlights (i.e. whether it can race at night), we may need to keep maintaining that data manually for the time being.

I feel like we're getting into territory where input from Reiza would make our lives significantly easier, and by the way, mining game files and hosting that data is kind of a gray area, so I'll likely send off a mail / message to them about those two things.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

1 participant