Blood and Bacon
Aoi Blue Dec 25, 2016 @ 3:26am
Linux/Mac port?
The developer said that the game is using a custom engine running in C#.

If this is the case, the same process used to port it to Linux and Mac would also be the process used to port it to major consoles (excluding XBox, which supports a simple reoptimization of .Net based Windows games) and mobile devices.

Specifically, the porting to OpenGL/OpenAL and Mono instead of DirectX and .Net.

Depending on any middleware used there may simply be a drop in replacements available.

There are plenty of shader transcompilers that can convert most major Direct3D shader languages to OpenGL 3+, as well as OpenGL ES 2/3. Context and command cue handling isn't that hard to convert either.

I highly recommend using asynchronous renderer handling if it is an option, because they provide far better performance on OpenGL drivers that don't necessarily have the robust deserializer that Direct3D has.

I understand if you want to wait until the engine is upgraded for the next game in the series. Valve chose to do this with many of their games, and thus never released the first Left 4 Dead game for Linux, and all the Linux versions of the other games use the newer engine version from Left 4 Dead 2.
< >
Showing 1-12 of 12 comments
BigCorporation  [developer] Dec 25, 2016 @ 5:45pm 
Porting to Mac and/or Linux comes up from time to time.
Aoi Blue Dec 26, 2016 @ 12:35am 
Are you considering it?

It shouldn't be too hard, simply use Mono to build the port.

Depending on if you are using Raw D3D or middleware, depends on how much work to change rendering backends. (As well as if your code properly abstracts the rendering pipeline.)

It's pretty much the same stuff that has to be done to port to PS4, Wii U and Android.
Last edited by Aoi Blue; Dec 26, 2016 @ 12:36am
BigCorporation  [developer] Dec 26, 2016 @ 7:56am 
Sounds like a lot of work, we do not have any Linux or Mac systems licensed for development ATM.
Aoi Blue Dec 26, 2016 @ 9:01am 
Well Linux is a free download and will run on almost any modern PC. Most Linux developers work as administrators, and fix bugs in the platform as part of their job. Other ones work for hardware companies looking to sell their hardware to Linux clients, still more work for companies that provide enterprise level support for Linux users. The largest current contributor for Linux is currently google for the obvious reason of how many computers they have.

As of how much work it really is top port, it really depends on your rendering middleware and how it's written. There are plenty of libraries to port lightweight rendering systems that will convert your context calls and shaders. Sometimes your shader handling software will port the shaders for you. Sometimes if you have substantial middleware it will have OpenGL output already and you won't have to worry about any of that.

To put it in english, the only thing that needs to be converted is the rendering layer.

Specifically, the models and textures can stay the same but the shaders need to be somehow converted to "GLSL" code or "ARB" bytecode format (there are plenty of Free Open Source utilities to do this, they may be built into your IDE depending on which one you use, and may be in the C# libraries you are using), and the handling of setting of command queues and framebuffers to the video card (context control) also needs to be adapted. (This may be in the C# rendering libraries you are using, so you may need to do nothing here either.)

Mono, is basically a ECMA CIL specification stack for other platforms (basically another implementation of the same standard as .Net). It includes drop in replacement libraries for almost all the standard .Net Foundation libraries, including XSP, if that is the middleware you are using. It also includes additional libraries of it's own which can be run on .Net (Most notably GTK# and a shim interface to the popular Cairo 2D rendering library.). It usually will run drop in replacement, although sometimes it will run into problems with coding bugs that didn't cause problems on .Net.

Last edited by Aoi Blue; Dec 26, 2016 @ 9:03am
BigCorporation  [developer] Dec 26, 2016 @ 9:09am 
Well, unfortunately it is not our decision to attempt to port the game to another demographic or platform. That requires approval and contracts and all the copyrights to be released.
Aoi Blue Dec 26, 2016 @ 4:24pm 
Well, that's a bigger issue. So you'll have to just keep it on the table for when those who make the decision decide.

Thanks for explaining the situation, and let me know you are considering it.
BigCorporation  [developer] Dec 26, 2016 @ 5:59pm 
Originally posted by Aoi Blue:
Well, that's a bigger issue. So you'll have to just keep it on the table for when those who make the decision decide.

Thanks for explaining the situation, and let me know you are considering it.

Yeah, that's the situation of course....but it is an interesting topic.
Aoi Blue Mar 22, 2017 @ 4:10pm 
As a note, many licensed software and assets don't require Mac and Linux desktops to be a different "Platform" from PC unless you explicitly target tablet, phone or other mobile device.

They are generally considered a "desktop computing" compiler targets.

It does take some added work. Linux actually takes less work to target, contrary to popular belief. This is because it can often be built from a VM inside your Windows build machine (or visa versa) OS X does not have this option due to Apple's tight controls tying it's OS to it's hardware.

Both Linux and OS X do have the advantage of having high-profile technically adept users as a primary target, generally increasing the value of each customer when it comes to word of mouth advertising.
Blaster♡Linux May 16, 2017 @ 6:10am 
+Linux port
Mr. Panther Dec 9, 2017 @ 7:38pm 
Need this on my mac so bad. Every time there's a sale, I've been checking whether it was because of a mac/linux release...
Aoi Blue Dec 10, 2017 @ 2:05am 
I agree. They should seriously try to get an exemption on added base copyright fees from the companies.

I can give you a list of companies that have the exemption for Mac and Linux already in their contracts:
Unreal 4, (UDK unfortunately does not), Havok, Unity3D, id and Source Engine platforms all don't have added fees for Mac and Linux. The modules markets from Unreal, Havok and Unity 3D all treat all desktop platforms as a unified license target. id and Source engine don't have such markets last I checked.

If you are unsure, just contact the devs.
Last edited by Aoi Blue; Dec 10, 2017 @ 2:07am
BigCorporation  [developer] Dec 10, 2017 @ 5:27am 
Dual boot Mac works.
< >
Showing 1-12 of 12 comments
Per page: 1530 50

Date Posted: Dec 25, 2016 @ 3:26am
Posts: 12