Hello tuxedo giants,
With the help of Raven67854 (co-host of the Offtopical Podcast and fellow gamedev) I compiled a list of resources for Linux Game Developers. It covers topics such as Streamers and Youtubers, using Unity, Services (people porting or offering porting services) and more. I’m hoping that with this resource list I can aid other game devs that are bringing their games to Linux OR give a bit more of a nudge to those who are on the fence about doing it! It’s not a complete, exhaustive list, but it should help getting you started on the journey! We need more native games on the platform, now more than ever!
Unity for Linux Developers
I published an article on this blog a few months ago about using Unity on Linux in 2019 and I was quite rough with it. For my last two projects, Farm Life and Space Mercs, I’ve been using Unity exclusively – the 2018 edition and it’s been wonderful. Marc (mdiluz) reached out to me after the article and pointed out some problems with my approach towards Unity’s “Stable” builds and the fact that the one I should use is the “experimental” 2018 version and let me say, it’s a huge difference. I will rebute the previous article soon enough but until then here’s where to get the latest Unity Hub version together with my overview on the situation!
- Download Unit Hub 1.6.0 for Linux from here: https://forum.unity.com/threads/unity-hub-v-1-6-0-is-now-available.640792/
- Install the 2018.4.0f1 official release version
- 2019.1.2f1 seems to have problems with built-in packages like TextMesh Pro and the LWRP. All the errors you get on start require you to remove all the packages installed by default. I’m looking to upgrade my projects from 2018 to 2019 and I’ll update this bullet list with an article on what I did soon!
Unity 2018 is mostly stable for me with little to no crashes and really decent performance, at least compared to the 2017 version. I’ve used it to port Farm Life to linux and exclusively to work on Space Mercs with little to no problems. There are a few issues tho’, like trying to close Unity windows which requires a lot of fiddling with the mouse. But overall the performance is almost on par with the Windows counterpart. Note one thing: It does not ship with MonoDevelop or any other text editor. I recommend doing the following:
- Download Visual Studio Code from here: https://code.visualstudio.com/docs/setup/linux
- They have .deb, .rpm, snap packages and even a repo to use!
- Install the .NET Core SDK on your distribution based on the article here: https://dotnet.microsoft.com/download/linux-package-manager/ubuntu18-10/sdk-current
- There are guides for Red Hat Enterprise Linux, Ubuntu 18.10 to 14.04 (19.04 is not covered yet and there are a few problems with getting it to work on 19.04 due to missing packages – to be fixed soon), Debian 9, Fedora 27 and 28, CentOS, OpenSUse and SLES! Should cover most of your needs!
- Open up the Unity editor and go into Edit -> Preferences -> External Tools tab
- From External Script Editor click the drop down menu and select browse. Navigate to your the binary for Visual Studio Code and select it
- if you don’t know where the binary for Visual Studio Code is located, open up a terminal and do: which code
- normally it should be under /usr/bin/code
- Create a new script inside Unity’s Project Browser and double click on it. VSCode should pop-up and work properly!
- From External Script Editor click the drop down menu and select browse. Navigate to your the binary for Visual Studio Code and select it
Unity seems to have really picked-up the pace with development and with the 2019 edition reaching preview status Linux is really close to becoming a first class citizen. I can, finally, wholeheartedly recommend it!
Porting your games to Linux
Linux needs more native games! I love Proton and what Valve are doing with it but using Proton doesn’t guarantee full support and games working on it at this point can break in the future with updates and due to middleware support (see the EAC scandal). I’ll say it, Proton is amazing, but native support is better! Depending on the technology your game is based on, porting to Linux can be as simple as outputting a build for it with the click of a button (Unity) to just compiling it on Linux directly. In other cases you really need to dive deep into the code and change quite a few things. Luckily, there are many solutions and services to aid you here – including hiring someone who specializes on that! We’ll start with this.
At this point in time I know of a few developers who specialize in this and, with my interactions with them, can recommend them for this task:
- Cheeseness
- Website: http://cheesetalks.net/
- References: Porting Day of the Tentacle, Talk on porting to Linux (and slides)
- Ryan C. Gordon (Icculus)
- Website: https://icculus.org/~icculus/
- References: Steam Dev Days – SDL2 and Getting Started with Linux Development. His resume (nascar jacket) of porting work
- Ethan Lee
- Website: http://www.flibitijibibo.com
- References: Super Hexagon, Capsized, Rogue Legacy! Active developer on FNA and Proton!
- Timothee Besset
- Website: https://about.me/TimotheeBesset
- Refferences: RocketLeague, Quake Live – mostly unreal engine from what I gathered.
As for known studios, there are quite a few you could reach out to! There’s Aspyr Media (Civilization VI, Start Wars Knights of the Old Republic, Geometry Wars, Broderlands 2), Feral Interactive (DiRT 4, Rise of the Tomb Raider, Hitman, Deus Ex), Abstraction Games ( Danganronpa ), RuneSoft (Ankh).
Twitter user @hardpenguin13 maintains a Github repo with a more comprehensive list of Studios and Developers porting games to Linux!
For resources, here’s a compiled list of articles and videos that can help you get started!
- Building for Linux the smart way [Article – Leszek Godlewski]
- Game Development with SDL2 [Video – Ryan C. Gordon, Slides ]
- Getting Started with Linux Game Development [Video, Ryan C. Gordon, Slides]
- Porting to Linux at Linux Conf Australia [Video – Cheeseness, Slides]
- Linux/SteamOS Game Development [Video – Ethan Lee, Slides]
- Cheeseness talking with Ethan [Article – interview style! Good resources and points of view on technology to use]
List of Linux Gamecasters/YouTubers
First thing’s first, the reason this list was compiled. Besides, the wonderful linux news website, GamingOnLinux I did not know other places or people (Influencers. let’s call them that) with whom to speak to put more eyeballs on my latest project. As such I reached out to Raven67854 to see if he can aid me. And he did, so be sure to thank him dearly on twitter. This is a list of Linux streamers and youtubers that can put some eyeballs on your game after you brought it to Linux!
JakeJw93 YouTube: https://www.youtube.com/user/Jakejw93 Twitter: https://twitter.com/jakejw93 Xpander69 YouTube: https://www.youtube.com/user/Xpander666 Twitter: https://twitter.com/Xpander69 Mastadon: https://mastodon.social/@xpander69 Snowdreike YouTube: https://www.youtube.com/user/snowdreike Twitter: https://twitter.com/snowdreike HexDSL YouTube: https://www.youtube.com/user/hexdsl/ Mastadon: https://linuxrocks.online/@HexDSL Eegee YouTube: https://www.youtube.com/user/EtherealGaming1 Twitter: https://twitter.com/egee_irl Penguin Recordings YouTube: https://www.youtube.com/user/PenguinRecordings Twitter: https://twitter.com/Sabunator GamingTux YouTube: https://www.youtube.com/user/GTuxTV Twitter: https://twitter.com/gtuxtv Holarse YouTube: https://www.youtube.com/user/holarse Twitter: https://twitter.com/holarse Gotbletu YouTube: https://www.youtube.com/user/gotbletu/ Linux4UnMe YouTube: https://www.youtube.com/user/Linux4UnMe/ sneekylinux YouTube: https://www.youtube.com/user/sneekylinux Twitter: https://twitter.com/sneekylinux quidsup YouTube: https://www.youtube.com/user/quidsup Twitter: https://twitter.com/quidsup Ghost67Linux YouTube: https://www.youtube.com/channel/UCglkWuyZDppWD2BVsyI4r3A ChrisTitusTech YouTube: https://www.youtube.com/user/homergfunk Twitter: https://twitter.com/christitustech SwitchedToLinux YouTube: https://www.youtube.com/channel/UCoryWpk4QVYKFCJul9KBdyw Twitter: https://twitter.com/switchedtolinux GasGregor YouTube: https://www.youtube.com/user/DasGregor Twitter: https://twitter.com/DasGregor JoeCollins YouTube: https://www.youtube.com/user/BadEditPro Website: https://www.ezeelinux.com/ DistroTube YouTube: https://www.youtube.com/channel/UCVls1GmFKf6WlTraIb_IaJg Mastadon: https://mastodon.technology/@distrotube Bryan Lunduke YouTube: https://www.youtube.com/user/BryanLunduke Website: http://www.lunduke.com/ Twitter: https://twitter.com/BryanLunduke Mastadon: https://social.librem.one/@lunduke TheLinuxGamer YouTube: https://www.youtube.com/user/tuxreviews Twitter: https://twitter.com/thelinuxgamer Mastadon: https://social.librem.one/@gbryant GamingOnLinux YouTube: https://www.youtube.com/user/GamingOnLinuxcom Twitter: https://twitter.com/gamingonlinux Mastadon: https://mastodon.social/@gamingonlinux Website: https://www.gamingonlinux.com/ Level1Tech YouTube: https://www.youtube.com/user/teksyndicate Twitter: https://twitter.com/Level1Techs Website: https://www.level1techs.com/ The Linux Experiment YouTube: https://www.youtube.com/channel/UC5UAwBUum7CPN5buc-_N1Fw Twitter: https://twitter.com/thelinuxexp Linux4Poets YouTube: https://www.youtube.com/channel/UChAZdofPrVJ4i2aXbLm_V3Q KyLinux Cast YouTube: https://www.youtube.com/channel/UC30WrT9v3qc4UCmDtIyH3ww InfinitelyGalactic YouTube: https://www.youtube.com/user/InfinitelyGalactic Twitter: https://twitter.com/ingalactic DwangoAC YouTube: https://www.youtube.com/user/dwangoAC Twitter: https://twitter.com/MrTASBot ChrisWereDigital YouTube: https://www.youtube.com/channel/UCAPR27YUyxmgwm3Wc2WSHLw Mastadon: https://linuxrocks.online/@ChrisWere Destination Linux YouTube: https://www.youtube.com/channel/UCWJUSpXVHTaHErtGWC5qPlQ Website: https://destinationlinux.org/ Linux Gamecast YouTube: https://www.youtube.com/user/linuxgamecast Twitter: https://twitter.com/VennStone Website: https://linuxgamecast.com/
We opted to include public means of contact in the form of twitter/mastadon or their website’s contact form instead of providing a list of e-mails that can be used to spam them.
I hope this list is going to help you get started with bringing more games to Linux! Like I said in the begining – we can never have too many native games! As for me, I hope you are all aware of my Linux 1st Initiative and methodology behind my games. You can help support this initiative by becoming a patreon subscriber, and get some amazing Linux games in the process!
Good luck Giants!