Nauka programowania poprzez gry

0

Nie jestem osobą świeżą w programowaniu. Potrafię robić aplikacje desktopowe, nie mam problemów z wielowątkowością, socketami, bazami danych i ogólnie coś tam już swojego potrafię kodować chociaż wiele mi brakuje bym czuł się na siłach do szukania pracy. Uczę się głównie na własną rękę. Najlepiej czuję się (zgodnie z kolejnością) w językach Python, C#, C++, C. Ostatnio dla czystej rozrywki postanowiłem napisać prostą gierkę w pyGame. Prosty świat stworzony z figur geometrycznych, implementacja fizyki, kilka poziomów, starałem się naprawiać wszystkie napotkane bugi itp. Nie spodziewałem się, że taka forma programowania tak bardzo przypadnie mi do gustu. Dużo z tego wyniosłem głównie jeśli chodzi o obiektowość - udało mi się wszystko zaimplementować w ładnie skonstruowane klasy, które po sobie dziedziczyły czego zwykle nie chciało mi się robić ponieważ miałem wrażenie, że nie ma to sensu przy tak małych projektach. W tym przypadku jednak nawet samo "ubieranie" kodu w obiektowość przynosiło mi tyle przyjemności jak nigdy podczas programowania. Myślę, że odkryłem coś w czym czuje się najlepiej. No, ale przejdę do sedna.

Jak wspomniałem nie czuje się na siłach, by podjąć pracę jako programista, ale jest to moim marzeniem (głównie backend, frontendu się nie boję, ale sprawia mi problemy robienie "ładnych" grafik, nie mam do tego dobrego oka :/ ). Moje pierwsze pytanie brzmi, czy poprzez programowanie gier jestem w stanie nauczyć się rzeczy, które pomogą mi na drodze zawodowej jako programista backendowy? Daje mi to niezwykłą motywację do działania, niestety wiem, że z rynkiem pracy dla game developerów w Polsce jest kiepsko (tym bardziej, że jestem laikiem), dlatego chciałbym wiedzieć czy jest szansa, że znacząco da to rezultaty w ogólnej wiedzy potrzebnej do podjęcia pracy jako developer.

Drugą sprawą z którą chciałbym się do was zwrócić jest Unity. Konkretnie, czy jest to dobry start jeśli chciałbym jednak się rozwijać w kierunku Game Developera (niestety w grę wchodzi tylko praca w Polsce). Jeżeli nie, jakie inne środowiska polecacie?

1

Unity do mniejszych gier, zazwyczaj nie AAA.
Unreal do większych, droższych produkcji.

W Unity chyba jest więcej miejsc pracy. Poczytaj sobie oferty: https://www.skillshot.pl/
Podobno na rynku gier najlepiej zacząć od stanowiska testera. Można poznać na spokojnie jak działa firma, nawiązać kontakt z odpowiednimi ludźmi, aż w końcu pokazać odpowiedniej osobie jakieś swoje domowe dokonania i spróbować na stanowisku programisty ;)

3

Jak wspomniałem nie czuje się na siłach, by podjąć pracę jako programista

To już pierwszy krok do tego, żeby nim zostać. Dziwnie to czytać po tym jak zawsze tu pisano 'programuje dwa tygodnie, nikt nie odpowiada na CV, mam kalkulator na GH'. Szacunek.

Generalnie, odpowiadając na Twoje pytanie, jakiekolwiek programowanie pomoże Ci zostać programistą, baw się tym, ucz nowych rzeczy, a sam zauważysz, że po pewnym czasie nauczenie się czegokolwiek z tej branży nie będzie żadnym rocket science.

Brawo za samokrytycyzm i powodzenia. :)

1

Fajnie się czyta takie posty, człowiekowi wraca na moment wiara w ludzi :)

Pisanie gier może pomóc z ogarnianiem backendu szczególnie, gdy piszesz grę działającą przez sieć. Wtedy masz szansę ogarnąć sam temat komunikacji po sieci, możesz się już pobawić w zabezpieczanie takiego serwera, wykorzystać jakąś bazę danych, spróbować go np. rozproszyć, poznasz jakieś protokoły typu RPC, RMI, może jakiś HTTP albo SOAP czy bardziej niskopoziomowo TCP / UDP. ;)

1

Polecam zaczac od czegos "nizej poziomowego" niz Unity. SFML, Libgdx.

Jak to obejrzysz powinienes miec na tyle podstaw by ogarnac proste mechaniki i cos robic samemu.

Linki:

I seria Gyna jak zrobic Sokobana:

Grafika sie nie przejmuj, zrob placeholdery, sciagnij cokolwiek z sieci, albo narysuj jak umiesz :) Jako przyklad w zalaczniku screen z jednego z moich prototypow. Paradoksalnie brak grafiki moze byc plusem bo starasz sie nadrobic czyms innym.

1 użytkowników online, w tym zalogowanych: 0, gości: 1