Czy uzyskanie dyplomu z matematyki pomoże w tworzeniu gier? [Zamknięte]


11

Mam dwa miesiące do ukończenia inżynierii systemów, czyli nauczyłem się dobrze kodować i kodować przy użyciu zarządzanych języków.

Jedynym powodem, dla którego dostałem się do tej kariery, było to, że chciałem tworzyć gry wideo. Wiem teraz, że przy obecnym zestawie umiejętności nie będę w stanie stworzyć niektórych rzeczy, które mam w głowie.

Czy zdobycie drugiego stopnia czystej matematyki pomogłoby mi w osiągnięciu tego celu?


Czy to w końcu pomoże? Tak. Czy to absolutnie konieczne? Nie. Czy to najbardziej pomocny element, aby się tam dostać? Nie. Rozwój pozwoli ci się rozwijać. Matematyka ułatwi ci zrozumienie, co jest wymagane do tworzenia gier i koncepcji stojących za wieloma aspektami tworzenia gier. Możesz bardzo dobrze wdrożyć całkiem przyzwoitą grę bez zrozumienia matematyki. Nie możesz jednak opracować gry bez zrozumienia, jak programować. Nie powiedziałbym, że musisz teraz rozpocząć inny kurs, aby wskoczyć do puli kariery.
haylem

Odpowiedzi:


14

Żaden rodzaj dyplomu nie pomoże ci jako programista bardziej niż programowanie.

Doświadcz atutów studiujących. Jeśli chcesz być dobrym programistą, zacznij programować . Nie mam dyplomu, ale programowałem dla różnych projektów dla zabawy, ponieważ miałem około 15-16 lat; nie trzeba dodawać, że jestem o lata świetlne przed moimi przyjaciółmi, którzy studiowali informatykę na uniwersytecie i zadawali mi pytania typu „czy lepiej jest sprawdzać uprawnienia administratora mojej witryny za pośrednictwem PHP lub opcji SQL GRANT?”.


2
Z drugiej strony, ktoś, kto zna ich matematykę, mógłby zbudować znacznie bardziej wydajny kod. Prosty przykład: sumowanie liczb od 1 do x. Niektórzy programiści nie są świadomi sposobu, w jaki to robi O (1), ale każda matematyka powinna być.
cHao

10
@ cHao - Nie potrzebujesz stopnia, aby to zrozumieć.
ChaosPandion

3
Zgoda. To tylko prosty przykład. Są o wiele bardziej zaangażowani, jak ... powiedzmy ... obracanie punktów wokół punktu środkowego lub ustalanie środka ciężkości. Każdy z nich może znaleźć zastosowanie w grze, a punkty są dość powszechne. Tak, możesz znaleźć jakąś formułę w Internecie, aby zrobić niektóre z tych rzeczy. Ale jeśli nie zrozumiesz, dlaczego formuła działa, po raz pierwszy utkniesz w martwym punkcie, którego nie można rozwiązać za pomocą polecenia cut-n-paste.
cHao

3
@cHao: Google nie tylko dostarcza formułę, ale także zapewnia dokładny opis jej działania i zasad, na których się opiera, na podstawie których możesz przestudiować ją za pierwszym razem. Jest to o wiele bardziej skuteczne niż badanie wszystkiego z wyprzedzeniem „na wszelki wypadek”, gdy jest to potrzebne.
Thomas Bonini,

2
Czy kiedykolwiek próbowałeś zrozumieć te szczegółowe opisy? Tak wielu z nich odczytuje jak szum linii i wymagałoby trochę wcześniejszej wiedzy matematycznej, aby je nawet rozszyfrować.
cHao

11

Mam pochodzenie matematyczne (licencjat z podwójną specjalizacją w matematyce czystej i stosowanej, a następnie doktorat z matematyki stosowanej). Jednak pracowałem jako programista przez ostatnie 6 lat. Mój dyplom z matematyki dał mi moją pierwszą pracę programistyczną (w branży filmowej VFX - więc ciężkie grafiki). Ale faktyczne matematyki, których użyłem na studiach, były minimalne.

