Hoe XNA leren

XNA is een game-ontwikkelingsplatform van Microsoft dat kan worden gebruikt om spellen te maken voor Windows, Xbox 360 en Windows Phone. In dit artikel delen we boeken, zelfstudies en suggesties om XNA zo soepel mogelijk te leren.

Geïnteresseerd in andere Gamedev-platforms? Bekijk ook onze handleidingen voor het leren van Unity of Flash!

Wat is XNA?

XNA (oorspronkelijk "Xbox New Architecture", nu simpelweg "XNA's Not Acronymed") is een set .NET-gebaseerde game-ontwikkelingstools, die op Windows draaien - sorry, Mac- en Linux-gebruikers. Games gemaakt met XNA kunnen worden uitgevoerd op Windows, Xbox 360 en Windows Phone 7, met andere projecten zoals MonoXNA en MonoGame die proberen de spellen naar andere platforms te brengen.

De XNA-tools zijn gratis en voor een jaarlijks bedrag kun je je games verkopen via Xbox Live Indie Games (ervan uitgaande dat ze door de peer review worden gehaald) en de Windows Phone 7-marktplaats. (Als je student bent, kun je een jaar gratis het Xbox Live Indie Games-lidmaatschap krijgen.) Windows-games die met XNA zijn gebouwd, kunnen worden verkocht net als Windows-games die met andere tools zijn gebouwd - er is geen officiële marktplaats voor XNA-spellen.

Omdat het XNA Framework is gebouwd op .NET, kan elke .NET-taal technisch worden gebruikt om games mee te maken - hoewel alleen C # en Visual Basic.NET officieel worden ondersteund.

De nieuwste versie van XNA, 4.0, werd in september 2010 uitgebracht met een opfrissing in oktober 2011, dus het is redelijk volwassen en er zijn voldoende middelen voor. Er is geen aankondiging aangekondigd van versie 5.0, dus u hoeft zich geen zorgen te maken dat u XNA 4.0 alleen leert omdat uw kennis meteen achterhaald is.


XNA installeren

Zoals hierboven vermeld, worden de XNA-tools alleen officieel ondersteund op Windows.

Tamelijk verwarrend is de officiële XNA-site de MDSN App Hub, waarvan de downloadpagina een zware Windows Phone-focus heeft - het is niet echt duidelijk wat u moet downloaden als u XNA-games voor Xbox of desktop wilt ontwikkelen.

Het is echter eigenlijk eenvoudig: download en installeer gewoon de Windows Phone SDK 7.1, die alle software en hulpmiddelen bevat die u nodig hebt om te ontwikkelen met XNA voor Windows Phone, Xbox of desktop.

De download bevat Visual Studio Express 2010, maar als u al een betere versie van Visual Studio 2010 hebt, kunt u de XNA-hulpmiddelen afzonderlijk downloaden en installeren: XNA Game Studio 4.0 en XNA Game Studio 4.0 Vernieuwen.

Misschien wil je ook een Xbox 360-controller voor je pc kopen voor testdoeleinden, hoewel dit natuurlijk optioneel is.


De officiële zelfstudie

De MSDN App Hub heeft een inleidende zelfstudie (deels video, deels geschreven) die je helpt bij het bouwen van een eenvoudig schietspel. Het is ongeveer negentig minuten lang, hoewel je kunt verwachten dat je een paar uur zult besteden om het zelf te voltooien, en gebruikt C #, wat ik je zou aanbevelen als je XNA-taal te kiezen, zelfs als je al een andere .NET-taal kent.

Als je het eenmaal hebt voltooid, probeer dan iets te veranderen: de illustratie, de snelheid van de vijanden, de frequentie waarmee de vijanden verschijnen, de kracht van de kogels ... Je zou zelfs een baas kunnen proberen die meerdere hits neemt! Als je zo naar binnen gaat in het spel, kun je zien wat je begrijpt en waar je aan moet werken.

Andere zelfstudies, artikelen en broncodestalen zijn beschikbaar in de inhoudscatalogus van de App Hub. Nogmaals, het kan leuk zijn om gewoon iets te nemen en in de code te graven om te zien of je kunt veranderen hoe het werkt, of een nieuwe functie toe te voegen.

Deze tutorial is bedoeld voor mensen die volledige beginners tot game-ontwikkeling zijn en geen eerdere kennis van programmeren nodig hebben. Ik heb het echter zelf gevolgd en ik vermoed dat als je nog geen ervaring hebt met C # (of een soortgelijke taal zoals Java of AS3), je het overweldigend zult vinden.

Dus denk aan die tutorial als een test: als je het gevoel hebt dat je niet echt begreep wat er aan de hand was, wees maar niet bang - het betekent alleen maar dat je moet leren programmeren ...


C # leren

Als je games met XNA wilt maken, moet je leren programmeren. In plaats van te proberen te leren programmeren en leer tegelijkertijd de ontwikkeling van XNA-spellen, het is eenvoudiger om het programmeren op eigen kracht aan te pakken. Ja, dat betekent dat je dingen moet bouwen die geen games zijn, maar dit zal je helpen om op de lange termijn games te maken.


Hoofd eerste C #

Head First C # is een geweldig boek om mee te beginnen. Het heeft een leuke aanpak; de auteurs gebruiken de lessen van spelontwerpers om het boek te structureren.

