John Carmack z Id Software: lepiej pracować nad poprawą WINE niż tworzyć...

John Carmack z Id Software: lepiej pracować nad poprawą WINE niż tworzyć porty gier dla Linuksa

przez -
46 602
John Carmack
John Carmack, współzałożyciel studia Id Software i jego główny programista stwierdził, że WINE jest lepszą opcją do przenoszenia gier, niż naciski na tworzenie natywnych portów dla Linuksa. John Carmack jest znaną osobą w branży gier komputerowych i z pewnością znaną dla dużej liczby osób związanych z Linuksem głównie za sprawą okazywania systemom GNU/Linux większej przychylności niż czynili to niegdyś pozostali twórcy gier. Swego czasu studio Id Software udostępniło dla użytkowników dystrybucji Linux takie produkcje jak: Doom 3, Enemy Territory: Quake Wars, czy też źródła silników Id Tech.

John Carmack

Pojawiła się również dostępna za pomocą przeglądarki gra Quake Live, działająca bez problemów zarówno na systemach Windows, Mac OS X, a także Linux. Niestety John wielokrotnie podkreślał, iż ilość graczy wykorzystujących Linuksa, chociażby w Quake Live, nie odzwierciedla i nie rekompensuje wysiłków włożonych w prace nad grą.

Wczoraj za pośrednictwem swojego konta w serwisie Twitter, zabrał głos w sprawie gier dla Linuksa, pisząc:

Poprawienie WINE dla gier w Linuksie wydaje się lepszym planem, niż naciski na poszczególnych deweloperów o natywne porty gier.

John Carman o WINE

Niegdyś uznawane za najbardziej przyjazne Linuksowi studio deweloperskie Id Software w ostatnim czasie najwyraźniej zrezygnowało z obsługi systemów z rodziny GNU/Linux. Gra Rage czy też odświeżona wersja gry Doom 3: BFG nie doczekały się natywnych portów dla Linuksa. Carmack tłumaczył w zeszłym roku, że natywnego portu Rage nie będzie, gdyż gra działa dobrze za pośrednictwem WINE.

Bądź co bądź WINE nie zawsze działa tak, jakbyśmy sobie tego chcieli, jedną aplikację uruchamia, inną zaś nie. Jedne działają wyśmienicie, inne z problemami. Płacąc pełną sumę pieniędzy za daną produkcję, gracze oczekują pełnej funkcjonalności, komfortu i również wsparcia technicznego, którego raczej w przypadku WINE od producenta gry nie otrzymamy. W innych wpisach Carmack stwierdził, że przenoszenie gier dla Linuksa nie jest zbyt opłacalne, a w dyskusjach wywołanych jego postem na Twitterze dodał, że dobra natywna wersja jest lepsza, ale emulacja może przynieść tysiące gier nieco niższej jakości. Zaznaczył również, że Steam jest wielką rzeczą dla platformy Linux.

