Cum de a învăța XNA

XNA este o platformă de dezvoltare a jocului de la Microsoft care poate fi utilizată pentru a crea jocuri pentru Windows, Xbox 360 și Windows Phone. În acest articol, vom împărtăși cărți, tutoriale și sugestii pentru a învăța cât mai ușor posibil XNA.

Interesat de alte platforme gamedev? Consultați ghidurile noastre pentru învățarea Unity sau Flash, de asemenea!

Ce este XNA?

XNA (inițial "Xbox New Architecture", acum pur și simplu "XNA's Not Acronymed") este un set de instrumente de dezvoltare a jocului bazate pe .NET, care rulează pe utilizatorii de Windows - sorry, Mac și Linux. Jocurile realizate cu XNA pot fi difuzate pe Windows, Xbox 360 și Windows Phone 7, alte proiecte precum MonoXNA și MonoGame încercând să aducă jocurile pe alte platforme.

Instrumentele XNA în sine sunt gratuite, iar pentru o taxă anuală puteți să vă vindeți jocurile prin jocurile Xbox Live Indie (presupunând că trec recenzia colegilor) și pe piața Windows Phone 7. (Dacă sunteți student, puteți obține gratuit un an de membru al Xbox Live Indie Games.) Jocurile Windows construite cu XNA pot fi vândute la fel ca jocurile Windows construite cu orice alte instrumente - nu există o piață oficială pentru jocurile XNA.

Deoarece XNA Framework este construit pe .NET, orice limbaj .NET poate fi folosit tehnic pentru a face jocuri cu el - deși numai C # și Visual Basic.NET sunt suportate oficial.

Ultima versiune a XNA, 4.0, a fost lansată în septembrie 2010, cu o actualizare în octombrie 2011, deci este destul de matură și există o mulțime de resurse pentru aceasta. Nu a fost anunțat versiunea 5.0, deci nu trebuie să vă faceți griji cu privire la învățarea XNA 4.0 numai pentru ca cunoștințele dvs. să devină imediat depășite.


Instalarea XNA

După cum sa menționat mai sus, instrumentele XNA sunt acceptate oficial doar pe Windows.

Mai degrabă confuz, site-ul oficial XNA este MDSN App Hub, a cărui pagină Descărcare are un focus greu pentru Windows Phone - nu este foarte clar ce trebuie să descărcați dacă doriți să dezvoltați jocuri XNA pentru Xbox sau desktop.

Cu toate acestea, este simplu: descărcați și instalați Windows Phone SDK 7.1, care conține toate programele și instrumentele de care aveți nevoie pentru a vă dezvolta cu XNA pentru Windows Phone, Xbox sau desktop.

Descărcarea include Visual Studio Express 2010, dar dacă aveți deja o versiune mai bună a Visual Studio 2010, puteți descărca și instala instrumentele XNA separat: XNA Game Studio 4.0 și XNA Game Studio 4.0 Refresh.

S-ar putea să doriți, de asemenea, să cumpărați un controler Xbox 360 pentru PC-ul dvs. în scopuri de testare, desigur, acest lucru este opțional.


Tutorialul oficial

Aplicația Hub MSDN are un tutorial introductiv (parte video, parte scrisă) care vă face să construiți un simplu joc de shooter. Este de aproximativ nouăzeci de minute, deși vă puteți aștepta să petreceți câteva ore de fapt completându-l singur și folosiți C #, pe care aș recomanda să-l alegeți ca limbă XNA chiar dacă cunoașteți deja o altă limbă .NET.

După ce ați terminat-o, încercați să schimbați ceva: opera de artă, viteza dușmanilor, frecvența la care apar vrăjmașii, puterea gloanțelor ... Puteți încerca chiar să faci un șef care să ia mai multe lovituri! Să te joci în acest joc te va ajuta să vezi ce înțelegi și de ce trebuie să lucrezi.

Alte tutoriale, articole și eșantioane de cod sursă sunt disponibile în catalogul de conținut al aplicației Hub. Din nou, poate fi distractiv să luați ceva și să explorați codul pentru a vedea dacă puteți schimba modul în care funcționează sau puteți adăuga o funcție nouă.

Se presupune că acest tutorial este destinat persoanelor care sunt începători compleți în dezvoltarea jocurilor și nu necesită cunoștințe anterioare despre programare. Cu toate acestea, după ce am urmat-o eu, bănuiesc că, dacă nu aveți deja experiență în C # (sau un limbaj similar cu Java sau AS3), veți găsi o coplesitoare.

Deci gândiți-vă la acest tutorial ca pe un test: dacă simțiți că nu ați înțeles cu adevărat ce se întâmplă, atunci nu vă îngrijorați - înseamnă doar că trebuie să învățați să codificați ...


Învățarea C #

Dacă doriți să faceți jocuri cu XNA, va trebui să învățați să programați. Mai degrabă decât să încercați să învățați să programați și aflați dezvoltarea jocului XNA în același timp, este mai ușor să abordați programarea pe cont propriu. Da, asta înseamnă construirea de lucruri care nu sunt jocuri, dar acest lucru vă va ajuta să faceți jocuri pe termen lung.


Capul Primul C #

Head First C # este o carte excelentă pentru a începe cu. Are o abordare distractivă; autorii folosesc de fapt lecțiile învățate de la designerii de jocuri pentru a structura cartea.

