Uczenie się programowania


#1

Witam. Czy, jeżeli chce pracować w game devie jako programista to mogę uczyć się danego języką z naciskiem na gamedev? Chodzi mi o to czy np. najpierw wykuć całego C# i dopiero wtedy cokolwiek myślec o gamedev, czy lepiej od samego poczatku siedziec w unity i uczyc sie tego co potrzebne do najprostych gier etc.?


#2

Ucząc się ‘programowania gier’ nauczysz się, owszem, jak robić gry. Ale twój kod nie będzie dobry a rozwiązania bardzo nieoptymalne. Napiszesz prostą gierkę na telefon, która jakoś tam ledwo ledwo będzie działać i nic poza tym.
Unity przyciąga pozorną prostotą - ot tu sobie zrobisz skrypcik, tu wyklikasz scenę. I teoretycznie będzie ci wszystko działać. W praktyce, dla większych projektów takie coś nie będzie wystarczać. Ja zawsze radziłem zaczynać od C++, algorytmów, struktur danych - czyli z tak zwanej ‘grubej rury’. Jeśli nie dasz rady opanować takich rzeczy to jakakolwiek nauka ‘pisania gier’ będzie oszukiwaniem samego siebie.

(Mówi to ktoś, kto zawodowo programuje od 15 lat)


#3

Zgadzam się, że rozwiązania nie będą optymalne, ale lubię przypominać o premature optimization, YAGNI na każdym poziomie projektu - bo ta zasady tyczy się nie tylko samej fazy programowania. Na początku drogi nikogo (włącznie z Tobą) nie będzie interesować czy gra chodzi wystarczająco szybko. Tylko, że działa, że jest Twoja.

Stąd zdecydowanie nie polecam iść do celu okrężną drogą (tj. najpierw uczyć się programowania, algorytmów itd.).

Jeżeli chcesz robić gry, zacznij faktycznie od Unity, C# ogarniając w międzyczasie. Oglądaj tutorialki jak coś zrobić do gry, przepisuj kod, eksperymentuj z nim zmieniając proste wartości.

Zobacz czy to Ci się podoba. Może okaże się, że programowanie (pisanie kodu) Cię nie jara, a bardziej design (tweatowanie parametrów). Wtedy nie stracisz czasu na uczenie się czegoś czego jak się okazuje nie potrzebujesz.


#4

Autor tematu wyraźnie zaznaczył, że jego celem jest praca jako programista. A w pracy zawodowej na prawdę, wszystkich bardzo interesuje, czy gra działa poprawnie, wydajnie, czy jest zoptymalizowana. W tym wypadku bawienie się w klikanie w Unity to właśnie okrężna droga. Bo najpierw poznajemy coś, co z programowaniem ma niewiele wspólnego i być może ograniczać się będzie tylko do jednego silnika gier.


#5

Zacznij od C# w unity.

C# ma bardzo niski próg wejścia, a w unity szybko widać efekty pracy.
Wybierając C++ na początek łatwo się zrazić.

Lepiej przejść do niego nieco później jak załapiesz podstawy.


#6

Wszyscy doskonale wiemy ze przygode z gamedevem zaczyna sie od pisania wlasnego silnika :stuck_out_tongue: A tak na serio, mocno zalezy w ktora strone chcesz isc sa ludzie ktorzy po prostu chca robic gry a sa tacy ktorych jara techonolgia z tym zwiazana (wlasnie tak zwani silnikowcy) Z perspektywy czasu tez bym polecił unity jezeli nie interesuje cie co tam sie pod spodem dzieje.