Zanim przystąpimy do pracy nad grą, czeka nas szereg mniej lub bardziej trudnych decyzji. Żeby jednak dojść do tego momentu, trzeba sobie odpowiedzieć na jedno pytanie. Na jakim systemie operacyjnym chcemy pracować?

Część osób w zasadzie nie ma wyboru, bo pracuje na tym co ma. Często ludzie chcący się specjalizować w czymś, nie kończą tylko na nauce narzędzi, technologii i metod pracy, ale też dbają o optymalizację środowiska i sprzętu. Tym sposobem osoby renderujące grafikę czy filmy będą inwestowały w potężne wielowątkowe procesory i spore ilości RAMu czy tablety graficzne. Większość zdecyduje się na zakup dodatkowych monitorów, czy ekranów o wyższej rozdzielczości etc.

Podział rynku OSów wśród użytkowników Unity.
Źródło: http://hwstats.unity3d.com/

Częścią takiego procesu optymalizacji może być dobór systemu operacyjnego. Mamy w zasadzie 3 możliwości: Windows, Mac OS X i Linuxy. Tak, wiem że są jeszcze Androidy, Steam OSy, Chrome OSy etc. ale to wszystko to kolejne pochodne rodziny Unixowej i raczej żaden z nich nie jest przystosowany do pracy, dlatego skupię się na wspomnianej trójce. Aha. DOSa też odrzucam.

Linux

Zaczynam od systemu sygnowanego pingwinkiem z bardzo prostego powodu. Linuxa do pracy z Unity nie poleca nikt. Jeżeli spojrzycie sobie na zestawienie sprzętu na jakim ludzie pracują z Unity zobaczycie, że pierwszy Linux to Ubuntu 16 zapełniające całe 0.2%. Jeżeli skumulujemy wszystkie Linuxy dostaniemy zawrotną liczbę 0.6%. Dlaczego to jest ważne? Linuxy są raczej systemami dla zaawansowanych użytkowników. Dużo rzeczy trzeba sobie zrobić czy skonfigurować samemu. Więc jeśli traficie na jakieś błędy kompatybilności Unity z OSem, musicie trafić na forum na te 0.6% społeczności Unity, żeby liczyć na jakąś pomoc.

Użytkownicy Linuxa są tak niezdecydowani, że wykres można pomylić ze sztuką nowoczesną. Źródło: http://hwstats.unity3d.com/

Natomiast na sam problem na pewno traficie. Ze wszystkich dostępnych systemów operacyjnych Linux uchodzi za ten najgorszy dla Unity. Silnik na tym OSie jest po prostu źle zoptymalizowany i najbardziej zabugowany.

Ostatecznie? Z Linuxa i Unity korzystamy, tylko kiedy nie mamy innego wyboru.

Mac OS X

Oprogramowanie na systemy spod znaku jabłka jest z reguły bardzo dopracowane. Projektowane na bardzo ograniczoną architekturę oprogramowanie może wyciskać z ostatnie soki z podzespołów. Dzięki temu wielu profesjonalistów (grafików, montażystów – ogólnie użytkowników pakietu Adobe) decyduje się na ten system. Za swoją cenę oferuje większą stabilność i szybkość działania. Podobnie jest z Unity. Sporo osób potwierdza, że na Macu Unity działa najszybciej.

Ostatnio spore przetasowania w Apple Źródło: http://hwstats.unity3d.com/

Na jabłkach pracuje 5.1% użytkowników Unity. Jednak nie zawsze musi to wynikać z tego komfortu czy stabilności. Ważna jest też licencja Maca. Mianowicie: aby tworzyć oprogramowanie na system operacyjny Apple, należy pisać je na… systemie operacyjnym Apple. Tym samym w torii jeśli chcemy tworzyć gry na OS X albo iOS to powinniśmy robić to na charakterystycznym, białym komputerze.

Innymi słowy: jeśli marzy wam się budowanie gier na systemy od Apple, musicie dysponować komputerem z jabłkiem.

Build Unity na iOS
Mała uwaga: ktoś może powiedzieć, że przecież Unity buduje grę na OS X więc gdzie tu problem? Problem jest taki, że Unity nie tworzy finalnej aplikacji, tylko przygotowuje projekt XCode. XCode jest oprogramowaniem dostępnym tylko i wyłącznie na komputery Apple. Należy taki projekt wpakować sobie do tego środowiska i dopiero tam wykonać ostateczną kompilację.  Problemem będzie też testowanie aplikacji, bo stworzenie np. wirtualnej maszyny z Mac OS X będzie złamaniem licencji.

Windows

Bardzo dobrą praktyką w programowaniu jest pracowanie na środowisku w którym aplikacja będzie używana. Przez to dużo web developerów pracuje na Linuxach, bo większość serwerów stoi na tym systemie. W przypadku gier, zdecydowana większość graczy to użytkownicy okienek. Stąd nie może dziwić, że większość gier powstaje na tym systemie (94.5% użytkowników Unity pracuje na Windowsie).

Unity radzi sobie nawet na XP Źródło: http://hwstats.unity3d.com/

Jak zwykle Windows jest czymś pośrodku. Staje między drogim, ale stabilniejszym i szybszym OS X, a darmowym i zwariowanym Linuxem. Spora liczba użytkowników sprawia, że wszelkie błędy na tym systemie szybko trafiają do twórców silnika i są błyskawicznie usuwane.

Dodatkowo odkąd Unity nawiązało współpracę z Microsoftem, można się łatwo domyślić pod który system Unity będzie nakierowane. Po za tym językiem skryptowym Unity jest C#, który należy do Microsoftu, więc właśnie na Windowsie powinien działać najlepiej.

64 vs 32 bity

Ostatnia kwestia to ilu bitową wersję systemu wybrać? Tutaj odpowiedź jest raczej prosta. Jeżeli możemy to warto wybrać wersję 64 bitową. Będzie po prostu szybsza. Blisko 70% użytkowników Unity zdecydowało się na ten wariant. Można wtedy również wykorzystać większą pojemność RAMu.

To który system?

Dla mnie odpowiedź jest prosta. Jeżeli Ty (lub Twoja firma) planujecie budować na systemy Apple, co najmniej jeden komputer tego producenta będzie potrzebny. Nie koniecznie do pracy, ale do finalnego budowania projektu. Jeżeli jabłka nie są system docelowym, to najlepszym rozwiązaniem będzie Windows. Jeżeli nie stać Cię (albo Twojej firmy) na fundowanie Windowsów, wtedy zostaje Linux.

  • Mateusz Tomaszewski

    dziękuję za ten wpis :)