Dacă vă mai e foame pentru mai mult după aceasta, obțineți o copie a Essential C # 4.0. Ce veți învăța de la Head First C # este probabil suficient pentru a vă permite să sariți la dezvoltarea jocului XNA; C # esențiale vă va ajuta să vă ascuțiți ferăstrăul și să deveniți un programator mai bun C #.

Este util să aveți o referință pentru a căuta cuvinte cheie necunoscute (cum ar fi un dicționar pentru programatori). Referința MSDN C # este bine pentru acest lucru, dar dacă doriți ceva fizic, obțineți o copie a C # 4.0 Pocket Reference.

Mergeți la tutorialul oficial al XNA din nou, după ce vă faceți griji cu C # - va face mult mai mult sens!


Carti XNA

Bine, deci înțelegi C # - sau măcar înțelegi un limbaj de programare similar. Grozav! Este timpul sa va aruncati la XNA si sa incepeti sa faceti jocuri.

Există două opțiuni grozave pentru prima ta carte XNA, și ambele presupun că deja cunoști C #. Alegeți pe cel al cărui abordare credeți că vă va plăcea cel mai bine (sau pur și simplu obțineți amândouă!).

Learning XNA 4.0 este o introducere la XNA care are o abordare destul de teoretică. Predă dezvoltarea de jocuri 2D și apoi dezvoltarea jocurilor 3D, în contextul construirii de jocuri. O parte a cărții este dedicată explicării modului de exportare a jocurilor dvs. în Windows Phone 7 și Xbox.

XNA 4.0 Dezvoltarea jocului prin exemplu folosește o abordare mai practică sau funcțională, explicând XNA, arătându-vă cum să faceți patru jocuri separate. Pe lângă învățarea noilor concepte, cartea vă ajută să faceți exerciții de a face jocuri.

Dacă doriți să mergeți mai departe după ce ați citit oricare dintre acestea, verificați programul XNA Game Studio 4.0 Programming. Acesta merge mult mai adânc în XNA, și conține un material avansat care va trebui să știți dacă doriți să fiți un dezvoltator serios XNA. Nu simți că trebuie să te grăbești să o cumperi; obțineți confortabil cu elementele de bază, în primul rând.


Tutoriale pe Web

Nu există o lipsă de tutoriale XNA online, dar aceste site-uri oferă cele mai cuprinzătoare ghiduri:

  • RB Whitaker XNA Tutorials: Acest site are un număr mare de tutoriale XNA, aranjate în funcție de subiect într-o ierarhie - deci există o structură pentru ele, dar aveți o cantitate suficientă de alegere în ceea ce privește ordinea în care le faceți.
  • Shawn Hargreaves Blog: Shawn Hargreaves este unul dintre designerii XNA, deci nu este deloc surprinzător faptul că el are o înțelegere foarte profundă a platformei. Majoritatea - dar nu toate - posturilor sale sunt tutoriale. Există, de asemenea, o listă categorică de postări.
  • Riemer 2D și 3D XNA Tutoriale: Riemer are o serie de realizări de împușcături 2D și patru serii de jocuri 3D, împărțită în peste 89 de tutoriale individuale. După cum spune el, "scopul principal al acestor tutoriale XNA este să producă rezultate frumoase în cel mai scurt timp posibil".
  • Programul de aventuri XNA de programare: Acest site are o scurtă serie de tutori despre construirea unui joc de rupere a cărămizilor, destinat începătorilor, și o serie imensă (peste 30 de părți!) Pentru construirea unui RPG destinat dezvoltatorilor mai experimentați.
  • Blogul lui Catalin: Catalin Zima are câteva tutoriale excelente pe texturile vârfurilor, randarea amânată și redarea blănurilor în XNA.

Vrei și mai mult? Check out Kitul de supraviețuire XNA Developer al lui Nelxon Studio, care afișează un număr imens de resurse pe toate subiectele XNA.

Dacă aveți nevoie de materiale de referință, consultați Biblioteca MSDN pe XNA. Pentru întrebări și răspunsuri, există întotdeauna Game Development Stack Exchange - aruncați o privire la întrebările puse anterior, etichetate cu XNA 4.0.


Faceți jocuri

Acesta este doar un sfat general: pentru primul joc, nu faceți ceva complex ca un MMO sau ceva care necesită cantități uriașe de artă și poveste ca un RPG. Începeți cu ceva simplu, pentru a vă putea extinde mai târziu. De exemplu: un singur joc de buton cum ar fi Canabalt ar putea fi extins pentru a crea un platformer; o clona Pong ar putea fi transformată într-un joc de rupere cu cărămizi cu nivele multiple; un joc de avoider ar putea deveni o clona de invadatori ai spațiului și apoi un "shoot-up-up".

Nu vă faceți griji cu privire la învățarea tehnicilor avansate de programare încă; veți avea timp să vă ocupați de modelele de design și de arhitectura generală a codurilor mai târziu. Concentrați-vă pe finalizarea unor jocuri, chiar dacă primele dvs. vor fi mici.


O mulțime de mulțumiri lui Stephane Beniak și Michael Hoffman de la NullCandy pentru recomandările lor! Check out tutoriale XNA lor, și să ia grijă de unele tutoriale noi de la ei aici la Gamedevtuts + în curând.

Dacă aveți sugestii pentru resursele de învățare XNA pe care le-am pierdut, vă rugăm să ne anunțați în comentarii. Nu uitați să verificați și celelalte ghiduri despre cum să învățați!