Korzyści z robienia gier w przeglądarce
Gry w przeglądarce jest to raczej hobbystyczna działka. Owszem, są firmy, które zarabiają na grach przeglądarkowych, czasem jakaś oferta pracy jest, ale powiedzmy sobie szczerze - to nie jest pewna ścieżka kariery. Jest to nisza, na dodatek niezbyt doceniana czy szanowana (a szkoda, bo wymaga często dużych skilli). Więc jeśli twoją motywacją jest to, że robienie gier jest ciekawe i chcesz po prostu je robić, to bardzo zachęcam...
...ale jak chcesz oprzeć na tym swoją karierę i znaleźć pracę, to raczej sugerowałbym znaleźć sobie inne, bardziej rynkowe zajęcie.
Jednak tworząc gry przeglądarkowe łapiesz parę rzeczy, które mogą ci się przydać poza gamedevem:
- WebGL (i biblioteki obsługujące go takie jak Three.js) - w WebGL można robić różne wizualizacje czy demka, co czasem jest poszukiwane na rynku... chociaż rzadko i ciężko się dostać, bo jest duża konkurencja, więc również odradzam opieranie na tym swojej całej kariery, bo się przejedziesz. Tym niemniej fajnie to wygląda w portfolio.
- Umiejętności programowania grafiki, które mogą się przydać również gdzie indziej (poza webem).
- Znajomość matematyki. Zaczynasz rozumieć wektory, macierze, krzywe, gradienty i różne inne rzeczy (nie bez wysiłku oczywiście). Takie skille mogą się przydać później w machine learning (ale też odwrotnie - uprzednia znajomość matmy może ci pomóc w robieniu gier).
- Poznajesz trochę struktur danych i algorytmów, ogólnie wzmacniasz swoje myślenie algorytmiczne. Poznajesz też sztuczki optymalizacyjne, zaczynasz więcej uwagi zwracać na wydajność - takie podejście może ci się przydać w wielu innych działkach programowania.
- Uczysz się tworzyć aplikacje, w którym wiele różnych obiektów będzie wysyłać do siebie nawzajem komunikaty i gdzie flow programu będzie oparty o eventy - to się szalenie później przydaje np. na frontendzie, ale i na backendzie przecież, gdzie masz wiele różnych serwisów wzajemnie się komunikujących za pomocą eventów.
- Rust - nie oszukujmy się, jak cię jara robienie gier w przeglądarce, to wcześniej czy później zaczynasz się uczyć Rusta i kompilować go przez WebAssembly. A znajomość Rusta jest... również dość rzadko poszukiwana. Mimo wszystko Rust ma przed sobą wielką przyszłość. Budujesz swoją przyszłość na 5-10 lat w przód, jak Rust już będzie top językiem.
I zapewne wiele innych. Przy czym nie jest to z automatu. Te zalety to jak świadomie i głęboko w to wejdziesz. Tym niemniej tworzenie gier jest fajne, że stawia przed tobą wiele wyzwań i po prostu potrzebujesz się nauczyć tego, jak działają pewne algorytmy czy techniki. Dlatego jest to fajna metoda na wzmocnienie skillów programistycznych, a jednocześnie dużo dobrej zabawy okupionej długimi godzinami frustracji (nie zawsze jest kolorowo).
Chciałbym napisać grę podobną do let's fish z wypasioną grafiką pod ekrany 4K, ale gra ma się ładować tylko w przeglądarce, bez instalatora na dysk. Jaką technologię wybrać?
OdpowiedzUsuńTylko po co wybierać Rust jak jego składnia jest bardzo rozbudowana i trudna w odczycie, skoro można wybrać inne proste języki i kompilować je przez WebAssembly. Jest teraz Bend, Mojo, Nim mają składnie Pythona i szybkość Rust. O wiele prostszy jest Zig, a Odin idealnie pasuje do gier. Tak samo Hylo, Roc, czy nawet Swift 6.
OdpowiedzUsuńLudzie na reddit piszą że w kompilatorze Rust są tyle furtki dlatego chcą usunąć C++.
OdpowiedzUsuń