Als je hierna nog meer honger hebt, ontvang dan een exemplaar van Essential C # 4.0. Wat je leert van Head First C # is waarschijnlijk genoeg om je te laten meespelen in de ontwikkeling van XNA-games; Essential C # helpt je de zaag te slijpen en een betere C # -programmeur te worden.

Het is handig om een ​​referentie te hebben om niet-vertrouwde sleutelwoorden op te zoeken (zoals een woordenboek voor programmeurs). De MSDN C # -referentie is prima hiervoor, maar als je iets fysiek wilt, ontvang dan een exemplaar van de C # 4.0 Pocket Reference.

Ga opnieuw naar de officiële XNA-zelfstudie nadat je greep hebt gekregen op C # - het zal zoveel logischer zijn!


XNA Books

Oké, dus je begrijpt C # - of je begrijpt tenminste een vergelijkbare programmeertaal. Super goed! Het is tijd om naar XNA te duiken en games te gaan maken.

Er zijn twee geweldige keuzes voor je eerste XNA-boek en ze gaan er beide van uit dat je C # al kent. Kies degene wiens aanpak je het beste bevalt (of gewoon beide!).

Leren XNA 4.0 is een inleiding tot XNA dat een redelijk theoretische benadering vereist. Het leert 2D-game-ontwikkeling en vervolgens 3D-game-ontwikkeling, in de context van het bouwen van games. Een deel van het boek is gewijd aan het uitleggen hoe je games kunt exporteren naar Windows Phone 7 en Xbox.

XNA 4.0 Ontwikkeling van games per voorbeeld heeft een meer praktische of functionele aanpak nodig, waarbij XNA wordt uitgelegd door je te laten zien hoe je vier verschillende spellen maakt. Naast het aanleren van nieuwe concepten helpt het boek je om spellen te maken.

Als je verder wilt gaan na het lezen van een van deze, bekijk dan XNA Game Studio 4.0-programmering. Het gaat veel dieper in XNA en bevat geavanceerd materiaal dat je moet weten als je een serieuze XNA-ontwikkelaar wilt zijn. Voel je echter niet dat je moet haasten om het te kopen, hoewel; zich eerst vertrouwd maken met de basis.


Tutorials op het web

Er is geen gebrek aan XNA-zelfstudies online, maar deze sites bieden de meest uitgebreide handleidingen:

  • RB Whitaker XNA-zelfstudies: deze site bevat een groot aantal XNA-zelfstudies, gerangschikt op onderwerp in een hiërarchie - dus er is enige structuur voor hen, maar je hebt een redelijke hoeveelheid keuze met betrekking tot de volgorde waarin je ze doet in.
  • Shawn Hargreaves 'Blog: Shawn Hargreaves is een van de ontwerpers van XNA, dus het is geen verrassing dat hij een heel diep begrip van het platform heeft. De meeste - maar niet alle - van zijn berichten zijn tutorials. Er is ook een gecategoriseerde lijst met berichten.
  • Riemer's 2D en 3D XNA-tutorials: Riemer heeft een serie over het maken van 2D-shooters en vier series over het maken van 3D-games, verdeeld over 89 individuele tutorials. Zoals hij het zegt, "het belangrijkste doel van deze XNA-tutorials is om mooie resultaten te produceren binnen de kortst mogelijke tijd."
  • XNA Game Programming Adventures: deze site heeft een korte tutorialserie over het bouwen van een baksteenbrekend spel, gericht op beginners, en een enorme serie (meer dan 30 delen lang!) Over het bouwen van een RPG, gericht op meer ervaren ontwikkelaars..
  • Catalin's Blog: Catalin Zima heeft een aantal uitstekende tutorials over vertex-texturen, uitgestelde rendering en pelsweergave in XNA.

Wilt u nog meer? Bekijk Nelxon Studio's XNA Developer's Survival Kit 2, die een enorm aantal bronnen op alle XNA-onderwerpen vermeldt.

Als u referentiemateriaal nodig heeft, bekijk dan de MSDN-bibliotheek op XNA. Voor vragen en antwoorden is er altijd de Game Development Stack Exchange - bekijk de eerder gestelde vragen met de tag XNA 4.0.


Games maken

Dit is slechts een algemene tip: maak voor je eerste game niet iets complexs zoals een MMO, of iets dat enorme hoeveelheden artwork en verhaal vereist als een RPG. Begin met iets eenvoudigs dat je later misschien kunt uitbreiden. Bijvoorbeeld: een spel met één knop zoals Canabalt kan worden uitgebreid om een ​​platformer te creëren; een Pong-kloon kan worden omgezet in een baksteenbrekend spel met meerdere niveaus; een avoider-game zou een kloon van de ruimtevaarder kunnen worden en vervolgens een volledige shoot-'em-up.

Maak je ook geen zorgen over het leren van geavanceerde programmeertechnieken; je hebt de tijd om vat te krijgen met ontwerppatronen en algemene codearchitectuur later. Richt je op het voltooien van sommige games, ook al zijn je eerste games maar klein.


Enorm bedankt aan Stephane Beniak en Michael Hoffman van NullCandy voor hun aanbevelingen! Bekijk hun XNA-zelfstudies en kijk binnenkort naar enkele nieuwe handleidingen hier bij Gamedevtuts +.

Als u suggesties voor XNA-leermiddelen heeft die we hebben gemist, kunt u ons dit laten weten in de opmerkingen. Vergeet ook niet onze andere How to Learn-handleidingen te bekijken!