Aapo Rantalainen's blog

Experiences with Information Technology and Open source

Avoin koodi ja pelaaminen

Posted by Aapo Rantalainen on December 24, 2010

Avoimen koodin pelaamisesta ja Linuxilla pelaamisesta puhutaan ja kirjoitellaan aika ajoin. Toisinaan niissä kuitenkin sotketaan asioita. Eli kirjoittaja puhuu aidasta ja toisaalta aidan seipäästä. Eli menee puurot ja vellit sekaisin. Tämä mielessäni yritän korjata asiaa.

Aloitetaan nelikentällä:

+----------+----------------+---------------+
|          |    Windows     |    Linux      |
|----------+----------------+---------------+
|Suljettu  | 1) BloodBowl   | 2) WorldOfGoo |
|Avoin     | 3) Snip        | 4) JamMo      |
+----------+----------------+---------------+

Jätin taulukosta MacOsX:n pois. Huhujen mukaan joku pelaa silläkin. Se tavallaan putoaa pelaamisessa Windowsin ja Linuxin väliin – kaikista peleistä ei tule Mac-versioita, mutta se on silti suljettu järjestelmä.

Taulukon lohkoista:

1) Suljetun koodin pelit, jotka toimivat vain suljetulla alustalla. On mahdollista saada toimimaan WINE:llä Linuxissa, mutta se on täysin epärelevanttia tässä yhteydessä.
2) Linuxillekin voi ostaa pelejä. ‘Tavalliselle‘ Linuxille ostettavat pelit löytyvät myös Windowsille, mutta esim Android-kaupasta löytyy pelejä, joita voi pelata vain-ja-ainoastaan Android-Linuxilla (ja koska Android itse on avointa koodia, on mahdollista, että Android-pelejä voi joku päivä pelata muillakin alustoilla)
Avoimen koodin pelit yleensä toimivat missä tahansa järjestelmässä.
3) Jos peli käyttää jotakin Windowsin omaa (ja/tai suljettua) kirjastoa toimiakseen (esim DirectX), pelin Linux versio vaatii osittain uusintatoteuttamista (joka voi jäädä tekemättä).
4) Peli voi käyttää jotakin POSIX-ominaisuutta, jota ei Windowsista löydy (en keksi esimerkkipeliä, voisi liittyä vaikka posix-socketteihin). Tavallisempi syy on, että kehitystyö tapahtuu Linuxilla ja Windows-versiota ei vain ole saatu aikaiseksi. Taulukossa esimerkkinä on  JamMo, johon olen itse laiskuuttani kirjoittanut hakemistoerottimeksi “/” (windows kaipaisi “\“), kotikansio on /home/$USER/.jammo (windows kaipaisi jotakin tyyliin c:\…), tiedostojen nimiä vaihdetaan system(“mv vanha uusi”); … Eli pelkkää pikkuviilausta.

Muista myös, että pelin hinta ei nyt ole millään tavalla oleellinen. Vain lähdekoodi ja sen lisenssi ratkaisevat. Ei riitä, että koodi on näkyvillä, sitä pitää myös saada käyttää (esim OpenSourceInitiative / FreeSoftwareFoundation).
Esimerkki ei-avoimen koodin lisenssistä, vaikka koodi on saatavilla:

Burning Sand 2 is completly free for non-commercial usage.
You’re free to give a copy to your friends, but don’t create an online mirror of the file.”

Tuo lisenssi ei edes sano mitään lähdekoodin muuttamisesta, vaikka se onkin saatavilla.

Sekä OSI että FSF antavat listan avoimen koodin lisensseistä, joten voisi luulla, että rajan veto avoimen ja suljetun koodin peleihin olisi yksinkertainen. Yleensä se onkin, mutta siinäkin löytyy epämääräisyyttä.
a) Peli voi alunperin olla suljettu ja nyttemmin avattu (esim Lugaru)
b) Peli voi alunperin olla avoin ja myöhemmin tekijät sulkevat sen (esim xonotic/nexuiz.)
c) Peli on avointa koodia, mutta sen tarvitsemat/käyttämät datat ovat jollakin suljetulla lisenssillä (esim OpenTTD ennen versiota 1.0.0 [huhtikuu2010]. Tai Frogatto)
d) Pelin tekijä voi tarjota peliä kaksoislisenssillä (vaikkapa GPL-versio ja rahalla ostettava versio, jonka lisenssin ostaja päättää itse) (Tämä on tavallisempaa ohjelma-kirjastoissa, enkä keksinyt yhtäkään esimerkkipeliä)

Mihin lähdekoodia tarvitaan:
*Toisenlaisella laitteella/järjestelmällä pelaamiseen
*Muutosten tekemiseen

Mihin lisenssiä tarvitaan:
*Muuttaminen on laillista
*Muutettua versiota saa levittää


Aloitan juttusarjan, jossa esittelen joitakin avoimen koodin pelejä (Linuxin näkökulmasta). Yritän pitää näkökulman peleissä, joissa Minä olen konkreettisesti hyötynyt koodin avoimuudesta. Eli pelit ovat sellaisia, joihin olen tehnyt muutoksia tai ollut kääntämässä/paketoimassa niitä toiselle järjestelmälle. Niissä tapauksissa, joissa peli ei jostakin syystä vielä ole Ubuntun pakettivarastoissa, tein oman pakettivaraston josta halukkaat voivat helposti pelit asentaa  (mahdollisesti minun muutoksillani).

Helpoin tapa ottaa pakettivarasto käyttöön on ajaa terminaalissa komento:

sudo add-apt-repository ppa:aapo-rantalainen/games

Tämän jälkeen voi käyttää apt-get update;apt-get install tai haluamaansa graafista pakettienhallinta ohjelmaa, kuten Synaptic.

Ja päälle vielä tavanomaiset varoitukset epävirallisten pakettivarastojen käytöstä: Ne voivat sisältää mitä tahansa, eikä niitä valvo kukaan. PPA-tapauksessa (Personal Package Archive) voit käyttää ‘apt-get source paketin_nimi’ jolla saat paketin lähdekoodin. PPA:ssa myös kaikki paketit ovat niiden tekijän henkilökohtaisesti allekirjoittamia.
PARHAAN TAITONI JA TAHTONI MUKAAN, MUTTA ILMAN TAKUUTA.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

 
%d bloggers like this: