Pelikehittäjä: tuo pelisi Linuxille!

Pelintekijä – oletko ajatellut portata tuotoksesi ajan hengessä Linuxille? Linux ohitti käyttäjämäärissä Applen macOS:n pelikauppa Steam:issa.

*

®LINUX-SAUNA tuotantoa

      

Pääasioita

1. Tuki yhden vakiintuneen Linux-jakelun lähtökohdista riittää. Vaikkapa se hyvin tuettu (ja tukea antava) Ubuntu Linux. Linux Mint perustuu Ubuntuun myös.

2. Kun teet peliäsi ja haluat Linuxin tuetuksi – varmista tarvitsemasi tekniikat (esim. pelimoottori) ja niiden Linux-tuki.

3. Steam ja sen Steam Runtimerakenna sitä vasten. Kotoperäinen porttaus Linuxille kannattaa pitkällä tähtäimellä. Proton on kuitenkin usein taivaan lahja. Virallinen tuki pelillesi on avainsana mitä tekniikkaa käytätkin.

4. Pressure Vessel Steamissa on yksinkertaistettu säiliö juuri peleille johon voi sisällyttää kaiken tarvittavan (ja jota Steam Runtime sitten hyödyntää). Tämän lukeminen voi olla hyödyksi.

5. Steam tarjoaa peleille Runtime-suoritetyökalut eri tyyppisille pelirakenteille näitä eri versioita ovat Sniper, Soldier ja Medic.

6. Linuxin peruskehitystyökalut kuten Make-apuohjelma, g++ ja gcc ovat Build Essential -paketissa. Avaa Ubuntun kauppa AppCenter (tai muun jakelun vastaava ohjelmistokeskus itse käyttiksestä) ja asenna se sieltä.

7. Linux-yhteisö on apunasi aina – kysythän rohkeasti ilman aatoksia tyhmistä kysymyksistä.

8. Varmista Steam Deck -pelattavuus. SteamOS on Valven oma Linux joka perustuu Arch LinuxiinSteamOS 3:Sta EI ole vielä julkaistu työpöydälle!

9. Alustariippumattomuus merkitsee vapautta ja käytännöllisen kaunis asia tekniikassa.

10 Kun ajattelee käytettävyyttä ja ergonomiaa – on viisasta testata peli Steam Deckillä jos mahdollista.

Pelimoottorit

Nämä pelimoottorit tarjoavat tuen Linuxille. Vapaiden pelimoottorien tuki on plussaa jos jokin niistä kattaa tarpeet pelisi tekemiseen.

Unity-pelimoottori lankesi hiljan itse pelien kehittäjiä vahingoittaviin käytäntöihin – vapaata Godot -pelimoottorille kannattaa antaa mahdollisuus. Siihen suuntaan ilmenikin lopulta muuttoliike.

Usein käytetyt työkalut

  • gDEBugger – virheenjäljitin (OpenGL-koodi)
  • FreeType – kirjasinten hahmonnus Linuxissa
  • Fontconfig – kirjasimien määritys
  • PerfStudio – virheenjäljitin (kehys) – tukee AMD-näytönohjaimilla ohjelmointirajapinnan seurantaa
  • NVIDIA Nsight – virheenjäljitys (Nvidia) – Visual Studio
  • Miles Sound System – äänimoottori Linux-kehitykseen
  • QtCreator – ohjelmointiympäristö  (virheenjäljittimellä) / näppäinmääritykset Visual Studiolle
  • Bink Video – pakkausohjelma videolle
  • WebM – avoin tiedostomuoto medialle
  • Zoom – CPU-profiloija

Steam Runtime

Tarkista aina ensin Steam Runtime ajoympäristö – se on yhteensopiva ajettavien binääritiedostojen kanssa.

Pelin vienti Linux-muotoon on useimmiten ongelmatonta ellei jossakin kohdassa tee jotakin käytännön virhettä omasta takaa. Pyydä aina Linux-yhteisöiltä apua ongelmien ilmetessä.

Laajempi katselmus

Linux toimii eri tavalla kuin Windows – Linux koetaan kuitenkin kehittäjien keskuudessa usein kehitystyössä helppokäyttöisemmäksi.

