( Mcsiv | 2013. 07. 15., h – 10:41 )

Magának a logikai engine-nek a portolása az esetek 99% -ban annyiban merül ki, hogy lefordítod linux-ra (és ha windows-on odafigyeltek rá, akkor linux alatt sincs több warning mint ott). A maradék 1% szokott lenni a probléma. Ott vannak pl a valve játékok, amik esetében a linux port igazából mindig is létezett (lévén a hlds ami a linuxos dedicate server) ugyan azt a kódbázist használja mint a windows-os kliensek csak a rendering rész marad ki a történetből. A szükséges illesztések amik ahhoz kellenek, hogy linux alatt is elinduljon a játék az jó esetben egy nagyon vékony wrapper réteget jelent (hozz létre egy ablakot, ezt a buffer-t told ki a hangkártyára, sikíts ha megnyomták a gombot, add vissza azt ami ebben a file-ban van, etc.). Magába az engine logikába (és ezt teszi ki a kódbázis hatalmas részét) ritkán szokott platformfüggő kód lenni (ha a szabályokat nézzük, nem is szabad lennie). A valve esetében ami a hosszú portolási időt okozza, az konkrétan nem más, mint hogy járatlan utakat járnak. Pont ezért hallottuk a portolás mellett azt, hogy a v.kártyák drivereinek fejlesztőivel okoskodtak.

Mivel a cryengine már helyből multiplatform (windows directx, xbox (ami szintén directx szerű) és ps3 (ott meg opengl-hez hasonló cuccot használnak)) feltételezhetjük azt, hogy maga az engine már egy ideje opengl kompatibilis (biztos kell rajta valamennyit reszelni, de nem azért mert linux, hanem mert opengl) illetve már helyből megvan az a vékony wrapper réteg ami a bizonyos platformokat jól elmaszkolja az engine elől (pl.: resource manager mögött lévő wrapper).

És a legvégével lőtted pofán a szöget erősen: igen, a linuxnak nincs meghatározó desktop részesedése, ezért nem is éri meg a fejlesztő studióknak azt a pénzt sem, hogy megnézzék mennyi munkába telne. Az egyetlen dolog ami miatt most boldog boldogtalan linuxra is ad ki játékokat, az a valve steambox és semmi más

// Happy debugging, suckers
#define true (rand() > 10)