Ce limbaje de programare ar trebui să învăț pentru dezvoltarea jocurilor video? – Quora

în dezvoltarea jocurilor AAA, inginerii vor folosi în principal C++

dar designerii de jocuri vor folosi în principal creioane, table albe și destul de mult „înjurături” ( un limbaj special construit pentru facilitarea înțelegerii echipei)

o parte din echipa de proiectare a jocurilor ar putea folosi un limbaj de calculator pentru a specifica ce se întâmplă când. În jocuri precum GTA5 – acest tip de codificare este uneori numit scripting. Nu este o programare hardcore. Scrie scenarii pentru evenimente. Această casetă declanșează acest eveniment. Acest lucru se întâmplă dacă el moare, sau dacă ea cade prin acoperiș.

scriptarea se face uneori într-un limbaj preexistent. Uneori este un sistem în casă.

  • Lua este frecvent utilizat pentru scripting.

dacă nu faci jocuri AAA – și au în vedere dezvoltarea mobil Uita-te la.

  • C++ (pentru Android și iOS)
  • Java (pentru Android)
  • C # (pentru aplicații Unity pe mai multe platforme)
  • Objective-C sau Swift (pentru iOS)

și uitați-vă la învățarea diferitelor API-uri care pot accelera dezvoltarea jocului

  • OpenGL ES(grafică API pentru toate platformele)
  • unitate (o soluție motor de joc pentru Jocuri 3D și 2D)
  • cacao (pentru toate aplicațiile iOS)
  • Cocos2D (un API 2D)

deci, ceea ce înveți depinde de unde vrei să mergi.

majoritatea inginerilor de jocuri foarte seniori pe care i-am întâlnit cunosc sistemele informatice într-un mod supă-nuci. Ei sunt arhitecți care știu cum fiecare cui și cărămidă pune împreună. (Și în cazul în care sunt făcute unghiile)

ele sunt la fel de confortabile în asamblare de nivel scăzut. Old school C și limbaje orientate pe obiecte, și poate scrie cod shader toate cu ușurință egală.

inginerii mai seniori sunt însărcinați cu stoarcerea performanțelor miraculoase din hardware-ul aparent lent sau restricționat. Ei pot face acest lucru pentru că știu intuitiv ce va funcționa, ce va fi lent și ce va rade zece cadre pe secundă dintr-o buclă de randare.

această abilitate de optimizare provine dintr-o înțelegere reală a modului în care procesoarele GPU ad sunt implementate în hardware. Unde sunt blocajele și problemele de lățime de bandă. Acest tip de înțelegere are prea puțin de-a face cu limbile.

dacă doriți să învățați această meserie ….

scrie ceva banal în assembler pentru a vedea cum devine opcodes. Și șunturi chestii din memoria principală în registrele CPU.

scrie ceva în C – și a vedea modul în care acest limbaj este tradus în assembler. Vedeți cum sunt păstrate unele date pe stivă, unele pe grămadă, altele în registre.

scrie ceva în C++ și vezi cum se transformă asta în cod.

scrieți ceva în Direct X sau deschideți GL care necesită shadere de noduri și fragmente.

cu alte cuvinte, retrăiți ultimii 30 de ani de dezvoltare a computerului. Și s-ar putea să aveți o idee despre cum funcționează totul.

dacă puteți înțelege cum toate aceste lucruri se potrivesc împreună, s-ar putea dezvolta simțurile păianjen necesare pentru a fi un inginer de joc mare.

dar dacă urăști toate aceste lucruri. Și vreau doar sprite pentru a muta în jurul valorii de pe ecran, și de a face oamenii să zâmbească, atunci ar trebui să ignore, probabil, sfatul meu. Și de a folosi orice API puteți pentru a face viața mai ușoară – și pixeli dans la tonul.

Lasă un răspuns

Adresa ta de email nu va fi publicată.