Kun Linuxin käytännöt sisäistää – useista jakeluista huolimatta – niitä kaikkia EI tarvitse tukea erikseen. Linux on Linux ja paras Linux on ”Sinux” 🙂

Linuxin markkinaosuus ja kaikenlainen käyttö lisääntyy – on otollinen aika tähdätä pelienkin kohdalla kotoperäiseen tukeen.

Steam-pelikauppaa ei voisi korostaa liikaa. Steam suoraviivaistaa asioita ja Linux-tuki Valven puolesta on ensiluokkainen.

Valve tukee vahvasti Linuxin nousua pelialustana (Microsoftilla on aikeita rajata pelit omien muuriensa sisään – he ostavat pelitaloja haltuunsa kiihtyvästi).

Tämä taho mm. Steam-kaupan, Counter-Striken takaa astui siis Microsoftin aikeita vastaan ennaltaehkäisevästikin – ja on onnistunut Microsoftista riippumattoman tulevaisuuden turvaamisessa.

Esimerkkeinä toimivat hyvin kannettava Linux-pelikonsoli Steam Deck sekä yhteensopivuuskerros Proton jonka kautta vain Windowsille tehtyjä pelejä voidaankin pelata Linuxilla. Jopa paremmalla suorituskyvyllä!

Virallinen Linux-tuki on kuitenkin asioiden ytimessä (kirjaimellisesti)- ajetaan peli sitten perinteisesti – taikka Proton:in kautta. Kotoperäisyys on ihanteellinen valinta – kunhan porttaus on sen tiimoilla laadukas.

Kotoperäiset portit automatisoituvat luonnostaan Linux-pelaajien lisääntyessä. Alustariippumattomuudessahan käyttäjä voi valita minkä vakiintuneen käyttöjärjestelmän haluaa – pelien toimien yhtenevästi.

On kosolti väkeä jotka ovat todenneet käyttävänsä Microsoftin Windowsia enää vain esim. jonkun yhden pelin takia. Proton mahdollistaa siirtymää käyttäjälähtöiseen Linux-käyttöjärjestelmään.

”On mukava päättää itse mitä omassa tietokoneessa tapahtuu”.

Steam-pelikaupan ulkopuolella

Snapit, Flatpakit ovat paketointeina uusia yhdentäviä ratkaisuja.  Nämä ovat yhteensopivia vakiintuneiden Linuxien kanssa. Näitä voidaan hyödyntää pelien jakeluun Steam-kaupan ulkopuolella.

Nämä uuden ajan paketoinnit merkitsevät suoraviivaisuutta ja ne siunaavat samalla omaa jaksamistasi. Flatpak-tuki Ubuntuun tästä. Snap:it ovat Ubuntussa vakio.

Muistutus muinaisesta: vältä ehdottomasti PPA-lähde sudenkuoppaa. Sitä ehdotellaan ”ratkaisuna” edelleen. PPA-mallia ei oltu koskaan tarkoitettu pakettien laajaan levitykseen.

Voit nyt toimittaa yhden paketin joka voidaan ajaa kaikissa Linuxeissa.


Snap-paketin rakennus. Myös video (Alan Pope, ent. Canonical).

Flatpak Builder:illa teet Flatpakin.

AppImage Builder.


Huomio: AppImage ei tue Wayland-ikkunointiprotokollaa (kehittäjän valinta – mutta kehitys vie väistämättä  X-ikkunoinnista juurikin Waylandiin).

Voit sisällyttää näihin paketointeihin kaikki tarvittavat kirjastot (kuten glibc ja libstdc++) – jotta peli voidaan ajaa sellaisessakin Linux-jakelussa jossa sen omat kirjastot sattuvat jo olemaan vaadittua tasoa vanhempia.

Steam Runtime -ympäristön lähtökohtaista käyttöä ei voisi liikaa korostaa. Pelin jakelu Steamissa kannattaa volyyminkin takia. Kehittäjiä hellivä Itch-kauppa on myös tässä hyvä mainita.

Mikä Linux olisi tuo ”Sinux”?

Monia jakeluja voi testata suoraan selaimessa DistroSea:ssa.

Valinnanvaikeuden kohdatessa – Ubuntu ja Linux Mint (joka perustuu Ubuntuun) ovat toimineet ystävällisinä portteina lukemattomille. Ubuntu on maailman käytetyin Linux verrattomalla tuella.

 


“Linux-jakelu joka tukee Steam-pelikauppaa on ainoa lähtökohtainen vaatimus.


Onko Proton (tai Wine) kotoperäinen / natiivi?

Tämä yleisestä poikkeava katsantokulma jakaa monien propellihattujen mielipiteet palstoilla varmasti – mutta entä jos toteankin: Proton/Wine on Linuxille aivan kotoinen ratkaisu. Tarkennetaan:

Proton- (tai sen pohja Wine) eivät ole emulaattoreita. Kyse on avoimen ohjelmakoodin työkaluista jotka mahdollistavat vain Windowsille tehdyt sovellukset Linuxissa.

Mikäli pyrkii viralliseen Linux-tukeen (jopa jättäen Windows-tuen kokonaan pois) – tämäkin olisi yllättäen järjellistä.

Kuinkako niin? Voit kuulla Tux-pingviinin kikatuksen tänne asti mikäli Microsoft toimittaa Windowsille päivityksen joka rikkoo pelin siltä istumalta – mutta jatkaa edelleen toimivana Protonin kautta Linuxissa..

Suorituskyky

Pelin suorituskykyyn vaikuttaa eniten näytönohjain / sen ajuri sekä suorittimen mikrokoodi – ei niinkään jokin Linux-ytimen päälinjan (mainline) versio. Mainitaan tässä myös Linux Zen -ydin.

Suorituskyky ei liity suoraan jakeluunkaan. Ei ole merkitystä onko käytössä Arch Linux vaiko Debian Linux. Kyse on lähtökohdista – mitä jakeluun mukaan on laitettu ja miten – siis vakiollisesti. Siitä vain muksaamaan tai ”rikkomaan” – mutta liian kanssa ollaan ilmeisesti sitten väärässä jakelussa?

Linuxin Suomipomo Linus Torvalds (joka asustaa nykyään kuitenkin Yhdysvalloissa) on usein ärähtänyt: käyttäjätilaa (userspace) ei saa sotkea. Tämä lähestymistapa on todettu historiallisesti mallikkaaksi yhteensopivuuden kannalta.

LUL

 

Yhteisön Voima (käytä sitä – totea se)

Hyödylliset virheilmoitukset ovat oletus Linuxissa. Pingviinit ovat oppineet kaivamaan lokitietoja kun jonkin odottamaton tapahtuessa. Yhteisö voi auttaa korjaamaan asioita nopeasti ja tehokkaasti sinulle.

Käyttöjärjestelmän käynnistyksen ilmoitukset (ja muut ytimen tuottamat asiat) saa näkyviin kohteesta /var/log/messages käskien:

cat /var/log/messages
Proton-pelille saa tuotettua lokikirjaukset (kotikansioon) pelikohtaisesti laittamalla käynnistyskäskyn riville Steamissa:
PROTON_LOG=1 %command%
Itse Steamin lokikirjaukset ovat kohteessa:
~/.local/share/Steam/logs

Porttaus ja tuki

Kotoperäiselle tuelle on hyvä syy.
Esimerkkinä: jollekin pelille tulee päivitys joka ei otakaan huomioon Linuxin asemaa teknisesti jollakin osa-alueella – yhtäkkiä yhteistyö on kaput ja peli ei käynnisty.

Eihän se lämmitä jos on ostanut kalliin pelin ja vastaus ongelmatilanteessa on ”sori bro toi sun juttus ei o tuettu”. Edellä esitettyjen avujen johdosta tuki Linuxille on nykyään pitkälle valintakysymys.

Proton on mullistava mutta jos kehittäjät tietävät hyvin perinteinen Linux-porttaamisen säilän (kaikki toiminnot 100% mukana) – sittenhän tuo reitti on parempi?

Huom! Muutoksia, korjauksia ynnä lisäyksiä otetaan mielellään vastaan! (tai tule LINUX-SAUNAAN @ Telegram).

Pelisivustoja edelleen lisätiedolle ja avulle:

✍️@Kopimi


Liity:

®LINUX-SAUNA | Apu lämmöllä Linuxiin

      

<= Etusivulle