XNA er en spillutviklingsplattform fra Microsoft som kan brukes til å lage spill til Windows, Xbox 360 og Windows Phone. I denne artikkelen deler vi bøker, opplæringsprogrammer og forslag til å lære XNA så jevnt som mulig.
Interessert i andre gamedev plattformer? Sjekk ut våre guider for å lære Unity eller Flash også!XNA (opprinnelig "Xbox New Architecture", nå bare "XNA's Not Acronymed") er et sett med .NET-baserte spillutviklingsverktøy, som kjører på Windows - beklager, Mac og Linux-brukere. Spill laget med XNA kan kjøres på Windows, Xbox 360 og Windows Phone 7, med andre prosjekter som MonoXNA og MonoGame prøver å bringe spillene til andre plattformer.
XNA-verktøyene selv er gratis, og for en årlig avgift kan du selge spillene dine via Xbox Live Indie Games (forutsatt at de passerer peer review) og Windows Phone 7-markedet. (Hvis du er student, kan du få et års Xbox Live Indie Games-medlemskap gratis.) Windows-spill bygget med XNA kan selges akkurat som Windows-spill bygget med andre verktøy - det er ingen offisiell markedsplass for XNA-spill.
Siden XNA Framework er bygget på .NET, kan ethvert .NET-språk teknisk sett brukes til å lage spill med det - selv om bare C # og Visual Basic.NET støttes offisielt.
Den nyeste versjonen av XNA, 4.0, ble utgitt i september 2010 med en oppdatering i oktober 2011, så den er ganske moden, og det er mange ressurser for det. Det har ikke vært noen kunngjøringer om versjon 5.0, så du trenger ikke bekymre deg for å lære XNA 4.0 bare for din kunnskap å bli umiddelbart foreldet.
Som nevnt ovenfor, er XNA-verktøyene kun støttet offisielt på Windows.
Snarere forvirrende, den offisielle XNA-siden er MDSN App Hub, hvis nedlastingsside har et tungt Windows Phone-fokus - det er ikke helt klart hva du trenger å laste ned hvis du vil utvikle XNA-spill til Xbox eller skrivebord.
Men det er faktisk enkelt: Bare last ned og installer Windows Phone SDK 7.1, som inneholder all programvare og verktøy du trenger for å utvikle med XNA for Windows Phone, Xbox eller skrivebord.
Nedlastingen inkluderer Visual Studio Express 2010, men hvis du allerede har en bedre versjon av Visual Studio 2010, kan du laste ned og installere XNA-verktøyene separat: XNA Game Studio 4.0 og XNA Game Studio 4.0 Oppdatering.
Du vil kanskje også kjøpe en Xbox 360-kontroller til din PC for test, selv om det selvsagt er valgfritt.
MSDN App Hub har en innledende opplæring (del video, del skrevet) som går deg gjennom å bygge et enkelt skytespill. Det handler om nitti minutter lang, men du kan forvente å tilbringe noen timer å faktisk fullføre det selv, og bruker C #, som jeg vil anbefale at du velger som ditt XNA-språk, selv om du allerede vet et annet. NET-språk.
Når du har fullført det, prøv å endre noe: kunstverket, fienderens fart, hvor ofte fiender vises, kraften i kulene ... Du kan til og med prøve å lage en sjef som tar flere treff! Graving inn i spillet som dette vil hjelpe deg med å se hva du forstår og hva du trenger å jobbe med.
Andre opplæringsprogrammer, artikler og kildekodeprøver er tilgjengelige i App Hub-innholdskatalogen. Igjen kan det være morsomt å bare ta noe og grave inn i koden for å se om du kan endre hvordan det fungerer, eller legge til en ny funksjon.
Formentlig er denne opplæringen rettet mot folk som er komplette nybegynnere til spillutvikling, og krever ingen tidligere kunnskap om programmering. Men etter å ha fulgt det selv, mistenker jeg at hvis du ikke allerede har erfaring i C # (eller et lignende språk som Java eller AS3), finner du det overveldende.
Så tenk på den opplæringen som en prøve: Hvis du føler at du ikke virkelig forstod hva som foregikk, så vær ikke frykt - det betyr bare at du trenger å lære å kode ...
Hvis du vil lage spill med XNA, må du lære å programmere. Snarere enn å prøve å lære å programmere og lær XNA spillutvikling på samme tid, det er lettere å håndtere programmering alene. Ja, det betyr å bygge ting som ikke er spill, men dette vil hjelpe deg med å lage spill i det lange løp.
Head First C # er en flott bok å begynne med. Den har en morsom tilnærming; forfatterne bruker faktisk erfaringer fra spilldesignere til å strukturere boken.
Hvis du er sulten etter mer etter dette, få en kopi av Essential C # 4.0. Hva du lærer fra Head First C # er nok nok til å la deg hoppe inn i XNA spillutvikling; Essential C # vil hjelpe deg å skjerpe saga og bli en bedre C # programmerer.
Det er praktisk å få en referanse til å slå opp ukjente søkeord (som en ordbok for programmerere). MSDN C # referansen er bra for dette, men hvis du vil ha noe fysisk, få en kopi av C # 4.0 Pocket Reference.
Gå på den offisielle XNA-opplæringen igjen etter at du har tatt hånden med C # - det vil gjøre så mye mer fornuftig!
Ok, så du forstår C # - eller i det minste forstår du et lignende programmeringsspråk. Flott! Det er på tide å dykke inn i XNA og begynne å lage spill.
Det er to gode valg for din første XNA-bok, og de antar at du allerede kjenner C #. Velg den hvis tilnærming du tror du vil like best (eller bare få begge!).
Læring XNA 4.0 er en introduksjon til XNA som tar en temmelig teoretisk tilnærming. Den lærer 2D spillutvikling og deretter 3D-spillutvikling, i sammenheng med byggespill. En del av boken er viet til å forklare hvordan du eksporterer spillene dine til Windows Phone 7 og Xbox.
XNA 4.0 Game Development by Example tar en mer praktisk eller funksjonell tilnærming, som forklarer XNA ved å vise deg hvordan du lager fire separate spill. I tillegg til å lære deg nye konsepter, hjelper boken deg med å lage spill.
Hvis du vil gå videre etter å ha lest noen av dem, sjekk ut XNA Game Studio 4.0 Programmering. Den går mye dypere inn i XNA, og inneholder avansert materiale som du trenger å vite om du vil være en seriøs XNA-utvikler. Ikke føler at du trenger å skynde seg for å kjøpe den, skjønt; bli komfortabel med det grunnleggende, først.
Det er ingen mangel på XNA-opplæringsprogrammer på nettet, men disse nettstedene tilbyr de mest omfattende veiledningene:
Vil du ha enda mer? Ta en titt på Nelxon Studios XNA Developer's Survival Kit 2, som viser et stort antall ressurser på alle XNA-emner.
Hvis du trenger noe referansemateriale, sjekk ut MSDN Library on XNA. For spørsmål og svar, er det alltid Game Development Stack Exchange - ta en titt på de tidligere stilte spørsmålene som er merket XNA 4.0.
Dette er bare et generelt tips: For ditt første spill, gjør ikke noe komplisert som en MMO, eller noe som krever enorme mengder kunstverk og historie som en RPG. Begynn med noe enkelt at du kanskje kan utvide senere. For eksempel: Et enkeltknappspill som Canabalt kan bli utvidet til å lage en plattformspiller; en Pong klon kan bli omgjort til et mursteinspill med flere nivåer; et avoider spill kan bli en space invaders klone og deretter en fullblåst shoot-'em-up.
Ikke bekymre deg for å lære avanserte programmeringsteknikker heller, heller; du får tid til å ta tak i designmønstre og generell kodearkitektur senere. Fokuser på å fullføre noen spill, selv om de første blir bare små.
Stor takk til Stephane Beniak og Michael Hoffman fra NullCandy for deres anbefalinger! Sjekk ut deres XNA-opplæringsprogrammer, og se etter noen nye opplæringsprogrammer fra dem her hos Gamedevtuts + snart.
Hvis du har noen forslag til XNA-læringsressurser som vi har savnet, vennligst gi oss beskjed i kommentarene. Ikke glem å sjekke ut våre andre Hvordan lære lærere også!