Istnieją dwa sposoby myślenia o stopniu matematyki. Po pierwsze, uczysz się o złożonej matematyce z przedmiotów eseoterycznych. To (głównie) bezużyteczne. Drugi polega na tym, że trenujesz swój mózg, aby rozumieć złożone systemy, znajdować złożone wzorce i znajdować rozwiązania złożonych problemów. Jest to dość istotny element poważnego rozwoju oprogramowania.

IMHO niektórzy ludzie mają talent do tego rodzaju rozwiązywania problemów (z pewnością tak zrobiłem), ale nadal poprawią się dzięki formalnej nauce (z pewnością zrobiłem to ponownie). Tego rodzaju szkolenia może być bardzo brakuje w niektórych stopniach inżynierii CS.

Powiedziałbym, że weź jak najwięcej matematyki, jak możesz, nie pożałujesz. Nie starzeje się jak język programowania. (FORTRAN jest nieaktualny dopiero za 30 lat. C # prawdopodobnie pójdzie tą samą drogą. Ale rachunek różniczkowy, geometria, teoria grup będą dostępne za kilkaset lat).


5

Ogólnie rzecz biorąc, podwójna specjalizacja z matematyki i informatyki może się opłacić. Mówiąc z doświadczenia, ogromnie mi to pomogło. Pracowałem w lotnictwie / obronie i finansach; oba mogą być dość ciężkie z matematyki. Nie robię matematyki na co dzień. Jednak stopień matematyczny dał mi umiejętności znacznie lepszego rozumienia wiedzy w tej dziedzinie niż niektórzy z moich rówieśników. Google może dać Ci formuły, ale nie pomoże Ci je zrozumieć.

W twoim przypadku wziąłbym jeszcze jedną lub dwie kolejne klasy matematyki. Niektóre sugestie to algebra liniowa, równania różniczkowe, modelowanie lub geometria. Stopień matematyczny trwałby kolejne 1-2 lata; to nie jest łatwiejsze niż stopień informatyki. Przy kolejnym dziecku przydatne byłyby pieniądze z pracy.


Wziąłem równania różniczkowe i niektóre z tych pojęć byłyby zdecydowanie przydatne.
ChaosPandion

4

Jeśli twoją pasją było po prostu bycie programistą, powiedziałbym, że matematyka nie jest konieczna. Ponieważ jednak określiłeś pion, w którym chcesz zastosować swoje umiejętności, powiedziałbym, że wiedza o tym pionie może tylko pomóc.

Dlatego matematyka jest absolutnie niezbędna do dobrego programowania gier . Teraz można dyskutować, czy musisz kontynuować naukę drugiego stopnia z tego przedmiotu. Prawdopodobnie mógłbyś sobie poradzić z niewielkim lub nawet zmotywowanym samokształceniem. Do programowania gier gorąco polecam wszystko oparte na algebrze liniowej, ponieważ są to nakrętki i bolączki 3D.


2

Matematyka jest świetnym sposobem uczenia się myślenia o systemach formalnych i można się z niej wiele nauczyć.

Jeśli zastanawiasz się, czy nie pójść kiedyś do szkoły, możesz spróbować matematyki. To może sprawić, że będziesz się wyróżniać, częściowo dlatego, że ogólnie łatwiej jest być informatyką niż matematyką, a częściowo dlatego, że jest to dobry fundament do nauki bardziej teoretycznych rzeczy.

Są pewne części matematyki, które na pewno chcesz poznać, ale wiele z nich prawdopodobnie będzie nauczane w programie nauczania informatyki. Mam nadzieję, że twoi mieli mniej lub bardziej ukryte zajęcia matematyczne, ucząc takich rzeczy jak teoria złożoności i teoria grafów.

W przypadku gier wideo zdecydowanie chcesz więcej matematyki. Musisz być bardzo dobry w algebrze liniowej i musisz znać rachunek różniczkowy. Musisz znać geometrię, trygonometrię i algebrę, ale te (przynajmniej w tych formach) zwykle nie są zajęciami na studiach. Równania różniczkowe mogą, ale nie muszą być przydatne. Nie potrzebujesz dyplomu, aby się o tym przekonać (chociaż pomniejszenie matematyki byłoby przydatne, jeśli chcesz pracować z kimś innym), ale musisz to wiedzieć, a ja nie znam lepszego sposobu na naukę niż kursy na studiach.


2

Matematyka o wartości jednego stopnia byłaby prawdopodobnie przesadą. Chociaż znajomość matematyki bardzo ci pomoże (szczególnie w każdej poważnej próbie programowania 3D), mam wrażenie, że nie będziesz w stanie zastosować dużo tego, czego nauczyłbyś się z czystym dyplomem z matematyki. Jednak nadal polecam wziąć przynajmniej kilka zajęć.

Jeśli chodzi o argument „studiowanie atutów doświadczających”, pewna ilość studiów może powstrzymać cię przed koniecznością uczenia się przez próbę i błąd. Wiem, że wolałbym wcześniej powiedzieć, czy to, co próbuję zrobić, jest najlepszym sposobem (lub nawet zadziała). Tłum prób i błędów zwykle nie zna odpowiedzi, dopóki nie zmarnują sporego czasu.


Zgadzam się, że cały stopień matematyki byłby przesadą. Przydałby się nieletni z matematyki. Mam nieletnią matematykę i nie żałuję, że wziąłem dodatkowe kursy.
zmiany

Tak, jeśli kiedykolwiek pójdę do szkoły, prawdopodobnie będę mniejszy z matematyki, bez względu na to, z jakiego innego stopnia pójdę. Po prostu wydaje się tak przydatny w wielu dziedzinach, w tym między innymi w programowaniu.
cHao

Właśnie uzyskałem stopień magistra - to wcale nie jest przesada. Stopień matematyki (i wykorzystanie go w programowaniu) nie polega na tym, że będziesz używać umiejętności z każdej klasy, którą bierzesz („człowieku, cieszę się, że nauczyłem się integracji Lebesgue, teraz rozumiem dziedziczenie!”), Ale raczej sposób myślenia, że ​​matematyka zmusza cię do adaptacji. Chciałbym móc powiedzieć to samo o CS (zrobiłem dwa stopnie naukowe) i chociaż wiele klas w tym kierunku pomaga w tworzeniu dobrego rozwiązania problemu, to po prostu nie robi tego w taki sam sposób, jak robi to matematyka. Teraz patrzę na problemy w zupełnie inny sposób, w bardzo dobry sposób.
galois

1

Myślę, że matematyka jest zawsze ważna. Ale więcej informacji na temat programowania pomoże ci w tym przypadku bardziej. Większość złożonych algorytmów jest zamknięta w sobie i jeśli znasz podstawowe pojęcia, takie jak geometria, trygonometria i algebra liniowa, możesz to łatwo uzyskać.

Nawiasem mówiąc, nauka matematyki jest fajna i pomaga ci bardziej niż myślisz, jeśli masz motywację inną niż zdanie egzaminu dyplomowego. : O)


1

posiadanie doświadczenia w matematyce jest świetne ... myślę, że z pewnością otworzy to drzwi do programowania naukowego, a nawet programowania grafiki - te dwa obszary są bardziej intensywne z matematyki ... ma nadzieję, że to pomoże.


0

Pomaga w programowaniu grafiki. Ale to ma więcej wspólnego z programowaniem silnika gry niż z programowaniem gry (pomyśl więcej o programowaniu gier). Programowanie silnika może być tak samo interesujące jak programowanie gier, jeśli naprawdę Ci się podoba. Jednak to zależy od osoby.

Ale jeśli Twoim celem jest programowanie / tworzenie gier, uzyskaj stopień projektowania gry. Skończysz naukę rzeczy, które mogą nie pomóc w projektowaniu gier, jeśli zdobędziesz dyplom z matematyki (matematyka to naprawdę duży przedmiot). Niektóre matematyki pomagają jednak w projektowaniu gier planszowych (np. Matematyka dyskretna i matematyka kombinatoryczna).

Będziesz jednak musiał znać algebrę i trygonometrię do obliczeń. Ale dzięki Internetowi nie jest trudno nauczyć się podstawowych matematyki online, jeśli naprawdę potrzebujesz jej do programowania gier.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.