Droga do opanowania w stopniu dobrym C++.

0

Witam coś tam kodze już w c++ ale aktualnie stoję na rozdrożu i chciałbym zaczerpnąć rady:].Mój Cel to Praca w firmie zajmującej się produkcja gier AAA na stanowisku Gameplay Programmer.
Skończyłem kurs programowania c++ ze strony http://cpp0x.pl/kursy/+ czytam książkę Programowanie Teoria i Praktyka z wykorzystaniem c++ Bjarne Stroustrup.
I Teraz potrzebuje rady w jakim kierunku rozwoju iść:
-Od razu Unreal Engine i klepać powoli projekty jeden za drugim zyskując doświadczenie?
(Tu mi się wydaje że nie rozwinę umiejętności pisania kodu i umiejętności c++ gdyż tam wszystko mamy gotowe i głownie klikamy myszką)

-klepać zadania do c++ np SPOJ itp aż będę w stanie robić te ŚREDNIE/TRUDNE i dopiero się zabrać za robienie Gier?
(Tutaj fajnie uczymy się logicznie myśleć ale tego kodu też za dużo tutaj nie napisze raczej będę siedział i myślał jak rozwiązać problem a chodzi o to żebym się oswoił z pisaniem kodu przynajmniej tak mi się wydaje).

-A może pierwsze jakiś SFML tam zrobić z 3 projekty i dopiero przejść na Unreal Engine/Zadania?
(Tutaj wydaje się najlepsze wyjście ale z drugiej strony WGL nie celuje w gry 2d wiec też wydaje się to lekką stratą czasu)

Mój aktualny cel to opanować język programowania c++ w stopniu dobrym.

A chodzi mi o wasze propozycje rozwoju popierane jakimiś argumentami z góry bardzo dziękuje za każdą odpowiedź.

2

Samo C++ przy pisaniu gier niewiele Ci da. Bardziej ambitne tytuły posiadają często swoje własne silniki napisane w C++. Poza tym istotna jest również matematyka oraz fizyka - bez tego nie widzę pracy w pisaniu gier. Osobiście poćwiczyłbym algorytmikę na bazie jakichś zadań, a później napisał jakieś swoje mini gry ze 2-3. Nie musi to być kosmos ani graficzne arcydzieło. Świat znał wiele tytułów z minimalną ilością grafiki, które były grywalne bardziej niż te nią przeładowane. Gotowe silniki zostawiłbym na sam koniec gdy będziesz w stanie zbudować coś samemu z pomocą nawet jakichś gotowych bibliotek.
Zajrzyj sobie na kanał TheMatrix, który od kilku już lat regularnie wrzuca vlogi z produkcji swojej gry w Javie. Fajny motywator/inspiracja.

1

W UE zamiast klikać myszką możesz pisać skrypty w C++. Spotkałem się z kolesiem, który w ogóle używał UE bez edytora...

Ćwiczenie SPOJ to bardziej matematyczny/algorytmiczny trening. Nauczysz się pisać małe programiki, które wymagają od Ciebie poznania języka programowania, ale jeszcze bardziej wymagają od Ciebie wytężania szarych komórek na zrozumienie problemów i rozwiązywanie ich w sprytny sposób (nie brute forcem). Przy grach częściej jesteś "klepaczem", niż "programistą". Trudność polega na orgranizacji projektu, składającego się z tysięcy lini kodu i setek klas. Porobieniu odpowiednich dojść z jednego miejsca systemu do drugiego itd.
SPOJ twórcy gier przyda się jak pisanie wierszy powieściopisarzowi.

Gry 2D od 3D niewiele się rożnią. W niektórych przypadkach tylko assetami graficznymi, bo technicznie to też shadery, trójkąty, tekstury itd.

SFML bym nie polecał, ani żadnej innej niszy. Unity, czy Unreal to kompletne rozwiązania w zakresie gier. Jak zaczniesz robić w czymś innym, niż technologia docelowa to potem będziesz musiał się przestawiać, co powoduje zniechęcenie... Z poziomu mistrza SFML, stajesz się noobem w Unreal... Oczywiście da się pokonać tę przeszkodę, ale można sobie tego oszczędzić.

Rób krok po kroku wszystkie elementy gry zgodnie z wybranym silnikiem to nie zginiesz pod ogromem możliwości/opcji :]

BTW. ja bym się nie pchał w C++, wybrałbym silnik z innym językiem. W Cpp za dużo pułapek...

4

A ja polecam zrobić taki myk, wybrać klika ulubionych gier i popatrzeć na "napisy końcowe", kto przy tych grach pracował i co robił.

Zobacz ilu jest tam:

  • programistów
  • testerów
  • grafików
  • grafików 3d
  • muzyków
  • projektantów poziomów
  • scenarzystów
  • osób związanych ze sprzedażą i marketingiem
  • itd itp

Generalnie, jeśli zależy ci na tworzeniu gier, to droga programisty wcale nie musi być dla ciebie najlepszym wyborem.
Na dodatek, zwróć uwagę, że czasami programiści stanowią mniejszość w produkcji gier.

2

Jeśli chodzi o gry AAA to z tego co wiem w c++ pisze się jedynie silniki gier. Reszta to skrypterzy, level designerzy, scenarzyści, graficy etc Tutaj już nie zawsze jest c++.

Sam kiedyś chciałbym pracować w takiej branży, ale w dzisiejszych czasach raczej już nie będziesz uczestniczył w tworzeniu silników, bo chociażby taki UE dostarcza masę contentu. Zarobki najgorsze w całym świecie IT a ofert pracy malutko. Jeżeli jest to twoja mega pasja to zacznij ogarniać szczególnie grafikę komputerową, ale serio zapoznaj się najpierw z realiami, żeby się nie przejechać później.

0

Dziękuje wszystkim za odpowiedzi nakierowało mnie to mniej więcej w którą stronę pójdę.

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