Jestem programistą gier 2D. Niektóre języki programowania, w których jestem dobry, to C, Java, C #. Znam też ActionScript 2.0.3.0 i trochę javascript. Jestem zainteresowany nauką programowania gier 3D. Do tej pory gromadziłem informacje, przeglądając i czytając różne fora i artykuły dotyczące gier. Zauważyłem, że większość programistów woli C ++, a także na kursie programowania gier online zauważyłem, że wolą uczyć C ++ i Visual C ++ jako kursu początkowego. Powód, dla którego zadaję to pytanie, ponieważ chciałbym poznać różnicę „siły” C ++, C # i Java do programowania gier 3D.
Dołącz także linki do dobrych artykułów na temat programowania gier 3D dla już programisty gier 2d.
PS: IMHO, uważam też, że C ++ jest tajemniczy.
c++
3d
game-industry
Wisznu
źródło
źródło
Odpowiedzi:
Tak, C ++ jest najczęściej używanym językiem (choć niektórzy ludzie nadal używają C).
Jest tego wiele przyczyn. Sama pęd jest jeden - to po prostu język używany od lat, wiele technologii już istnieje i ludzie czują się z tym dobrze, więc zmiana nie nastąpi z dnia na dzień.
Potem jest kwestia kontroli. Twórcy gier są maniakami kontroli i lubimy wiedzieć wszystko, co dzieje się w naszym kodzie. C ++ daje nam kontrolę, C # i Java (aby wybrać dwie wspomniane alternatywy) odbierają kontrolę. Na wiele sposobów może to być dobre, ale programistom się to nie podoba :)
Wreszcie jest prosty praktyczny problem, że zestawy SDK dla różnych platform są bardzo skoncentrowane na C ++. Używanie innego języka nieuchronnie wiąże się z pisaniem opakowań, kompilacją krzyżową do maszyn wirtualnych i być może (w przypadku niektórych prac konsolowych) właściciel platformy nie zezwala na to (naprawdę nie lubią ludzi kompilujących JIT, na początek).
źródło
Nadal preferowane jest C ++, jak widać na niemal każdej publikacji na temat tworzenia gier. Obecnie osobiście używam C do nurkowania w tworzeniu gier z tego prostego powodu, że kod C ++, który piszę, narusza funkcje szablonów, intensywnie wykorzystuje RAII, dynamiczną alokację pamięci i inne rzeczy, których nie powinieneś robić w kodzie gry z tego, co widziałem jak dotąd.
Trzymanie się C zmusza mnie do minimalistycznego myślenia o tym, co robię. Czasami może być trudniej, gdy trzeba zaimplementować coś, co STL daje ci za darmo, ale z drugiej strony wydaje mi się, że piszę czystszy kod i lepiej debuguję to.
źródło
Osobiście nie jestem fanem C ++ i wolę Javę. Jednak większość ludzi w branży korzysta z niego i jest to najłatwiejszy język do konwersji na inne platformy bez opakowań i maszyn wirtualnych.
Czasami jednak inne języki działają całkiem dobrze w tworzeniu gier. Używam Java z LWJGL i to jest niesamowite. Więc jeśli chcesz zacząć od programowania 3D i OpenGL bez konieczności nauki C ++, wypróbuj LWJGL z Javą, ponieważ jest bardzo lekki i myślę, że to właściwie kod C ++ działający przez JNI.
Być może na dłuższą metę możesz chcieć przejść na C ++, ale możesz zacząć i ćwiczyć z C # lub Javą. Ponieważ większość kodu gry pochodzi z doświadczenia z językiem, ale powinieneś spróbować ćwiczyć OpenGL w języku, w którym czujesz się swobodnie. Ponadto, gdy ćwiczysz grafikę, powinieneś również wypróbować GLSL z OpenGL, ma on bardzo podobną do C składnię
źródło