Author Topic: Linux  (Read 100 times)

Tchey

  • Full Member
  • ***
  • Posts: 140
    • View Profile
Linux
« on: July 11, 2017, 03:33:45 am »
Hello,

I know you will do Linux at release like you said, and did, for you previous game, and it's great. Somehow sad not to be able to be part of the testing phases, but it's not a big deal, if Linux is well commited then.

I open this only to gather the players who would play it on Linux.

What's your systems ?

My system (from 2015, no hardware upgrad since) :

I use PlayOnLinux/WINE to play a few Windows games, but the vaste majority of them are Linux-friendly.

Linux Mint 18.2 64bits Xfce
Intel Core i5 4590 (4 x 3,3 GHz)
MSI GeForce GTX 960 @ 2 Go
Drivers NVIDIA 375
8 Go DIMM DDR3 PC12800
Screen 16/9 24" LED 1920x1080
Keyboard b├ępo (dvorak fr) / Mouse Logitech MX518
Joystick Logitech T16000 / Gamepad XboxOne USB


ai_enabled

  • AtomicTorch Founder
  • Hero Member
  • *****
  • Posts: 988
    • View Profile
Re: Linux
« Reply #1 on: July 11, 2017, 04:54:04 am »
Hello,

I'm not sure if we promised support for Linux at the release time - I cannot find any mention of it. But right, we would like to provide support for Linux as soon as possible.

There are multiple problems this time. First, we're a smaller team now (only one programmer, actually). Secondly, we've changed our client engine of choice to MonoGame (well, actually it's a in-house tech - Renkei engine - built on top of MonoGame, and we could switch MonoGame to something else if feels necessary to do so). MonoGame itself is cross-platform, but we decided to use DirectX for Windows as the easiest way to develop our game, so adding OpenGL support (as required for Linux) will take a considerable effort. Ideally, we would like to switch on Vulkan - it's a modern cross-platform library, but it's not supported well enough yet (I mean drivers, C# wrappers, cross-platform shader compilers).

Thirdly, we lifted the bar of modding capabilities of the game by providing completely open source gameplay assets and code. It means all the assets are come with the game (Core.cpk) in their raw form (no pre-cooked texture atlases, no custom file formats) and baked into the required format by the game engine itself when needed (with caches for faster loading next time). It also allows the game to listen to the file system changes and hot-reload changed files (all of file formats are already supported). It means that we're shipping the C# (.cs) and shader (.fx) code compilers together with the game. The bad news is that currently MGFX (MonoGame FX shader compiler) is working with two different formats for shaders - one uses HLSL and another GLSL (for DirectX and OpenGL, respectively). It means there is no single compiler which will work with .FX files supplied currently with the game on both Windows and Linux. Duplicating shaders on both shader languages is something we need to avoid at any cost (it will complicate development and modding), so we have only a few options - wait until MonoGame team implement support for HLSL shaders compilation on non-Windows platforms or switch to Vulkan, rewrite our current shaders and use the Vulkan shader compiler (which is cross-platform). The MonoGame team also have plans for adding Vulkan support to MonoGame so maybe this is a way to go.

The good news is that Microsoft will ship .NET Core 2.0 very soon which is an absolutely amazing re-implementation of .NET Framework - with better performance, completely open source and cross-platform. In theory, it might allow us to make a single build of the game which will run everywhere (if we include .NET Core runtime with the game for all the OSes we're going to support). And it's much faster and more stable than Mono, with the best ever support from Microsoft and community.

Also, NoesisGUI much improved over last years so we can expect great stability and performance this time (with VoidExpanse it was very rough for a few months after release).

Regards!
« Last Edit: July 11, 2017, 05:07:34 am by ai_enabled »