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

Swordsman #31

Closed
akien-mga opened this issue Aug 9, 2021 · 2 comments
Closed

Swordsman #31

akien-mga opened this issue Aug 9, 2021 · 2 comments

Comments

@akien-mga
Copy link
Contributor

SteamDB link to the game

https://steamdb.info/app/364110/depots/

What is it being detected as and what should it be detected as? Any other information?

Detected as Godot, but doesn't seem to be. According to https://www.arcgames.com/en/arc-news/detail/3037993-announcing-swordsman the engine used was called "Angelica III" (in house?).

Additional information

That's another tricky one as it's not detected as something else and falls back on this rule for Godot:

package/data.pck

https://steamdb.info/depot/364113/

Similarly to #30, there's a huge amount of files which are not idiomatic at all for Godot games, though it might not be easy to define which exactly can safely be used to exclude Godot.

However, the data.pck is not placed next to the game executable, which can be a way to exclude this from the Godot rule set.

Godot pre 3.0 (3.0 mandates that the .pck has the same basename as the executable) looks for a data.pck in the same folder as the executable, or recursively in parent folders, so that this structure can still be a valid Godot game:

bin/mygame.exe
data.pck

But it doesn't look for data.pck in subfolders, so this structure can't work out of the box:

mygame.exe
package/data.pck

It can theoretically work as one can specify the path to the PCK on the command line (in Godot 3.0+ that would be mygame.exe --main-pack path/to/file.pck), but that's not really something that games would commonly rely on for their distribution (and it would require either a custom Steam run command, or a shell or batch script).

@akien-mga
Copy link
Contributor Author

Similarly to #30, there's a huge amount of files which are not idiomatic at all for Godot games, though it might not be easy to define which exactly can safely be used to exclude Godot.

Worth noting: Having a gazillion files might not be a safe rule to exclude Godot games. This one is made with Godot and ships a ton of its game scenes, code and assets as readable outside the .pck: https://steamdb.info/depot/1311141/ (presumably so that they can be modded).

@larsiusprime
Copy link
Collaborator

Hm, so here's the rule we're going with for now in my Godot PR that seems feasible to implement:

  • If it has exactly one PCK file and it's data.pck, we rule it in as Godot (will look at the false positive rate and review this choice)
  • If it has more than one PCK file, we try to pair each pck file with a known executable file using the extensions .app, .exe, .x86, or .x86_64. We do not care what directory any of the files are in, just the basenames, for the current iteration. If there is a single pck file that does not perfectly pair with a known executable file, it is ruled out as being Godot.

Based on this it looks like (https://steamdb.info/depot/1311141/) will pass the Godot test, but (https://steamdb.info/app/364110/depots/) will not.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants