Linux version

Talk about anything related to Ghost of a Tale here.
Post Reply
TiloLinux
Posts: 1
Joined: Sun Apr 30, 2017 11:43 am

Sun Apr 30, 2017 12:18 pm

Hello. I've read the latest news here:
http://www.ghostofatale.com/interviews-en-francais/
I see you are bothering with Xbox One version. What about Linux? Since you are using Unity engine without platform specific plugins, i don't see any major technical issues here.

I did some reverse engineering with Unity 5.3.x two months ago and used your game (v1.93) as an example. I've done some experiments and tried to make it run on Linux naively.
It took a lot of time to develop special tools(decompress/parse *.asset files, D3D shaders(compressed with lz4), port to openGL and compress them back.
In theory it can be done with any Unity game. In practice, it can be too time consuming, so I've replaced only part of them(75/132 shader files) just to get a "proof of concept".

With original Unity project: Build->Select Linux->Build should work fine. Engine will "compile" all CG shaders to GLSL automatically.

There were some issues with Save/Load, because of "platform dependent '\\'.
For example:

Code: Select all

public string GetSaveFolderPath()
{
    string empty = string.Empty;
    string path = !Application.isEditor ? Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "\\My Games\\Ghost of a Tale" : Application.dataPath + "/Saves";
    if (!Directory.Exists(path))
    {
        GoatDebug.LogWarning("[SAVE] " + path + " does not exist, creating...");
        Directory.CreateDirectory(path);
    }
    return path;
}
A line: "\\My Games\\Ghost of a Tale" need to be replaced with "/My Games/Ghost of a Tale" or like other GOG games do: "/GOG Games/Ghost of a Tale".

As a result, game is fully completable and runs natively on Linux:
https://ibb.co/kvx485
FurFX, "Shader Forge mess", and some other shaders are left in fallback mode(pink color), due to time constraints.
My original goal was to research a performance cost of engine's abstractions(mostly on Linux platform), but that's another story...

As i mentioned above, i don't see any major technical issues here. Some testing is required, but Linux version requires a lot less effort than Xbox One. No certification, etc... Or are you planning to use some closed-source platform specific plugins in the final version of the game which are not available for Linux?
azymohliad
Posts: 1
Joined: Sun Jan 27, 2019 5:15 am

Sun Jan 27, 2019 5:20 am

Impressive research!

Just to contribute to a demand: I would also be very happy if the Linux version would be released.
Post Reply