XNA är en spelutvecklingsplattform från Microsoft som kan användas för att skapa spel för Windows, Xbox 360 och Windows Phone. I den här artikeln delar vi böcker, handledning och förslag till att lära XNA så smidigt som möjligt.
Intresserad av andra gamedev-plattformar? Kolla in våra guider för att lära dig Unity eller Flash!XNA (ursprungligen "Xbox New Architecture", nu bara "XNAs Acronymed") är en uppsättning .NET-baserade spelutvecklingsverktyg, som körs på Windows - tyvärr, Mac och Linux-användare. Spel gjorda med XNA kan köras på Windows, Xbox 360 och Windows Phone 7, med andra projekt som MonoXNA och MonoGame försöker föra spel till andra plattformar.
XNA-verktygen själva är gratis, och för en årlig avgift kan du sälja dina spel via Xbox Live Indie Games (förutsatt att de passerar peer review) och Windows Phone 7-marknaden. (Om du är student kan du få ett års Xbox Live Indie Games-medlemskap gratis.) Windows-spel som är byggda med XNA kan säljas precis som Windows-spel byggda med andra verktyg - det finns ingen officiell marknadsplats för XNA-spel.
Eftersom XNA Framework är byggt på .NET, kan något .NET-språk tekniskt användas för att skapa spel med det - även om endast C # och Visual Basic.NET officiellt stöds.
Den senaste versionen av XNA, 4.0, släpptes i september 2010 med en uppdatering i oktober 2011, så den är ganska mogen och det finns massor av resurser till den. Det har inte blivit något meddelande om version 5.0, så du behöver inte oroa dig för att lära dig XNA 4.0 bara för att din kunskap ska bli omedelbart föråldrad.
Som nämnts ovan stöds XNA-verktygen endast officiellt på Windows.
Snarare förvirrande är den officiella XNA-platsen MDSN App Hub, vars nedladdningssida har ett tungt Windows Phone-fokus - det är inte riktigt klart vad du behöver ladda ner om du vill utveckla XNA-spel till Xbox eller skrivbordet.
Men det är faktiskt enkelt: bara ladda ner och installera Windows Phone SDK 7.1, som innehåller all programvara och verktyg du behöver utveckla med XNA för Windows Phone, Xbox eller skrivbord.
Nedladdningen innehåller Visual Studio Express 2010, men om du redan har en bättre version av Visual Studio 2010 kan du ladda ner och installera XNA-verktygen separat: XNA Game Studio 4.0 och XNA Game Studio 4.0 Uppdatera.
Du kanske också vill köpa en Xbox 360-kontroller för din dator för teständamål, men det är självklart det här alternativet.
MSDN App Hub har en introduktionshandledning (delvideo, delskriven) som går igenom ett enkelt skjutspel. Det handlar om nittio minuter långt, men du kan förvänta dig att spendera några timmar och faktiskt fullbordar det själv och använder C #, som jag rekommenderar att du väljer som ditt XNA-språk även om du redan vet ett annat. NET-språk.
När du har slutfört det, försök ändra något: konstverket, fiendernas hastighet, hur ofta fienderna dyker upp, kraften på kulorna ... Du kan till och med försöka göra en chef som tar flera träffar! Att gräva in i spelet så här hjälper dig att se vad du förstår och vad du behöver jobba på.
Andra tutorials, artiklar och källkodsprover finns i App Hub-innehållskatalogen. Återigen kan det vara roligt att bara ta något och gräva i koden för att se om du kan ändra hur det fungerar eller lägga till en ny funktion.
Förmodligen riktar sig denna handledning till personer som är kompletta nybörjare till spelutveckling, och kräver ingen tidigare kunskap om programmering. Men efter att ha följt det själv, misstänker jag att om du inte redan har erfarenhet av C # (eller ett liknande språk som Java eller AS3), hittar du det överväldigande.
Så tänk på den handledningen som ett test: om du känner att du inte riktigt förstod vad som hänt, var inte fret - det betyder bara att du behöver lära dig att koda ...
Om du vill skapa spel med XNA måste du lära dig att programmera. Snarare än att försöka lära sig att programmera och Lär dig XNA-spelutveckling samtidigt, det är lättare att ta itu med programmering på egen hand. Ja, det betyder att bygga saker som inte är spel, men det hjälper dig att skapa spel på lång sikt.
Head First C # är en bra bok att börja med. Det har en rolig inställning; Författarna använder faktiskt lärdomar från speldesigners att strukturera boken.
Om du är hungrig efter mer efter det här får du en kopia av Essential C # 4.0. Vad du kommer att lära av Head First C # är nog nog att låta dig hoppa in i XNA-spelutveckling. Viktig C # hjälper dig att skärpa sågen och bli en bättre C # programmerare.
Det är praktiskt att få en hänvisning till att titta på okända sökord (som en ordlista för programmerare). MSDN C # -referensen är bra för detta, men om du vill ha något fysiskt, få en kopia av C # 4.0 Fickreferens.
Gå på den officiella XNA-handledningen igen efter att du tagit tag i C # - det kommer att göra så mycket mer mening!
Okej, så du förstår C # - eller åtminstone förstår du ett liknande programmeringsspråk. Bra! Det är dags att dyka in till XNA och börja spela spel.
Det finns två stora val för din första XNA-bok, och de antar att du redan vet C #. Välj den vars inställning du tycker är bäst (eller bara få båda!).
Learning XNA 4.0 är en introduktion till XNA som tar en ganska teoretisk inriktning. Det lär ut 2D-spelutveckling och sedan 3D-spelutveckling, i samband med byggspel. En del av boken ägnas åt att förklara hur du exporterar dina spel till Windows Phone 7 och Xbox.
XNA 4.0 Game Development genom exempel tar en mer praktisk eller funktionell metod som förklarar XNA genom att visa dig hur man gör fyra separata spel. Förutom att du lär dig nya koncept hjälper boken dig att öva att skapa spel.
Om du vill gå vidare efter att ha läst någon av dem, kolla in XNA Game Studio 4.0 Programmering. Det går mycket djupare in i XNA, och innehåller avancerat material som du behöver veta om du vill vara en seriös XNA-utvecklare. Tror inte att du behöver rusa för att köpa den, men; bli bekväm med grunderna först.
Det finns ingen brist på XNA-handledning online, men dessa webbplatser erbjuder de mest omfattande guiderna:
Vill du ha mer? Kolla in Nelxon Studios XNA Developer's Survival Kit 2, som innehåller ett stort antal resurser på alla XNA-ämnen.
Om du behöver lite referensmaterial, kolla in MSDN Library on XNA. För frågor och svar finns det alltid Game Development Stack Exchange - ta en titt på de tidigare frågade frågorna taggade XNA 4.0.
Detta är bara ett allmänt tips: för ditt första spel, gör inte något komplicerat som en MMO, eller något som kräver enorma mängder av konstverk och historia som en RPG. Börja med något enkelt att du kanske kan expandera senare. Till exempel: Ett enda knappspel som Canabalt kan utökas för att skapa en plattformsapparat; en Pong klon kan omvandlas till ett brick-breaking spel med flera nivåer; ett undvikarspel kan bli en rymdinduktörskloon och sedan en fullblåst skjutspel.
Oroa dig inte om att lära dig avancerad programmeringsteknik ganska, heller; du får tid att ta tag i designmönster och generell kodarkitektur senare. Fokusera på att avsluta några spel, även om dina första kommer bara att vara små.
Stort tack till Stephane Beniak och Michael Hoffman från NullCandy för deras rekommendationer! Kolla in deras XNA-handledning, och se upp för några nya handledning från dem här på Gamedevtuts + snart.
Om du har några förslag på XNA-lärande resurser som vi har missat, vänligen meddela oss i kommentarerna. Glöm inte att kolla in våra andra hur man läser guider också!