Hvilke programmeringssprog skal jeg lære til udvikling af videospil? – Kvora

i AAA-spiludvikling bruger ingeniørerne hovedsageligt C++

men spildesignerne bruger hovedsageligt blyanter, tavler og en hel del “Bande” ( et specielt specialbygget sprog til at lette teamforståelse)

nogle af spildesignteamet bruger muligvis et computersprog til at specificere, hvad der sker, når. I spil som GTA5 – kaldes denne type kodning undertiden scripting. Det er ikke hardcore programmering. Det er at skrive scripts til begivenheder. Denne boks udløser denne begivenhed. Denne ting sker, hvis han dør, eller hvis hun falder gennem taget.

Scripting udføres undertiden på et allerede eksisterende sprog. Nogle gange er det et internt system.

  • Lua bruges ofte til scripting.

hvis du ikke gør AAA spil – og overvejer mobil udvikling ser til.

  • C++ (til Android og iOS)
  • Java (til Android)
  • C# (til Unity apps på mange platforme)
  • Mål-C eller hurtig (til iOS)

og se på at lære de forskellige API ‘ er, der kan fremskynde spiludviklingen

  • OpenGL ES (grafik API til alle platforme)
  • enhed (en spilmotorløsning til 3D-og 2D-spil)
  • kakao (til alle iOS-apps)
  • Cocos2D (en 2D API)

så hvad du lærer afhænger af, hvor du vil hen.

de fleste meget senior spilingeniører, jeg har mødt, kender computersystemer på en suppe-til-nødder måde. De er arkitekter, der ved, hvordan hver søm og mursten det sat sammen. (Og hvor neglene er lavet)

de er lige så komfortable i lavt niveau assembler. Old school C og objektorienterede sprog, og kan skrive shader kode alle med lige lethed.

de mere senioringeniører har til opgave at presse mirakuløs ydeevne ud af tilsyneladende langsomt eller begrænset udstyr. De kan gøre dette, fordi de intuitivt ved, hvad der fungerer, hvad der vil være langsomt, og hvad der barberer ti billeder i sekundet fra en gengivelsessløjfe.

denne optimeringsevne kommer fra virkelig at forstå, hvordan CPU ‘er Ad GPU’ er implementeres i udstyr. Hvor flaskehalse og båndbreddeproblemer er. Den slags forståelse har lidt at gøre med sprog.

hvis du vil lære dette håndværk ….

Skriv noget trivielt i assembler for at se, hvordan det bliver opcodes. Og shunts ting fra hovedhukommelsen til CPU-registre.

Skriv noget i C – og se, hvordan dette sprog oversættes til assembler. Se, hvordan nogle data holdes på stakken, nogle på bunken, nogle i registre.

Skriv noget i C++ og se, hvordan det bliver til kode.

Skriv noget i direkte eller åben GL, der kræver toppunkt og fragment shaders.

med andre ord, Genoplev de sidste 30 år med computerudvikling. Og du har måske en anelse om, hvordan det hele fungerer.

hvis du kan forstå, hvordan alle disse ting passer sammen, kan du udvikle de edderkoppesanser, der er nødvendige for at være en god spilingeniør.

men hvis du hader alle disse ting. Og vil bare sprites at bevæge sig rundt på skærmen, og få folk til at smile, så skal du nok ignorere mit råd. Og brug det API, du kan, for at gøre livet let – og billedbilleder danser efter din melodi.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.