w tworzeniu gier AAA inżynierowie będą głównie używać C++
, ale projektanci gier będą głównie używać ołówków, tablic i sporo „przeklinania” ( specjalnie zaprojektowany język ułatwiający zrozumienie zespołu)
niektórzy z zespołu projektantów gier mogą używać języka komputerowego, aby określić, co się dzieje, kiedy. W grach takich jak GTA5-ten rodzaj kodowania jest czasami nazywany skryptami. To nie jest hardkorowe programowanie. To pisanie scenariuszy wydarzeń. To pole uruchamia to zdarzenie. To się stanie, jeśli on umrze, albo jeśli ona spadnie z dachu.
skrypty są czasami wykonywane w istniejącym wcześniej języku. Czasami jest to system wewnętrzny.
- Lua jest powszechnie używany do skryptów.
jeśli nie robisz gier AAA-i rozważasz rozwój mobilny poszukaj.
- C++ (dla Androida i iOS)
- Java (dla Androida)
- C# (dla aplikacji Unity na wielu platformach)
- Objective-C lub Swift (dla iOS)
i spójrz na naukę różnych interfejsów API, które mogą przyspieszyć tworzenie gier
- OpenGL ES (interfejs graficzny dla wszystkich platform)
- Unity (silnik gry dla gier 3D i 2D)
- Cocoa (dla wszystkich aplikacji na iOS)
- Cocos2D (interfejs 2D)
to, czego się nauczysz, zależy od tego, gdzie chcesz się udać.
większość starszych inżynierów gier, których spotkałem, zna systemy komputerowe w sposób zupy do orzechów. Są to architekci, którzy wiedzą, jak każdy gwóźdź i cegła to razem. (I gdzie gwoździe są wykonane)
są równie wygodne w asemblerze niskiego poziomu. Old school C i języków obiektowych, i może pisać kod shadera wszystko z równą łatwością.
starsi inżynierowie mają za zadanie wycisnąć cudowną wydajność z pozornie wolnego lub ograniczonego sprzętu. Mogą to zrobić, ponieważ intuicyjnie wiedzą, co będzie działać, co będzie wolne, a co będzie golić dziesięć klatek na sekundę z pętli renderowania.
ta umiejętność optymalizacji pochodzi z prawdziwego zrozumienia, w jaki sposób Procesory CPU i GPU są implementowane w sprzęcie. Gdzie są wąskie gardła i problemy z przepustowością. Takie rozumienie ma niewiele wspólnego z językami.
jeśli chcesz nauczyć się tego rzemiosła ….
Napisz coś trywialnego w assemblerze, aby zobaczyć, jak to staje się opcodes. I przenosi rzeczy z pamięci głównej do rejestrów procesora.
Napisz coś w C-i zobacz jak ten język jest przetłumaczony na asembler. Zobacz, jak niektóre dane są przechowywane na stosie, niektóre na stosie, niektóre w rejestrach.
Napisz coś w C++ i zobacz jak to się zmieni w kod.
Napisz coś w Direct X lub Open GL, co wymaga cieniowania wierzchołków i fragmentów.
innymi słowy, przeżyj Ostatnie 30 lat rozwoju komputera. I możesz mieć pojęcie, jak to wszystko działa.
jeśli zrozumiesz, jak to wszystko do siebie pasuje, możesz rozwinąć zmysły pająka potrzebne do bycia świetnym inżynierem gry.
ale jeśli nienawidzisz tego wszystkiego. I po prostu chcesz, aby sprity poruszały się po ekranie i wywoływały uśmiech, to powinieneś zignorować moją radę. I użyj dowolnego API, aby ułatwić życie-a piksele tańczą do twojej melodii.