Domnivam se ze ten "humbuk" vznikl diky tomu, ze vetsina lidi kteri si tuto hru chteli zahrat pod linuxem tak zjistili, ze hra bezi paradne pod Wine (osobne jsem zkousel) a hrali ji tedy takto.
V okamziku kdy tvurce "slavne" uvedl hru "jako" pro linux, tak se vetsina linuxaku tesila na nativni port. Misto toho si koupili zmrseny emulator s vykonem horsim nez wine. Ja sam jsem to bral jako podraz. Meli rici narovinu, hrejte pod winem - funguje to dobre. Misto toho uvedli zmrseninu, ktera pry ani nefungovala pod AMD (nemohu posoudit, mam GPU NVIDIA v desk i NB)
BTW:
UFO jsem dohral na NB kde je pomerne slaba NVIDIA GPU a hra jela velice dobre ikdyz teplota na GPU atakovala 90 C :)
S pozdravem, raven4
https://play.google.com/store/apps/details?id=cz.raven4.MKCommander_HD
https://play.google.com/store/apps/details?id=cz.raven4.MKSysMon
https://play.google.com/store/apps/details?id=cz.raven4.UsefullClock
Implementace OpenGL se liší verzí a podporou extensions. Navíc například ta samá operace může mít na různých implementacích trval výrazně odlišný čas.
OpenGL navíc neřeší fullscreen a přepínání rozlišení, zvuk, vstupní zařízení, přehrávání videa atd. Tyhle věci se dělají na každé platformě jinak, a řada odlišností je i mezi distry Liunuxu.
Dalším problémem je support. Na MacOS je to poměrně jednoduché, protože jde o jeden OS. U Linuxu je potřeba testovat na řadě dister s různými vlastnostmi. K tomu přičtěte menší zastoupení Linuxu na desktopech, a můžeme spekulovat i o nižší prodejnosti her.
Ale verzia OpenGL je prave medzi MacOS a Linuxom minimalne rovnaka a skor o tom rozhoduje GPU (resp jeho ovladace). Rovnako extensions boli zavedene koli vyrobcom GPU a nemaju co docinenia s linuxom ci MacOS (teda OS).
Ostatne veci sa sice na linuxe robia inak ale niesu neprekonatelnym problemom, tak to ukazuju dalsie hry portovane na linux nativne. Inak v poslednej dobe by ste sa velmi divil ako vela veci sa robi na kazdej platforme rovnako.
Support taktiez samozrejme nie je takym problemom, kedze oficialne vam staci supportovat jedno distro (tak ako to robi Valve pri ubuntu) a je vysoka pravedepodobnost, ze to pojde aj na ostatnych alebo ostatny sa prisposobia.
Cele je to iba o tom, ze chceli mat hodne muziky za malo penazi ale nemaju nic. Ani muziku a ani investovane peniaze. Dost pochybujem, ze im to bude dobre fungovat cez nejaky emulator, o ktorom doteraz nikto nic nepocul (teda aspon ja nie) a take emulatory su skor dobre na bezne programy nez na nejaky 3D akcelerovane hry (aj ked nehovorim, ze sa tato cesta neda pouzit). Takto zmrsenu hru by som si nekupil, nebudem predsa platit za nekvalitu (to k nizsej predajnosti hier).
OpenGL se samozřejmě mezi MacOS a Linuxem liší. Doporučuji se kouknout na testy, plus na to co napsal o kvalitě driverů Rich Geldreich z Valve. Pak se těžko divit, že se většina her píše pro DirectX.
http://www.g-truc.net/post-0655.html#menu
http://richg42.blogspot.cz/2014/05/the-truth-on-opengl-driver-quality.html
http://richg42.blogspot.co.uk/2014/05/things-that-drive-me-nuts-about-opengl.html
Pokud se port nepovadl, je to samozřejmě problém pro autory hry. Ale uvažte, že Linux má na Steamu jen 1.2%. I kdyby byla hra nakrásně prodejná stejně jako na Windows (tj. koupilo si ji stejné procento uživatelů obou platforem), pořád je to finančně dost nezajímavé. Vyšší investice do portování (plus testování a supportu) pak může snadno vyústit ve ztrátu.
Většina her samozřejmě používá nějaký engine, protože se většinou nevyplatí psát engine pro jedinou hru. Nicméně ty engines typicky používají DirectX.
Ohledně té většiny mi to nějak nesedí, pokud se tedy bavíme o PC a áčkových hrách (u mobilů bych vám to i věřil). Můžete mi prosím uvést příklad pár áčkových her pro PC, které používají OpenGL? Napadá mě snad jen Wolfenstein: New Order.
Ad My sa bavime o PC a ackovych hrach - za mě ano :)
Ad vsetko, co je v dnesnej dobe schopne bezat na niecom inom, ako Windows priamo alebo nepriamo podporuje OpenGL(ES) - vážně? Xbox 360 i Xbox One běží na derivátech DirectX, Windows Phone také. PS3 a PS4 používají GNMX (podobné Direct3D) a GNM (low level).
vis loliku ... ses totalne mimo ...drtiva vetsina games se v soucasnosti prodava .... voiala ... pro android (v zavesu bude nejspis jabko).
Navic se aktualne nepouziva z tech rosirenych pokud vim zadnej engine, kterej by opengl nepodporoval, co vic, nekteri vyvojari dokonce gamesky na opengl predelavaj ... pry kvuli tragickymu dx sem tak nejak cet ... co vic, objevujou se tu snahy o low lv rozhrani, protoze dx (pry) samo o sobe vpohode zabije 1/2 vykonu soucasnych gpu (a samozrejme naprosto neumi pouzivat vypocetni jednotky, fyziku a dalsi ficury).
A mimochodem, vis proc? Mno ... protoze i na win XP si nainstaluju nejnovejsi GPU a nejnovejsi OpenGL. Kdezto pokud chci provozovat gamesku pod dx ... tak chte nechte potrebuju aby bezela dx9 max. Tedy na rozhrani ...12let starym. A to je kauf.
A znovu: zkuste si odpustit tu nepatřičnou familiérnost. Jestli vás rodiče nenaučili slušnému vychování, běžte to u nich reklamovat.
Ad nekteri vyvojari dokonce gamesky na opengl predelavaj - to si zřejmě pletete s Mantle API, které je pouze pro karty AMD, pořád ještě(?) v beta verzi, a používá ho deset her včetně těch nevydaných. Snahy o low level rozhraní tu samozřejmě jsou - například DirectX 12. OpenGL podobné low level API nenabízí, a nejspíš pár let nabízet ani nebude. BTW pokud víte o někom kdo předělal hru z DirectX na OpenGL z důvodu výkonu, dejte link - rád si počtu.
http://www.redgamingtech.com/directx-12-low-level-api-analysis-of-xbox-one-game-development/
Windows XP se typicky provozují na starém HW, kde hrám nejnovější GPU nepomůže. Deset let staré stroje nemají dostatečně silné CPU, a u 32-bitových WinXP není ani dostatek paměti. Navíc se autoři her vyhýbají OpenGL z důvodů které jsem linkoval.
Copak loliku, dosly argumenty? Nabeh sis na vlastni widle? Klasicky placas paty pres devaty? Do OGL predelava trebas wargaming wot ... to je takova prkotina co ji hraje jen par hracu ... Tim netvrdim ze jejich vyvojarsky shopnosti jsou uzasny, ale nejsou ani zdaleka jedini.
10let starej stroj zcela vpohode utahne 100% soucasnych games. Netvrdim ze v maximalnich detailech, ale porad je o rad vykonejsi nez nejnovejsi konzole. A abys loliku nerek, tak 8let starej stroj, to je 4jadro + GPU rady 8800 v pripade NV + 8GB RAM. A to je i dneska porad jeste velmi solidni prumer. Pravda, tech 8GB je tam v pripadne nemodovanych XP celkem khownu, protoze M$ bude mozna pae (tedy technologii z dob 8mibitu) umet tak v pristim tisicileti.
Na plácání nesmyslů jste tu specialistou vy.
Ad World of Tanks - to je DX9 spatlanina napsaná nejspíš retardovanými vývojáři. Že se přepisuje do OpenGL? Zdroj, prosím. Navíc jde o jeden příklad - tím trend nedoložíte.
Ad 10let starej stroj zcela vpohode utahne 100% soucasnych games - v nízkých detailech, a to se nezlepší ani s nejnovější grafickou kartou. Kvůli slabému CPU, pomalým DDR2 nebo DDR pamětem, použití sběrnice PCIe 1.0a atd. Dávat do 10 let starého herního stroje dnešní herní grafickou kartu je prostě nesmysl.
Ad M$ bude mozna pae (tedy technologii z dob 8mibitu) umet tak v pristim tisicileti - serverové Windows mají PEA od verze 2000, což vy pochopitelně nevíte. WinXP mají podporu PAE, ale od SP2 jsou omezené na 4GB RAM kvůli problémům s kompatibilitou driverů třetích stran.
... a kompatibilita se srackama ktery nemely nikdy existovat, popripade se mely "phase-out" (tedy nechat chcipnout cestou) je jeden z duvodu proc je soft [nejen] od Malyho-Mekkyho takova hrozna halda balastu. Treba chyby ktere jsou ve Wordu pres 20 let. A co win GUI - hlavni panel se prestane schovavat, protoze se mu nekde zaseklo ze mu neco davalo notifikaci, to tu je taky od minimalne W2000, pravdepodobne uz z W9x.
Obecne dlouhodoba zpetna kompatibilita + reuse staryho buggy kodu omezuje, kurvi & zabranuje evoluci cehokoli, operacnich systemu stejne jako programovacich jazyku.
Které konkrétní chyby jsou ve Wordu přes 20 let?
Zpětná kompatibilita je důležitá pro zákazníky. Když si koupí aplikaci, chtějí mít možnost ji používat i na novější verzi systému.
Když se zeptáte prakticky jakéhokoliv vývojáře, co si myslí o projektu na kterém pracuje, odpověď nejspíš bude něco jako "je to příšernost, přepsal bych to celé od začátku". Přijít s buldozerem a začít znovu na zelené louce je myšlenka svůdná, ale v naprosté většině případů špatná. Stojí to obrovskou spoustu času a práce. Přitom ve starém kódu je vyřešená řada problémů, na které narazil v reálném světě, a na které zřejmě narazíte znovu. Navíc nikdo nezaručí, že nakonec dojdete k lepšímu kódu, než s jakým začínáte. Vždyť řešíte stejný problém stejnými nástroji.
V naprosté většině případů je lepší řešit konkrétní problémy starého kódu. Úprava objektového modelu, přesun kódu na odpovídající místo, refactoring.
Joel Spolsky to popsal před lety naprosto přesně:
http://www.joelonsoftware.com/articles/fog0000000069.html
Zaklínač 2 vyšel pro android? Nebo jste jen v té dlouhé diskusi ztratil přehled o jakém typu her se bavíme?
Zbytek je FUD. Dost možná jen nepochopená situace, která by se dala popsat "na DirectX to aby měl člověk doktorát z jaderné fyziky". Zatímco s OpenGL se dá poprat podle pár návodů a úspěšně stavět hru "odspodu", tak DirectX vyžadují měsíce studia a praxe na to, aby se zvládlo dobře. Je to trochu jako Java a gui - většina lidí to nepochopí a zprogramuje to špatně, ale pak to vydává za chybu platformy.
Osobně jsem DirectX vzdal a použil již hotový grafický engine. Na učení se DirectX nemám zdroje a OpenGL je neuvěřitelně roztříštěné a utopíte se v nekonečné záplavě extensions. Základ se v OpenGL udělá pohodlně a rychle (právě narozdíl od DirectX), ale pokud si chcete hrát se stíny, osvětlovacím modelem atd., tak se to zkomplikuje. Jsem rád, že tuhle práci za mne dělají autoři grafického enginu, protože na to mé "hraní si s grafikou" mám jen pár hodin týdně.
Tak moment, to mi fakt v jednom prispevku zahlasite, ze sa bavite o PC a potom zacnete spominat konzoly a naprosto minoritne mobilne platformy? :)
WP a XBox bezi na okyptenom Windows. Rozhranie PS3 vychadza z GlES, u PS4 naozaj neviem. Ale tj fuk, konzolove veci su bud multiplatformove, alebo exkluzivne pre niektoru konzolu, takze imho celkom mimo zaberu diskusie.
Ako uz "j" nadomnou vysvetlil, v sucasnosti sa najviac hier objavuje pre Android/iOS, teda OpenGL. Vacsina PC hier, co som tento rok ako novinky zaznamenal bola _aspon_ pre Mac, cize OpenGL+DX a tak DX-only hry tvoria minoritu v minorite. Nieco ako linuxak-zenska :-)
O ne-PC platformách jste začal mluvit vy.
Ad rozhranie PS3 vychadza z GlES - GNMX jsem osobně neviděl, ale co jsem četl, je podobné DirectX. Nicméně to není DirectX ani OpenGL ES; je to GNMX.
http://www.eurogamer.net/articles/digitalfoundry-how-the-crew-was-ported-to-playstation-4
http://www.redgamingtech.com/directx-12-low-level-api-analysis-of-xbox-one-game-development/
Hry pro Android/iOS jsou spíš hříčky než hry, ale veliké prodeje jim nelze upřít. Pokud jde o PC, tak hry s podporou OpenGL jsou velkou výjimkou. Setkáte se s nimi na MacOS, kde jde ovšem často o port za pomoci nějakého DirectX-to-OpenGL wrapperu. Dobrá zpráva je ta, že podpora OpenGL na MacOS má konzistentní kvalitu bez ohledu na konkrétní driver. Špatná správa je ta, že ta kvalita je konzistentně příšerná. Navíc MacOS usnul někde mezi OpenGL 3.0 a 3.1. Zkuste si přečíst první dva linky z mého původního příspěvku. Je to test OpenGL ovladačů a článek o kvalitě driverů od Riche Geldreicha z Valve.
Ahem... MacOS X 10.9 nabízí OpenGL 4.1 včetně pár extensions, 10.8 a 10.7 uměly OpenGL 3.2 - úplný přehled např. zde (https://developer.apple.com/graphicsimaging/opengl/capabilities/). Intelí ovladače pro MacOS X jsou na tom z tohoto pohledu dokonce lépe než Linuxové, i když výkonnostně solidně propadají.
Ty články Riche Geldreicha je nutné brát trochu nadsazeně. Dále srovnávat čtyři roky staré OpenGL 4.x s API (možná) budoucnosti, z nichž obě jsou zatím ve fází vývoje není úplně objektivní. Nakonec by asi bylo vhodné zmínit, že nVidia demonstrovala, že i se současným OpenGL se dá driver overhead značně minimalizovat a není k tomu potřeba vymýšlet zcela nové API.
Chyba na mé straně - MacOS usnul někde mezi OpenGL 4.0 a 4.1. Christophe Riccio čas od času dělá testy driverů, které jsem linkoval. Konkrétní detaily supportu OpenGL na MacOS byly na linkované stránce, jde o tenhle soubor:
http://www.g-truc.net/doc/OpenGL%20status.xlsx
On GNMX je hlavne "DX-u podobny" wrapper nad GNM urceny pre PS4. Netusim, s cim ten ma v tejto chvyli nieco spolocne.
Pre ukazku GCM odporucam tento tutorial - http://research.ncl.ac.uk/game/mastersdegree/workshops/ps3introductiontogcm/ Inicializacia je sice trosicku rozdielna, ale renderloop je ciste premenovane OpenGL :)
OpenGL 3.0 je cca zarovno s urovnou aktualnej generacie hernych konzol. Je to sice smutne, ale vcelku chapem, preco na MacOS stacil tak dlho. Rovnako, ako si hry pre Windows celu dobu vystacili s DX9.
Inak teda, aby sme sa, vazeny Loliku dookola nehadali, ktore hry su vynimkou, prelistujte si prvych 5 stran "New releases" tuna - http://store.steampowered.com/
Z 50 hier som naratal 17 "windows only", pritom ale:
- 7 hier pouziva engine schopny vystupu do OGL (Source, Unity, Unreal, Ogre3D, Air...)
- 3 hry su portovane z Androidu
- 4 hry maju slubeny alebo existujuci port na Mac a/lebo Linux niekde mimo steamu
Z 50 hier su 3 nativne pre Windows a z toho jedna nerenderuje do DirectX ale do IE10. Nie do IE9 ci IE11, IE10 je tvrdo vyzadovana :D
Mne osobne DX stale viac a viac pripada ako mrtvola.
Ad tutorial - díky za něj. GCM má zjevně dost společného s OpenGL, ovšem rozdílů je také dost. Například memory management musí být lahůdka.
Z 50 new releases mám 19 Windows-only. Ovšem z těch 30 zbývajících her (jeden kus byl neherní SW) jen tři nemají nálepku indie nebo casual. Ty zbývající tři jsou nízkorozpočtové projekty, minimálně dva z nich mají grafiku která rozhodně není state-of-art, a podle všeho by vystačily s DirectX 8 nebo OpenGL 2.0. Problémy s bugy v implementaci OGL 4.1-4.3, úplná absence OpenGL 4 (Mesa 10.1.1) nebo absence extensions u toho kterého driveru autory fakt netrápí. Podobně není problém s výkonem, protože tohle zvládne s velikou rezervou jakákoliv stará DX9c karta.
https://www.youtube.com/watch?v=r5I76-NE2z4
https://www.youtube.com/watch?v=PtWE7aLnNw8
Z toho že casual nebo indie hříčky existují i pro jiné platformy než DirectX bych rozhodně nedělal ten závěr, že DirectX je mrtvola :). A že enginy umožňují použití OpenGL? Na Windows to prakticky nikdo nedělá, na MacOS a Linuxu to výrobcům enginů výrazně komplikuje život díky odlišnému výsledku rendrování, bugům a chybějící funkcionalitě na straně driverů.
Nejak nevidim za nalepkou "indie" nebo "causual" ten problem, na ktory sa snazite poukazat.
Podpora OGL bola na Windows, zial, vzdy mizerna, co ale celkom urcite nesuviselo so snahou MS pretlacit svoje uzavrete riesenie :P Vyrazne komplikacie medzi autorom toho-ktoreho enginu a spolocnostou ATI (pretoze to je to, co ste v skutocnosti mal vycitat z blogu pana Geldreicha) su na jednej strane realnym problemom, na druhej strane ale problemom autorov enginu, nie autorov hier. Herne enginy vznikaju a su pouzivane prave preto, aby od podobnych problemov odtienili.
A teda, z toho, co som zatial stihol pochytit, ta komplikacia je vyrazne mensia, nez nutnost podporovat *jedinu* platformu, na ktorej Vam OpenGL(ES) teoreticky nebezi.
Indie a casual hry jsou malé projekty, typicky z grafikou na úrovni OpenGL 2.0 a DirectX 9, takže autory řada věcí netrápí - jak jsem psal.
Podpora OpenGL byla na Windows NT svého času poměrně dobrá - SW rasterizer s přípravou na HW akceleraci v driverech (a drivery dodávané s Windows většinou OGL podporovaly). OGL je ovšem původně určené pro aplikace typu CAD, nikoliv na hry. Autoři her to začali lepit projekty jako Glide a MiniGL. MS to pojal trochu systematičtěji a vyvinul DirectX, které lépe řešilo 3D zobrazení, a přidávalo podporu pro změnu rozlišení, fullscreen aplikace, vstupní zařízení, zvuk atd. Od Windows Vista MS nedodává vlastní drivery s podporou OpenGL (jen OGL 1.1 SW rasterizer), a nechává to na výrobcích HW. Pokud máte problém s podporou OGL, je to mezi vámi a výrobcem HW.
Naopak v případě DirectX je součástí certifikace driverů test podporovaných features a test shody se specifikací, včetně shody vyrastrovaného image (s nějakými tolerancemi). Jasně více co grafická karta umí, jak konkrétně to vyrastruje, a drivery jsou zkoušené na chyby. Takže výrazně méně bugů, prakticky stejné rendrování na každé kartě, a žádná bažina vendor extensions. Důvody podpory DirectX u áčkových her hledejte právě tady.
Souhlas, enginy vznikají právě proto, aby vývojáře od tohoto odstínily. Většinou mají dobrý výkon a prakticky přesnou shodu obrazu pod DirectX, a některé fungují i s OpenGL (často interně překládají Direct3D na OpenGL). Díky té změti extensions a bugů to může dopadat všelijak.
> Naopak v případě DirectX je součástí certifikace driverů test podporovaných features a test shody se specifikací, včetně shody vyrastrovaného image (s nějakými tolerancemi). Takže výrazně méně bugů, prakticky stejné rendrování na každé kartě, a žádná bažina vendor extensions.
Lael, preboha, snazte sa zvasty tohoto typu krotit. Ja som si fakt na Windows odohral svoje a zazil som hadam vsetky sposoby, akym moze certifikovany driver zgegnut. Napriklad pri certifikacii notebookovych kariet bola za "zhodne vyrastrovany image" podla vsetkeho pokladana i umelecky stvarnena tma :)
A teraz k veci :)
> Pokud máte problém s podporou OGL, je to mezi vámi a výrobcem HW.
> Důvody podpory DirectX u áčkových her hledejte právě tady.
Ano, cca toto si predstavujem pod mizernou podporou :) A je to zaroven jediny dovod, preco sa s DX vobec niekto zatazuje.
Smiem sa spytat, aky je problem s extensions?
Ad zazil som hadam vsetky sposoby, akym moze certifikovany driver zgegnut - nevím jestli jsem si prošel všechny možnosti, ale také jsem viděl bugy.
Ad cca toto si predstavujem pod mizernou podporou - stejně mizerná je podpora i na Linuxu.
Ad aky je problem s extensions - s extensions větvíte kód podle jejich podpory, což je masakr.
> Ad cca toto si predstavujem pod mizernou podporou - stejně mizerná je podpora i na Linuxu.
To nastastie nie. Developer nemusi pocitat s moznostou, ze si linuxovu verziu jeho hry kupi niekto, koho system nakoniec OpenGL vobec nepodporuje :)
> Ad aky je problem s extensions - s extensions větvíte kód podle jejich podpory, což je masakr.
Kde co ako? Extensions sluzia predovsetkym na testovanie funkcionality, ktora este nebola prebrana do oficialnej specifikacie OpenGL. Nieje to nieco, co by clovek pouzival v ostrej verzii enginu. A keby aj, cele vetvenie bude vyzerat na styl if (neni podpora) -> chybova hlaska -> exit(1).
Ad pocitat s moznostou, ze si linuxovu verziu jeho hry kupi niekto, koho system nakoniec OpenGL vobec nepodporuje - na Linuxu přece nemáte zaručenou ani grafickou kartu, natož OpenGL :)
K poslednímu odstavci: výrobci si často vyřeší problém každý svou vendor extension, a teprve až se pohádají a poměří kdo ho má většího, skončí něco ve specifikaci. A ani pak není zajištěné, že bude výsledek operace u všech implementací vizuálně shodný.
Ak to myslite v kontexte OS tak je to hlupost. OpenGL sa urcite nelisi koli OS ale ako som uz napisal koli GPU vendorom a ich driverom. Ved predsa ide o rovnake API (mimo extensions). To ze v MacOS nemaju 100% implementaciu to je uz ich problem. Kazdopadne aj podla toho grafu je vidiet, ze hra vytvorena a spustitelna v MacOS by nemala mat az take problemy v linuxe ale skor naopak.
Rich Geldreich sice uz tusim nepracuje pre Valve a aj ked niektore jeho dotazy boli dobre s inymi zasa nesuhlasim. Kazdopadne treba sledovat vsetky diskusie a nie len jeden blog.
To ze sa pise vacsina hier v DX je len koli platforme a istej monopolizacii trhu a tazko to potvrdit kedze vela hier je napisanych prave bez pouzita DX ak teda zahrnieme aj konzole a mobilne devices kde je pouzite bud opengl alebo ina proprietarna technologia.
Im sa to nepodarilo lebo skusali pristup mat vela za malo penazi a takto bohuzial stratia aj tych malo penazi co do toho investovali lebo taku hru si asi malokto kupi. Takze ako experiment Ok ale ako vysledny produkt je to fail.
Vy stale kalkulujete s tym ze windows ma vacsi podiel nez linux a ze je nezaujimave vyvijat pre ostatne platformy ale nechapete, ze prave toto moze otvorit novy trh, nezavisly od M$ platformy, co sa uz vlastne aj defacto stalo pri mobilnych devicoch. Teraz je dost tazke odhadnut prijem firiem vyvajucich hry a vypada to tak, ze aj firmy, ktore robia hry pre DX maju financne problemy aj preto, ze tento segment trhu je uz nasyteny. Multiplatformove hry im mozu pomoct aspon ciastocne sa z tohto problemu vymanit.
Takže vy jste i analytik? Skvěle. MS měl za rok 2013 příjmy 77.8mld USD a zisk 21.9mld USD. Zisky z licencování IP výrobcům zařízení s Androidem se odhadují na 2mld dolarů. Podle vás by výpadek cca 2mld USD příjmu vedl ke krachu MS. Wow, vaše analytické schopnosti u mě budí respekt :D
Jak popisuje Geldreich, například na MacOS je implementace OpenGL prakticky shodná bez ohledu na výrobce GPU, ale bohužel konzistentně tragická. Ve Windows a na Linuxu se implementace výrazně liší podle driveru, mají různé sady extensions (bez kterých áčkovou hru nenapíšete), rozdílný výkon při stejných operacích, rozdílný výsledek rastrování těch samých operací, a různé sady bugů (navíc u každé verze driveru jiné).
DirectX vyhrálo díky standardizaci (žádná bažina extensions), nástrojům (debugging) a šíři API (ovladače, zvuk).
Výrobci her mají zájem o co nejlepší poměr výše tržeb a ceny vývoje+ladění+supportu. Mít jednu dominantní platformu se slušným API je pro ně velmi výhodné. Koukněte jaký je nepoměr mezi nabídkou her pro Windows a MacOS. Přitom MacOS má poměrně velkou uživatelskou základnu ochotnou zaplatit v podstatě za cokoliv (dokonce i HW od Applu :)), a drivery i API jsou v poměrně slušném stavu.
Mobilní hry bych považoval za samostatnou kategorii. Většinou jde o casual hry ovládané na malé dotykové obrazovce, pochopitelně s relativně nízkými nároky na grafiku i CPU. Průnik se světem PC her je tedy dost malý, a s tím jsou malé i výhody vývoje OpenGL hry pro Windows+mobily.
Ad firmy, ktore robia hry pre DX maju financne problemy - na herním trhu je vždycky spousta neúspěšných hráčů. Rozdíl mezi úspěšným a krachujícím vydavatelem her není v tom, že ti první nezapomněli na to 1% Linuxu :). Například GTA V nasbíralo miliardu dolarů za pouhé tři dny, jeho prodeje se zapsaly do Guinnessovy knihy rekordů. Přitom hra vyšla jen pro Xbox 360 a PS3. Ono to chce spíš dobrý nápad, příběh, špičkovou grafiku a vůbec dobré technické zpracování.
Lenze podla toho ako to teraz vypada sa daju napisat Ackove hry aj na openGL. Tie extensions su totiz aj tak hlavne features pre jednotlive GPU a hra, ktora ma zaujem bezat pod viacerymi GPU ich pouzivat nemoze. To co je v extensions sa neskor prijme do hlavnej rady pokial sa to osvedci takze tuto problem vo filozofii nevidim. Ten pan nadaval hlavne na tazsiu pracu s OpenGL nez by mohla byt ale nic nehovoril o tom, zeby sa tam hry nedali spravit. Tie komplikacie sa daju v podstate vzdy obist.
Inak co sa tyka tych extensions by ma zaujimalo ako toto budu riesit v DX12, ktory sa ma podobat na mantle. Mantle totiz vyuziva priamo HW GPU co moze byt problem nie len by vendor ale aj by typ GPU. Vidim tam problem rovnaky ako je pri extensions kedy jednoducho nebudete moct vytvorit hru, ktora je schopna na 100% vyuzit vas GPU. Bud pouzijete extensions aby ste vyuzil HW alebo bude vsade rovnaka specifikacia a potom nemozte vyuzivat moderne GPU optimalizacie.
S prvním odstavcem souhlas. Komplikace se dají obejít, ale stojí to čas, a čas jsou peníze.
U nízkoúrovňového API jsem také zvědavý na výsledky. Vnímám jistý problém v designu API, které na jedné straně má vytvářet abstraktní vrstvu nad HW, a na druhé straně má být nízkoúrovňové. Ale co jsem zatím viděl, má jít především o snížení režie driveru a možnost krmit GPU z více threadů najednou.
O Mantle se sice dost mluví, ale poněkud mlhavě. AMD podle všeho nedává specifikaci veřejně k dispozici, resp. jsem ji nenašel. Alespoň to vypadá, že to API má konečně podporu i v ostré verzi driverů.
Jenže Zaklínač pro MacOS právě není nativní port, ale používá úplně stejný "wrapper" jako Linux.
http://thelinuxrain.com/articles/witcher-2-lands-on-steam-for-linux-is-windows-wrapped-version
Protože MacOS X není Linux:) Nejsou tam Xka, ALSA, PulseAudio, Mach kernel se taky určitě chová jinak než Linux. Přepis 3D enginu na OpenGL je sice asi nejpracnější, ale rozhodně ne jediný nutný krok. Podstatnou roli budou hrát ovladače GPU. Bylo docela zajímavé sledovat, na kolik výkonnostních nedostatků narazil Valve při portaci Source Engine na Linux v ovladačích nVidie, ačkoliv by - dle tvrzení nVidie - ta podstatná část ovladačů měla být všude stejná a nalezené problémy byly specifické pro Linux.
V případě Zaklínače ale bude za tímto fiaskem nejspíš stát wrapper eON. I verze pro Mac měla v době uvedení stejné problémy (http://steamcommunity.com/app/20920/discussions/0/810923580559758275/ , http://www.gog.com/forum/the_witcher_2/witcher_2_mac_performance_issues/page1). Tipnul bych si, že přes eON na Linuxu nikdy nic tak náročného jako Zaklínač neběželo a proto je zle neoptimalizovaný. Už jen absence multithreadingu lecos napoví. Snažil jsem se zjistit, jaké další produkty pro běh na Linuxu eON používají a na nic jsem nenarazil.
Mno jiste ... za 2-3 roky, kdyz ji (mozna) opatchujou ... tak ji (mozna) i spusti. A pak jeste potrebuje nainstalovat aspon 10x "nejnovejsi" ovladace, ktery povypinaj 1/2 uzasnych funkci.
Plati o 100% produkce.
Takze ve finale je za pitomce hned 2x, protoze si krome nefunkcni hry koupil jeste nefunkcni deravej system.