Czy zgadzacie się ze zdaniem Carmacka? Lepiej pracować nad poprawą działania WINE i zamiast tworzyć natywne porty opierać się na lepszej obsłudze gier w WINE?

  • Damian Kęska

    Zdecydowanie się nie zgadzam z nim. Wine działa w kratkę i nierzadko wymaga lepszego sprzętu niż jakby gra miała działać pod Windows. Na niektórych konfiguracjach takich jak karty Intela Wine potrafi dać dopiero ciekawy popis :)

    Dlaczego gra ma być natywna? Ma się integrować z systemem a nie działać jak na emulatorze czy "poprzez proxy" bo tak to wygląda, że później użytkownik wybierając awatar w grze dostaje jakiś "dysk z:/" i inne cuda, sporo bugów i nic dobrego poza tym.

    • Listek

      Dyski można zmapować i nie ma problemu. Natywne gry na Linuksa to nadal problem przez ilość dystrybucji i różne zależności. Od debów po rpmy.

    • Rudyf

      PKGBUILD & pkg.tar.xz FTW!

    • Niech robią dla jednej bądź dwóch dystrybucji, reszta sobie poradzi ;)

    • i286

      Ta technologia sprawdza się na MACach, gdzie do gier dorzucany jest kawałęk wine i parę bibliotek. Działa to bardzo dobrze. Chociaż ideologicznie wolałbym żeby ID Software napisało LINE (Line Is Not Emulator), który pozwoliłby uruchomić natywne gry pisane tylko na linuksa nawet na W8 :)

    • mateusz

      żona kupiła settlers 7. było dokładnie tak jak piszesz – do gry dorzucony wine, ale wydajność… tragedia :/

  • kwahoo

    Warto byłoby rozszerzyć tekst o opinię TTimo, który w id (nim odszedł) zajmował się portowaniem gier na Linuksa http://www.reddit.com/r/linux_gaming/comments/17v

    • o_O

      Warto byłoby rozszerzyć Twój komentarz o streszczenie tej opinii w jednym czy dwóch zdaniach.

    • albert

      Nie warto

  • juv

    Z punktu widzenia firmy tworzącej gry WINE jest lepsze bo nie musi 2 razy pisać tej samej gry. Wiadomo że ludzi grających na linuksach jest zdecydowanie mniej niż tych używających systemu windows. Najwidoczniej graczy linuksowych jest póki co za mało aby było opłacalne portowanie gier na linuksa.

    • Przez 2 miesiące Steam zyskał 1.95% użytkowników Linuksa. Oczywiście to jeszcze za mało ale rośnie.

    • Listek

      Co z tego jak nie mam sterowników i gry mi nie działają :/

    • Damian Kęska

      To zainstaluj je, co za problem? ;)

    • Rudyf

      O, witamy nóba w społeczności ;)

      No chyba że twoją kartą jest jedna z wielkiego i potężnego asortymentu produktów Silicon Integrated Systems Corp. np. Mirage 3+ (SIS671) to zwracam honor xf86-video-sisimedia ssie

    • kwahoo

      Myślę, że nie samo portowanie a dystrybucja była droga. Była, bo teraz ten problem załatwił Steam. Ile teraz może kosztować portowanie, jeśli taki Icculus _samodzielnie_ uwija się w kilka tygodni (a czasami w kilka dni)?
      Z trzech najpopularniejszych silników, dwa: Unity i Unreal mają linuksowe porty. Turcy z Cry Engine trochę się opierają, ale Star Citizen ma szansę mienić:)

    • kwahoo

      Ech, wygląda na to, że ze strony SC nie ma dobrych wieści http://www.robertsspaceindustries.com/forum/showt
      Też spoglądają w stronę Wine, ale przynajmniej badają inne drogi jak zatrudnienie Icculusa.

    • CryEngine jest na Linuksa, o czym pisano w internecie wiele razy. Jest to bodajże ich wewnętrzna wersja dla deweloperów i raczej jej nie wypuszczą na świat. Bynajmniej, z tego co się orientuję, to działa na niektórych serwerach sieciowych Crytek :)

    • dafus

      Sam jesteś bynajmniej.

    • kwahoo

      Potwierdzone jest tylko istnienie dedykowanego serwera do CE1 (do Far Cry z 2004). Gra tymczasem potrzebuje klienta CE3. Larabelowi uwierzę jak zobaczę MS Office na Linuksa:)

  • Ale John Carmack stał się leniwy :D
    Wine nigdy nie będzie tak dobre jakbyśmy tego wszyscy chcieli. A przyczyną tego stanu są zamknięte okna. I w tej kwestii nic się nie zmieni.

  • jusko

    Cóż – jak mieli zarabiać na natywnych wersjach, skoro udostępniali darmowy instalator z binarkami linuksowymi? Gdyby chociaż sprzedawali sam instalator to już byłby zarobek, ale jak chcieli zarobić na Linuksie przy darmowych instalatorach? Kasę nabijało się wersji dla Windows, bo tylko instalator był natywny, gra dla Win.

    Zgodzę się z nim natomiast po części, bo Linux dopiero teraz troszkę zaczyna się na desktopie wzbijać – wcześniej było znacznie ciężej, a nadal nie jest łatwo – w Linuksie nie wystarczy jak na Windows, rzucić program i wszyscy sami go biorą. I tu jest nieco problem – rynek komercyjny dla Linuksa wymaga umiejętnego podejścia. Paradoksalnie Humble Indie Bundle to kreatywny pomysł i komercyjny – a udaje się. Podobnie rozumieją to niezależne studia developerskie. W przypadku Id widzę inne podejście – dajemy Wam łaskawie grę, kupujcie ile wlezie, nie musimy się starać – toć toż my Id Software jesteśmy, więc gry samą nazwą się rozejdą! Jak widać – nie wypaliło.

    • sprae

      Podaj przykład tych programów pod Windows, które ludzie biorą jak leci.

    • jusko

      Need for Speed, Call of Duty, FIFA, Tomb Raider, wymieniać można dalej – żadna z tych serii nie potrzebuje już większego marketingu. Gracz i tak kupi ze względu na markę. A na Linuksie trzeba nieco więcej zachęty.

    • sprae

      No 'pacz', a ja wolałem mało reklamowane KSP i FTL.

    • jusko

      De gustibus non disputandum est. Jeden lubi Indie, inny AAA.

  • garrappachc

    Dobry programista potrafi napisać grę tak, aby przeniesienie jej na inną platformę było kwestią pozmieniania ścieżek kilku plików.

    • Listek

      No to wtedy taka aplikacja jest wielką kobyłą co zawiera zależności dla różnych systemów.

    • jusko

      Niekoniecznie – jak używasz komponentów cross-platform (np. OpenGL, SDL, OpenAL etc), to nie jest to wielka sztuka.

    • tokat

      Ale to nie tylko tego typu komponenty :] To wtedy nie piszesz grę na system operacyjny tylko na jakiś framework lub platformę jak Java czy .NET. Tak czy siak musisz kompilować ją inaczej i tak dalej. Proste to jest w teorii. Ile napisałeś wieloplatformowych gier? :D

    • jusko

      Jak najbardziej pisałem multiplatformowe appki i czasem nadal piszę sobie acz już jako hobby. Napisałeś w swoim komentarzu jak to wygląda i generalnie tak to wygląda – pisze się pod system operacyjny z użyciem multiplatformowych komponentów. Nawet Python, który posiada interpreter i przy jednym kodzie ma działać wszędzie, aby działał przy niektórych dużych aplikacjach w Win, wymaga dostosowania do Windows jeśli program ma być z nim jakoś powiązany. Masz zatem pomysł, jak rozwiązać to inaczej? Bo inaczej to się chyba nie da, ratunek w językach interpretowalnych, ale przy dużej grze, wydajne to już nie będzie. Każdy system operacyjny jest inny i MUSI być kod dostosowany w jakimś aspekcie do niego. Nawet OpenGL który jest przenośny, wymaga przetłumaczenia czasem pewnych instrukcji tak, aby Windows czy Mac go rozumiał. Kurdę, tak samo jest przecież w przeglądarkach internetowych – inaczej może coś wyglądać pod Tridentem, KHTML, Gecko – w webdeveloperce też trzeba pisać tak, aby wszystko dobrze się wyświetlało (szczególnie pod IE). Także Twój komentarz coś stara mi się udowodnić lub zarzucić, ale NIE da się pisać inaczej, bo każdy system jest inny. Albo piszesz jakoś interpretowalnie, albo stricte system – masz trzecie wyjście? Chcesz działać wszędzie i niezależnie od OS – pisz aplikacje server side :-)

    • mateusz

      i zgodzę się z Tobą i się nie zgodzę ;p osobiscie pisalem wieloplatformowe aplikacje w Qt i GTK. moje subiektywne wrazenie jest takie, ze deployment oraz tempo rozwijania aplikacji bylo 10x szybsze w Qt niz GTK, chociaz ten program w GTK tez dzialal bez zmiany ani jednej linijki kodu pod Windowsem i MacOSX. w Qt oczywiscie tak samo.

      ale programy to bardzo specyficzne zastosowanie, pozatym prawdopodobnie miałem akurat szczęście że nie musiałem robić dziwnych konstrukcji typu

      #ifdef PLATFORM_WIN32
      blablabla
      #endif

      gry to troche inna kategoria. potrafię sobie jednak wyobrazić sytuację w której definiujmy funkcje silnika gier, np:

      engine->renderMenu(); (lub wersja dla progamistow C nie lubiących obiektow: render_menu(engine);

      i pozniej juz mozemy rozwijac engine w zalezanosci od platformy i w engine dla konkretnej platformy dawac kod ktory juz (w obrebie platformy) jest nieprzenosny. pozniej jak wydajemy gotowy produkt, to dla windowsa dajemy gre + silnik z backendem w DirectX, dla linuksa i Maka – openGL. z tego co się orientuję, właśnie w ten sposób zrobiło Valve z silnikiem Source, dlatego wlasnie mogą teraz portować gry

    • mikolajs

      Valve napisało własny interpreter tłumaczący niskopoziomowe wywołania Direct3D na OpenGL o ile zrozumiałem. Jak się używa DirectX to potem nie łatwo jest przeportować grę, ale jeśli użyło się OpenGL (rzadkie zajwisko) to portowanie nie jest wielkim problemem, choć pewnie trochę czasu wymaga. Pisanie wieloplatformowe wymaga założenia z góry tego faktu, a tymczasem DirectX jest znacznie wygodniejszy dla studiów produkujących gry, Microsoft od dawna robił wszystko, aby firmy porzuciły pisanie w OpenGL. Sprawa nie jest więc taka prosta.

    • sprae

      Tak było z 5 lat temu, jak fajnie było pisać tylko na PC.
      Dziś jest pełno różnych platform. Developerzy już dawno spostrzegli, że opłaca się pisać wieloplatformowo. Pisze o tym koleś, który w Id Soft portował gry na Linuksa. W końcu demo Rage pokazało się też na IOS.
      Carmack zauważył, że wydawanie gier AAA dla Linuksa się nie opłaca. I tyle. I nie ma tu co porównywać do Indie, dla których dodatkowe kilka tysięcy userów to niezły kawałek got

    • mikolajs

      Nie każdą grę jest sens portować na tablety. Superprodukcje i tak będą tylko na konsole i ewentualnie na PC. Ciekaw jestem jak będzie wyglądała możliwość portowania gier z PS4 na Linuksa skoro ten pierwszy będzie opierał się na zwykłym x86 AMD.

    • sprae

      Tak, jak się to będzie opłacało.
      Grę w dalszym ciągu będzie trzeba zintegrować z systemem, przetestować i wydać.
      Na konsoli OpenGL to raczej dodatek dla początkujących, bo tam się zwykle komunikujesz z kartą graficzną przez command buffer (bo wydajniej). Stabilność platformy sprawia, że możesz mocno optymalizować na najniższym poziomie.

      A co do tabletów to tylko uprościłem. Skyrim jest przecież na PC/XBox i PS3. To już świadczy o niezłej pracy włożonej w projekt.

    • sprae

      A co do skali myślenia.
      Wiedzmin jak wyszedł na Xboxa360, to sprzedali go w ilościach 600k i uznali to za porażkę. Co można usłyszeć np na śledziowym vlogu. Czy na Linuksie by się sprzedał w milionie? A może wolisz, żeby kosztował 600 PLN?
      Głównie o to chodzi w portowaniu. Bo z tym nie ma problemu jeśli znajdzie się odpowiednio dużo chętnych.
      Samo chciejstwo i marudzenie tu nie pomaga.

  • guitarrizer

    W zasadzie to Carmack powiedział rzecz oczywistą. Wszyscy by chcieli, by wszystko doskonale działało pod Wine, bowiem wtedy zyskaliby nie tylko gracze… tyle że by tak mogło być, deweloperzy Wine musieliby dostać solidny zastrzyk gotówki od zainteresowanych współpracą firm, a na to jakoś się nie zanosi. Słowem, "deweloperzy Wine, radźcie sobie sami, a my przyjdziemy na gotowe".

  • Roomcays

    Ja kocham jak gra uruchamia się natywnie na L. i żadne tam WINE tego uczucia nie zastąpi. WINE jest potrzebne do uruchamiania MS Office, ale to nie jest dobra droga dla gier.
    Valve rządzi. Ileż znaczy port silnika? W tej chwili CS:S, HL czy Team Fortress 2 działają miodzio, można więc tylko wyczekiwać kolejnych pozycji, których autorzy skuszą się na wykorzystanie takiego silnika, który jest a) bardzo dobry, b) multiplatformowy.

  • Rudyf

    Jak lubię gościa, to w tym przypadku muszę otwarcie powiedzieć:

    "…pier*olenie…"

  • kabi

    Całkowicie nie zgadzam się z tym panem.
    Korzystanie z Wine jest według mnie bardzo niekorzystnym zjawiskiem dla Linuxa. Nie chodzi tu tylko o jakość i stabilność, ale o to, że takie programy stają się zależne od windowsa. I korzystając z programów uruchomionych na Wine, powiększamy grono użytkowników aplikacji windowsowskich, a tym samym wspieramy tworzenie nowych aplikacji pod windows.
    Zdecydowanie leprze jest tworzenie gier natywnych pod Linuxa, gdyż nie tylko działają lepiej, ale za to powiększa się liczba linuxowych programów.

  • Łukasz

    Ja z punktu programisty chciałbym zauważyć że port na linuxa często ogranicza się do kompilacji na linuxie ;). Pod warunkiem odpowiednich technologii. Graficznie: opengl, język, cokolwiek co ma kompilator na linuxa i tyle.

  • d33tah

    Pan Carmack ma u mnie dużego minusa. Pozostaje tylko pytanie… czemu? Ten człowiek kiedyś mocno wsparł dział gier pod Linuksem, co mogłoby go zmotywować do zadania mu ciosu?

    • kwahoo

      Jak przestajesz być samodzielny (przejęcie przez Zenimax), jak tracisz niemal cały swój stary zespół (nie ma już Romero, Adriana Carmacka [zbieżność nazwisk przypadkowa], McGee czy ludzi od Linuksa), jak nie masz już tyle energii co w młodości (chociaż po wywiadach tego nie widać:), jak ostatnia twoja gra staje się na PC totalną klapą i sprzedaje się tylko na konsolach… to coś może się w tobie zmienić.

      Kiedyś kierował 4-osobowym zespołem, który co roku wywoływał rewolucję. Teraz stał się zarządcą ponad 200 osób i nie potrafi już zaprowadzić rewolucji:(

      W 2000 jego wypowiedzi brzmiały nieco inaczej http://games.slashdot.org/comments.pl?sid=9265&am

    • mikolajs

      "Kiedyś kierował 4-osobowym zespołem, który co roku wywoływał rewolucję. Teraz stał się zarządcą ponad 200 osób i nie potrafi już zaprowadzić rewolucji:( "

      Napoleon też nie potrafił dowodzić wielkimi armiami, gdy z mniejszymi był geniuszem. ;)

  • tygrysek

    Co mogę powiedzieć, gram przez wine od czasów Mandrake i kiedyś starsze gry mi się bez problemu uruchamiały (np. Might and Magic 6-8). Obecnie na Ubuntu i wine (testowane 1.0 do 1.4) się nie uruchamiają albo uruchamiają tylko w trybie okienkowym, przetestowałem różne opcje i kicha. Więc może ten projekt rozwija się pod parę nowych strzelanej i innych topowych produkcji, ale dla mnie schodzi coś na psy.

  • Pingback: Terathon porzuca obsługę Linuksa w silniku C4 Engine()